CV
Education
- Ph.D. in Computer Science, Imperial College London, 2022
- BEng/MEng in Electrical and Computer Engineering, National Technical University of Athens, 2017
Work experience
- May 2022 - today: Research Engineer
- Neo4j
- Developed a transactional graph DB system for temporal analysis
- Working on accelerating long-running transactions
- Sep 2017 - May 2022: Graduate Researcher
- Imperial College London
- Supervisors: Professor Pietzuch, Associate Professor Pirk
- Focus: Stream Processing, Incremental Multi-core Execution, Concurrent Data Structures, Hardware Optimizations, Code Generation, Adaptive Compression
- Teaching Assistant: Performance Engineering, Advanced Databases, Object-Oriented Design and Programming (C++), Programming II (Java)
- Volunteered in pVLDB Reproducibility 2018 and in the creation of SIGMOD 2019 website
- Mentored four Master’s theses
- Oct 2020 - Dec 2020: Research Intern
- Huawei Technologies Research & Development (UK) Ltd
- Developed concurrent data structures for in-memory indexes and concurrent compressed bitmaps
- Worked in optimistic locking, lock-free, wait-free, and hardware-transactional-memory algorithms
- Designed parallel graph traversal algorithms
- Jul 2019 - Oct 2019: Software Engineer
- Snowflake
- Worked in SQL query parsing, compilation and plan rewriting
- Developed event-based functions for analytics over a window of rows
- Implemented an operator for row pattern matching based on patterns defined as regular expressions
- Nov 2016 - Mar 2017, May 2017 - Aug 2017: Software Engineer
- Management Organisation Unit of Development Programmes S.A. (Government Administration)
- Developed .Net web forms in Microsoft Visual Studio .Net IDE utilising JavaScript libraries
- Worked extensively with SQL Server Database, developing T-SQL queries and stored procedures
- Documented and analysed the design and the architecture of the system
- Sep 2016 - May 2017: Junior Researcher
- National Technical University of Athens (CSLab)
- Worked in data stream query optimization by extending Apache Calcite - a dynamic data management framework - and integrating it with SABER - a hybrid relational stream processing engine
- Teaching Assistant: Operating Systems, Advanced Topics in Database Systems
Publications
- J. Clarkson, G. Theodorakis and J. Webber, BIFROST: A Future Graph Database Runtime in '40th IEEE International Conference on Data Engineering, ICDE 2024, Utrecht, Netherlands, May 2024 [pdf]
- G. Theodorakis, J. Clarkson and J. Webber, An Empirical Evaluation of Variable-length Record B+Trees on a Modern Graph Database System in SEAGraph @ ICDE 2024, Utrecht, Netherlands, May 2024 [pdf]
- G. Theodorakis, J. Clarkson and J. Webber, Aion: Efficient Temporal Graph Data Management in Advances in Database Technology - 27th International Conference on Extending Database Technology, EDBT 2024, Paestum, Italy, Mar 2024 [pdf]
- G. Theodorakis, F. Kounelis, P. R. Pietzuch, and H. Pirk, Scabbard: Single Node Fault-Tolerant Stream Processing in 48th International Conference on Very Large Data Bases (VLDB), Sydney, Australia, 2022 [pdf] [GitHub]
- G. Theodorakis, A. Koliousis, P. R. Pietzuch, and H. Pirk, LightSaber: Efficient Window Aggregation on Multi-core Processors in Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, SIGMOD 2020, Portland, OR, USA, Jun 2020 [pdf] [GitHub]
- G. Theodorakis, P. R. Pietzuch, H. Pirk, SlideSide: A fast Incremental Stream Processing Algorithm for Multiple Queries in Advances in Database Technology - 23rd International Conference on Extending Database Technology, EDBT 2020, Copenhagen, Denmark, Mar 2020 [pdf]
- G. Theodorakis, A. Koliousis, P. Pietzuch and H. Pirk, Hammer Slide: Work- and CPU-efficient Streaming Window Aggregation in 9th International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures (ADMS), Rio de Janeiro, Brazil, Aug 2018. [pdf] [GitHub]
Talks
- LightSaber: Efficient Window Aggregation on Multi-core Processors in SIGMOD 2020, Portland, OR, USA, Jun 2020. [video]
- SlideSide: A fast Incremental Stream Processing Algorithm for Multiple Queries in EDBT/ICDT 2020 Joint Conference, 1st April, 2020, Copenhagen, Denmark
- LightSaber: Efficient Window Aggregation on Multi-core Processors poster in PhD Workshop on Next-Generation Cloud Infrastructure of Microsoft Research, Cambridge, UK, Nov. 2019.
- "Hardware-efficient Stream Processing" in Flink Forward Berlin 2018, Berlin, Germany, Sep 2018. [slides] [video]
- "Hammer Slide: Work- and CPU-efficient Streaming Window Aggregation" in ADMS@VLDB 2018, Rio de Janeiro, Brazil, Aug 2018. [slides]
Teaching
- Performance Engineering
- Advanced Databases
- Introduction to Databases
- Programming II (Java)
- Object-Oriented Design and Programming (C++)
- Mentored four Master's theses
Awards & Scholarships
- Ph.D. Scholarship, CDT HiPEDS, Imperial College London
- IoT Challenge @NTUA, National Technical University of Athens
- Second place prize awarded for creating a parking web application
Skills
- Advanced: Distributed & Parallel Systems, Databases, Query Optimization, Compilers, Concurrent Data Structures, Fault-Tolerance, Data Compression, Asynchronous Storage, SQL
- Frameworks/Libraries: Apache Spark, Apache Flink, Apache Kafka, Apache Calcite, oneTBB, LLVM Compiler, Persistent Memory Development Kit, Faster KV-store, Docker
- Programming: C/C++, Java, Scala, Python, Bash Scripting, LATEX
Languages
- Greek - Native
- English - Proficient
- German - Intermediate