Events

2010.02.04
Erjang - a JVM-based Erlang VM (London User Group Talk, UK)
Join us for London  Erlang  User Group meeting on Thursday,  4th  February 2010. Our guest will be Kresten Krab Thorup, CTO of Trifork. Kresten will talk about Erjang -  a JVM-based virtual machine for Erlang. That's a  very controversial topic both in Erlang and Java communities - you  cannot miss this talk!

The meeting will be held in Erlang Solutions' meeting room on the 1st floor of the Fruit and Wool Exchange. For directions, visit our Contact page. Be there at 18.00 for an 18.30 start.

In order to attend this free event, you have to register. Registering allows us to plan refreshments accordingly, provide security with a list of names and ensure we have enough space. Register here, as places are limited!

Abstract 
Over the last few years, I have been meeting "Erlang people" more and more often, and I was getting this clear impression that "you people" have some kind of magic ability to reason intuitively about concurrent systems in a way that I could not.  That bothered me, so I wanted to learn Erlang.  Being a language implementor, the most obvious way to do that is to just go ahead and implement an Erlang VM, right?

The result of this "little exercise" is Erjang, an open-source JVM-based Erlang VM.   In technical terms, Erjang reads .beam files and compiles them to Java's equivalent .class files which are then read into the running JVM.  It runs off a plain Erlang/OTP distribution - it only requires the beam files from there; Erjang itself is written in Java.  As off this writing, it can run some non-trivial erlang programs, but is not yet capable of booting OTP [follow updates on my blog http://javalimit.com].  Comparing the BEAM virtual machine and Erjang, the most obvious differences are that (a) Erjang will not be able to provide [soft] real-time guarantees since it uses Java's garbage collector, and (b) it has limited support for native code and port drivers (other than file and network I/O).  The upside is the new ways this allows us to deploy Erlang systems.

In this technical presentation I will talk about how Erjang is implemented, the challenges in mapping Erlang's language constructs to the Java platform, and what behavior to expect from Erlang programs running on top of Erjang.  At this point in time, Erjang is still not usable as a replacement for BEAM, but I can demo some samples, and show status for booting OTP. 

Biography

Kresten Krab Thorup is CTO of Trifork, a public Danish company (trifor.co) providing software solutions to government and financial services providers.  Trifork is also creator of the long-running JAOO conference, and co-creator of QCon.  As Trifork CTO Kresten in responsible for technical strategy in customer solutions, and spends most of the time acting as internal consultant, researching future technologies, as well as being editor for JAOO and QCon conferences.  Kresten has also been a principal contributor to Trifork's own Java EE certified application server "Trifork T4", where he authored the built-in CORBA ORB, a custom Java RMI implementation (now part of Apache Yoko), the transaction manager, the database connection management system, and the Java byte code rewriting subsystem.

Kresten has been a contributor to several open source projects, including GCC, GNU Objective-C, GNU Compiled Java, Emacs, and Apache Geronimo/Yoko.  Before joining Trifork, Kresten worked at NeXT Software (now acquired by Apple), where he was responsible for the development of the Objective-C tool chain, the debugger, and the runtime system.  Kresten was on the committee for JSR-14 (adding generics to Java) which was closely related to the subject of his Ph.D. thesis. 

Most recently, Kresten has founded the Erjang open source project (notice the J there), a virtual machine for Erlang running on the Java Virtual Machine. 

If you want to download the presentation slides, you can do this by clicking here.


Back to the Events