Last active
January 4, 2016 14:50
-
-
Save neilconway/8637145 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Title: Abstraction without regret in systems building: The case of databases | |
Speaker: Christoph Koch, EPFL | |
Date & Time: Wednesday 29 January 2014, 12:00pm | |
Location: 405 Soda Hall | |
Abstract: | |
It has been said that all problems in computer science can be solved by adding | |
another level of indirection, except for performance problems, which are solved | |
by removing levels of indirection. Compilers are our tools for removing levels | |
of indirection automatically. However, we do not trust them when it comes to | |
systems building. Most critical systems are built in low-level programming | |
languages such as C. Some of the downsides of this compared to using modern | |
high-level programming languages are very well known: utterly buggy systems, | |
poor programmer productivity, a talent bottleneck, and cruelty to programming | |
language researchers. | |
I want to add bad performance to this list, and propose the following heretical | |
thesis. Modern compiler technology can be competitive with and outperform human | |
experts at low-level systems programming. Performance-critical software systems | |
are a limited-enough domain for us to encode systems programming skills as | |
compiler optimizations. In a large system, a human expert´s occasional stroke | |
of creativity producing an original and very specific coding trick is outweighed | |
by a compiler´s superior stamina, selectively performing deforestation and | |
inlining at a level of consistency that is absent even in very mature systems | |
codebases. I will present a preliminary study of this thesis in the even more | |
limited domain of database systems, both of the OLAP and OLTP flavors. Along the | |
way, I will give my thoughts on the design of domain-specific languages (DSLs) | |
for systems and on optimizing compilers, and will show extensive experimental | |
evidence supporting my thesis, some preliminary, and some mature. | |
This is in part joint work with my students Thierry Coppey, Mohammad Dashti, | |
Vojin Jovanovic, Yannis Klonatos, Milos Nikolic, Andres Noetzli, and Amir | |
Shaikhha (EPFL DATA Lab), and my collaborators Yanif Ahmad (Johns Hopkins), | |
Oliver Kennedy (SUNY Buffalo), Martin Odersky (EPFL), and Tiark Rompf (EFPL | |
and Oracle Labs). | |
Biography: | |
Christoph Koch is a professor of computer science at EPFL, specializing in data | |
management. Until 2010, he was an associate professor of computer science at | |
Cornell University. Previously to this, he obtained his PhD in Artificial | |
Intelligence from TU Vienna and CERN (2001) and has held faculty positions at | |
TU Vienna and Saarland University. He has won best paper awards at PODS 2002, | |
ICALP 2005, and SIGMOD 2011, an Outrageous Ideas and Vision Paper Award at CIDR | |
2013, a Google Research Award (in 2009), and an ERC Grant (in 2011). He is a PI | |
of the Billion-Euro EU FET Flagship Human Brain Project and of NCCR MARVEL, a | |
new Swiss national research center for materials research. He (co-)chaired the | |
program committees of DBPL 2005, WebDB 2008, ICDE 2011, and VLDB 2013, and was | |
PC vice-chair of ICDE 2008 and ICDE 2009. He has served on the editorial board of | |
ACM Transactions on Internet Technology, as Editor-in-Chief of PVLDB, as well as | |
in numerous program committees. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment