BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Making Python Fast: Using Hardware-Software Co-design to Address I
 nefficiencies in Dynamic Language Runtimes - Berkin Ilbeyi\, Cornell
DTSTART:20180620T100000Z
DTEND:20180620T110000Z
UID:TALK107464@talks.cam.ac.uk
CONTACT:Prof Simon Moore
DESCRIPTION:Dynamic programming languages such as Python and JavaScript ar
 e becoming increasingly popular\, and this motivates the need for just-in-
 time (JIT) compilation to close the productivity/performance gap. Unfortun
 ately\, developing custom JIT-optimizing virtual machines (VMs) requires s
 ignificant effort. Recent work has shown the promise of meta-JIT framework
 s\, which abstract the language definition from the VM internals.  PyPy\, 
 a JIT-optimizing VM for the Python language\, and its meta-tracing JIT com
 piler is a good example for this.  Meta-JITs can enable automatic generati
 on of high-performance JIT-optimizing VMs from high-level language specifi
 cations.\n\nWhile meta-JIT approaches can narrow the performance gap betwe
 en dynamic and static languages\, dynamic language performance is still ty
 pically an order of magnitude slower. In this talk\, I will be giving an i
 ntroduction to PyPy and the meta-tracing JIT technique\, and discuss sourc
 es of inefficiencies in PyPy's execution.  I will also present some of our
  ongoing work on using specialized hardware to discover data patterns in P
 yPy's JIT-compiled code\, produce more speculative JIT-compiled code using
  these patterns\, and offload some of the run-time checks (guards) to hard
 ware.\n\nBio: Berkin Ilbeyi is a final-year PhD student at Cornell Univers
 ity. He is advised by Christopher Batten at the Computer Systems Laborator
 y\, part of the Electrical and Computer Engineering Department. His resear
 ch interests lie in the intersection of computer architecture and just-in-
 time-compiling virtual machines for dynamic languages.
LOCATION:SW01\, Computer Laboratory
END:VEVENT
END:VCALENDAR
