Herodotos Herodotou
Herodotos Herodotou is an Associate Professor in the Electrical Engineering and Computer Engineering and Informatics (EECEI) department at the Cyprus University of Technology, where he is leading the Data Intensive Computing Research Lab.
He received his Ph.D. and M.Sc. degrees in Computer Science from Duke University in May 2012 and May 2009, respectively. He completed his undergraduate studies at the University of Maryland, Baltimore County (UMBC) in May 2007 as a double major in Computer Science and Mathematics. His Ph.D. dissertation work titled "Automatic Tuning of Data-Intensive Analytical Workloads" received the SIGMOD Jim Gray Doctoral Dissertation Award Honorable Mention as well as the Outstanding Ph.D. Dissertation Award in Computer Science at Duke.
His research interests are in large-scale Data Processing Systems and Database Systems. In particular, his work focuses on ease-of-use, manageability, and automated tuning of both centralized and distributed data-intensive computing systems.In addition, he is interested in applying database and machine learning techniques in other areas like maritime informatics, scientific computing, bioinformatics, and social computing.
In the past, Dr. Herodotou worked in Microsoft Research as a Senior Research SDE in the Data Management, Exploration and Mining (DMX) group. He was involved in several research projects related to cloud computing spanning compute, storage, and networking in world-wide datacenters. His work experience also includes research internships at Yahoo! Labs and Aster Data as well as software engineering internships at Microsoft and RWD Technologies.
The main research fields Dr. Herodotou is currently working on are:
- Large-scale data processing systems (e.g., MapReduce, Spark)
- Centralized and distributed database systems
- Cloud computing (compute, storage, and networks)
As a strong supporter of applied research, he focuses on innovating and solving technically challenging problems in the areas of information management, infrastructure for large-scale cloud database systems, reducing the total cost of ownership of information management systems, enabling flexible ways to query, browse and organize rich data sets containing both structured and unstructured data, and the automated management of database and data processing systems.
Publications List: https://dicl.cut.ac.cy/publications
Google Scholar: http://scholar.google.com/citations?user=jyykiFIAAAAJ&hl=en
US Patent 9,367,601 B2. Cost-Based Optimization of Configuration Parameters and Cluster Sizing for Hadoop. June 2016.
US Provisional Patent DU4146PROV. Systems and Methods for Cost-Based Optimization for MapReduce Workflows. March 2013.
Ongoing Research Projects: https://dicl.cut.ac.cy/research/ongoingprojects
Completed Research Projects: https://dicl.cut.ac.cy/research/completedprojects
Funding Sources: https://dicl.cut.ac.cy/research/funding
Service and Invited Talks: https://dicl.cut.ac.cy/people/coordinator
CEI 325 - Database Systems
The course gives a solid background in databases with a focus on relational database management systems. Topics include data modeling, database design theory and methodology, data definition and manipulation languages, storage and indexing techniques, query processing and optimization, transactions, concurrency control, and recovery. The course also covers fundamentals of database management system architecture and techniques for database application development.
CEI 467/526 - Advanced Topics in Data Processing Systems
The need to store and process massive amounts of data has led to the evolution of existing database systems while a new breed of data processing systems has emerged. This course covers a spectrum of topics from core techniques in relational data management to highly-scalable data processing using parallel database systems and MapReduce. First, the course covers the basic principles in database query processing and optimization, including index structures, sort and join processing, query rewrites, and physical plan selection. Next, the course covers topics from parallel and distributed databases, including data partitioning and distributed join algorithms. Finally, the course covers scalable data processing systems such as MapReduce and NoSQL databases (column, document, and key-value stores). The course material will be drawn from textbooks as well as recent research literature. Prerequisite background: Basic database knowledge.
CEI 226 - Algorithms and Complexity
The course focuses on the design and analysis of efficient algorithms and their complexity. In particular, the course covers various topics including algorithm analysis, asymptotic analysis, recurrence relations, divide-and-conquer algorithms, dynamic programming, greedy algorithms, graph representation, graph search, minimum spanning trees, shortest paths, maximum flow, NP-Completeness, and approximation algorithms. Prerequisite background: Data Structures.