POPL 2017
Sun 15 - Sat 21 January 2017
Wed 18 Jan 2017 16:30 - 16:55 at Auditorium - Compiler Optimisation Chair(s): Andrew C. Myers

Most popular Web applications rely on persistent databases based on languages like SQL, for declarative specification of data models and the operations that read and modify them. As applications scale up in user base, they often face challenges responding quickly enough to the high volume of requests. A common aid is caching of database results in the application’s memory space, taking advantage of program-specific knowledge of which caching schemes are sound and useful, embodied in handwritten modifications that make the program less maintainable. These modifications also require nontrivial reasoning about the read-write dependencies across operations. In this paper, we present a compiler optimization that automatically adds sound SQL caching to Web applications coded in the Ur/Web domain-specific functional language, with zero modifications required to source code and no compromise of Ur/Web’s transactional semantics. Through experiments with microbenchmarks and production Ur/Web applications, we show that our optimization in many cases enables an easy doubling of an application’s throughput, requiring nothing more than passing an extra command-line flag to the compiler.

Wed 18 Jan
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:30 - 17:45: Compiler OptimisationPOPL at Auditorium
Chair(s): Andrew C. MyersCornell University
16:30 - 16:55
A Program Optimization for Automatic Database Result Caching
Ziv ScullyCarnegie Mellon University, Adam ChlipalaMIT
16:55 - 17:20
Stream Fusion, to Completeness
Oleg Kiselyov, Aggelos BiboudisUniversity of Athens, Nick PalladinosNessos Information Technologies, SA, Yannis SmaragdakisUniversity of Athens
Pre-print Media Attached
17:20 - 17:45
Rigorous Floating-point Mixed Precision Tuning
Wei-Fan ChiangSchool of Computing, University of Utah, Ganesh GopalakrishnanUniversity of Utah, Zvonimir RakamaricUniversity of Utah, Ian BriggsSchool of Computing, University of Utah, Marek S. BaranowskiUniversity of Utah, Alexey SolovyevSchool of Computing, University of Utah