MMNet 11

How to make a virtual machine less virtual

Stephen Kell, University of Oxford

Increasingly high-level "dynamic" languages, including Python and Ruby, are popular for many applications and facing ever-greater performance demands. However, leading implementations are not designed to exploit either the performance, the native libraries, or the tool support offered by the underlying platform. I'll talk about DwarfPython, a radically different (ongoing) implementation which attacks these problems by minimising the gap between native and high-level worlds, exploiting debugging infrastructure, and applying some unusual implementation techniques. Among these are memtables, a simple but effective data structure that exploits OS-level virtual memory and seems useful for doing several non-invasive dynamic analyses on the heap. I'll also talk briefly about my main-line work on exploring the murky grey area between static and dynamic analysis techniques, and draw some tenuous links back to DwarfPython.