I am a Professor in the School of Informatics at the University of Edinburgh, where I am the Chair of Data Management on New Hardware. I am a member of the Institute for Computing Systems Architecture, the Database Group, and an associate member of the Laboratory for Foundations of Computer Science. Picture of Stratis D. Viglas

Current research interests

Just-in-time SQL compilation

One of the traditional ways of evaluating SQL queries is through interpretation. That is, the database system creates an execution plan for the query, which it then executes using generic operator implementations. We have looked at the problem of bypassing the interpretation stage altogether and creating native customised code for the execution of the SQL query. The native code is then compiled and executed on the fly. The results of this work can be found in our ICDE 2010 paper Generating Code for Holistic Query Evaluation, and our subsequent work on Code Generation for Efficient Query Processing in Managed Runtimes, and Processing Declarative Queries Through Generating Imperative Code in Managed Runtimes.

Heterogeneous storage and non-volatile memory

Given the vast performance differences between persistent storage alternatives, in addition to most hardware deployoments using more than one of those alternatives in their storage hierarchy, it becomes imperative to have disciplined ways of managing the diverse storage stack. In the past, we have looked at efficient ways of combining both solid-state drives and hard-disk drives to boost I/O performance in database systems. Some of our results can be found in the VLDB 2008 paper Flashing up the Storage Layer and the ADBIS 2011 paper Designing a Flash-Aware Two-Level Cache. Further, we have done a fair amount of work on inorporating emerging non-volatile memory technologies into the programming stack. Details can be found in our papers on REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures, DAPPER: a database-inspired approach to persistent memory, and Write-limited sorts and joins for persistent memory.

Distributed and parallel computing

Starting from our previous work on Distributed File Structures in a Peer-to-peer Environment. We have also improved the performance of distributed data stream processing systems on clusters (see Fast Heuristics for Near-Optimal Task Allocation in Data Stream Processing over Clusters). On a more centralized setting, we have done a fair amount of work on parallel processing for multicore systems, for example Modeling Multithreaded Query Execution on Chip Multiprocessors and A comparative study of implementation techniques for query processing in multicore systems.

Contact information

Informatics Forum, Room 5.11
10 Crichton Street
University of Edinburgh
Edinburgh, EH8 9AB

Tel: +44 (0)131 650 5183
email: sviglas at inf.ed.ac.uk