ResearchMy research aims to develop tools and systems for the development and efficient execution of parallel and distributed software. I am interested in programming languages, software engineering, type systems and static analysis, and their applications on concurrent and distributed software, and in particular scientific and big data computations.
ProjectsIn the EuroEXA project, I work on programming models and runtime systems that facilitate the development, distribution, and scaling of exascale applications to novel hardware. In the ETAK project, I work on automating the deployment and efficient scheduling of earthquake and building simulations as services hosted in the cloud.
Past ProjectsI coordinated Project ASAP, which focused on designing, developing, modeling, and efficiently scheduling big data analytics workflows. The project finished successfully and was rated ``excellent''. Myrmics, BDDT, and PARTEE are task-parallel runtimes for distributed-memory, non cache coherent shared memory and cache coherent shared memory multicore processors that scale parallel applications to tens or hundreds of cores. GreenVM is a Java Virtual Machine for distributed memory manycores running on the 512-core Formic prototype.
Software Fault ToleranceAn error in a single core of a 64-core or 512-core parallel processor should not cause the whole system to malfunction. We design and build software systems that can recover from soft-errors and hard-errors, focusing on multicore processors. We are using traditional techniques like checkpointing and redundancy, combining them with high-level abstractions like task-parallel programming that help make fault-tolerance very efficient.
Static Analysis and CompilationWe implemented several static analyses that take advantage of high-level abstractions in parallel programming languages like regions and tasks, to efficiently compile these programs to multicore processors and distributed systems.
- If you are a UoC student interested in a Diploma Thesis topic, look here.
- Instructor CS-546, UoC, Fall 2017
- Instructor CS-529, UoC, Spring 2017, Spring 2014, Spring 2013
- Instructor CS-100, UoC, Fall 2017, Fall 2016, Fall 2015, Fall 2014, Fall 2013, Fall 2012, Fall 2011
- Instructor CS-490.40, UoC, Fall 2015, Fall 2014, Fall 2013, Fall 2012, Fall 2011, Fall 2010
- Guest lecturer, CS-529, UoC, Spring 2010, Spring 2011
- Guest lecturer, CS-556, UoC, Spring 2010
Students, Supervised or Co-Supervised
- Iakovos Kolokasis, MSc
- Maria Economidou, Undergrad
- Alexander Shevtsov, MSc
- Foivos Zakkak, PhD
- Pavlos Katsogridakis, MSc
- Irini Stavrakantonaki, MSc
- Rafail Troulakis, Undergrad
- Nikos Papakonstantinou, MSc
- Apostolos Glenis, MSc
- Christi Symeonidou, MSc
- George Chinis, MSc
- Evangelos Kafentarakis, MSc
- Dimitrios Skarlatos, Intern
- Alexandros Labrineas, MSc
- Dimitris Chasapis, MSc