BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Declarative query processing in imperative managed runtimes - Stra
 tis Viglas\, University of Edinburgh
DTSTART:20150427T100000Z
DTEND:20150427T110000Z
UID:TALK59109@talks.cam.ac.uk
CONTACT:Microsoft Research Cambridge Talks Admins
DESCRIPTION:The falling price of main memory has led to the development an
 d growth of in-memory databases.  At the same time\, new advances in memor
 y technology\, like persistent memory\, make it possible to have a truly u
 niversal storage model\, accessed directly through the programming languag
 e in the context of a fully managed runtime.  This environment is further 
 enhanced by language-integrated query\, which has picked up significant tr
 action and has emerged as a generic\, safe method of combining programming
  languages with databases with considerable software engineering benefits.
 \n\nOur perspective on language-integrated query is that it combines the r
 untime of a programming language with that of a database system.  This lea
 ds to the question of how to tightly integrate these two runtimes.  Our pr
 oposal is to apply just-in-time code generation and compilation techniques
  that have recently been developed for general query processing.  The idea
  is that instead of compiling queries to query plans\, which are then inte
 rpreted\, the system generates customized native code that is then compile
 d and executed by the query engine.  At the same time\, we must enable the
  runtime to take advantage of advances in main memory technology and\, pri
 marily\, persistent memory.  Persistent memory is byte-addressable\, but e
 xhibits asymmetric I/O: writes are typically one order of magnitude more e
 xpensive than reads.  Byte addressability combined with I/O asymmetry rend
 er the performance profile of persistent memory unique. Thus\, it becomes 
 imperative to find new ways to seamlessly incorporate it into data process
 ing in managed runtimes.  We do so in the context of fundamental query pro
 cessing operations and introduce the notion of write-limited algorithms th
 at effectively minimize the I/O cost.  We give a high-level API that enabl
 es the system to dynamically optimize the workflow of the algorithms\; or\
 , alternatively\, allows the developer to tune the write profile of the al
 gorithms. This dynamic adaptation fits in well with the notion of just-in-
 time compilation.  \n\nWe present the results of our work in integrating d
 atabase and programming language runtimes through code generation and exte
 nsive just-in-time adaptation.  Our techniques deliver significant perform
 ance improvements over non-integrated solutions.  Our work makes important
  first steps towards a future where data processing applications will comm
 only run on machines that can store their entire datasets in-memory\, and 
 will be written in a single programming language employing higher-level AP
 Is and  language-integrated query to provide transparent and highly effici
 ent querying.
LOCATION:Auditorium\, Microsoft Research Ltd\, 21 Station Road\, Cambridge
 \, CB1 2FB
END:VEVENT
END:VCALENDAR
