| week selector | S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|---|
go to week of May 1, 2011![]() | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
go to week of May 8, 2011![]() | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
go to week of May 15, 2011![]() | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
go to week of May 22, 2011![]() | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
go to week of May 29, 2011![]() | 29 | 30 | 31 | 1 | 2 | 3 | 4 |
Illinois-Intel Parallelism Center (I2PC) Distinguished Speaker Series
Thursday May 3rd, 4pm CDT, Room SC3405
Reusing-JITs are from Mars, Dynamic Scripting Languages are from Venus
Peng Wu
IBM Research
Abstract:
Whenever there is an interest to compile a new dynamically typed language, reusing an existing statically typed language compiler (reusing JITs) is always an appealing option. One popular trend is to use the Java JIT to compile JVM languages such as Jython, JRuby, Scala, Clojure, Groovy. and Javascript. Others have tried to leverage LLVM to compile Python (Unladen-swallow) and Ruby (Rubinius).
Existing reusing JITs, however, do not deliver the kind of performance boost as proponents have hoped. The performance of JVM languages, for instance, often lags behind standard interpreter implementations. Even more customized solutions that extend the internals of a JIT compiler for the target language cannot compete with those designed specifically for dynamically typed languages. Our own Fiorano JIT compiler, a reusing JIT based on IBM's product JIT, is a living example of such a phenomenon. As a state-of-the-art reusing JIT for Python, Fiorano JIT compiler outperforms two other reusing JITs (Unladen Swallow and Jython), but still has a noticeable performance gap with PyPy, a custom designed Python JIT and VM.
This talk offers an in-depth look on the reusing JIT phenomenon. I will discuss techniques that have proved effective based on our own experience of building the Fiorano JIT. More importantly, I will talk about common pitfalls of today's reusing JITs, the most important of which is not focusing sufficiently on specialization, an abundant optimization opportunity unique to dynamically typed languages.
Speaker's Bio:
Peng Wu is a research staff member from IBM T.J. Watson research center in Yorktown Heights, NY, shortly after receiving her Ph.D in computer science from UIUC in 2001. Her research interests include optimization of dynamic scripting languages and Java, trace compilation, and software exploitation and support for TM, SIMD and GPGPU. Part of her research focuses on unleashing the power of new hardware features via compilation such as for CELL BE, BlueGene, and POWER; part is devoted simply to improve the frontiers of performance driven compilation. In the past 10 years, she has actively contributed to IBM's product compilers including the XL compiler for C/C++/Fortran and J9 JVM/JIT and held more than a dozen patents.
http://researcher.ibm.com/view.php?person=us-pengwu
========================================================
I2PC seminars are held on Thursdays at 4pm Central Time in Room 3405 of the Siebel Center.
They are streamed live at this link:
* http://media.cs.illinois.edu/live/I2PClive.asx
Questions to the speaker for live response can be posted at:
* http://i2pc.cs.illinois.edu/chat
A complete list of seminars is available here:
* http://i2pc.cs.illinois.edu/seminars.html