Erlang and Mu
Research areas
Description
Erlang is a massively parallel language, and we have been interested in Erlang as a client for the Mu micro virtual machine for a long time. We need to test the capability of Mu with Erlang, mainly focusing on multi-threading and SWAPSTACK-based light-weight threads.
In the end, the student should have a working Erlang implementation, and a list of advices to improve Mu.
Goals
The student will implement an ahead-of-time (or JIT if possible) Erlang-to-Mu compiler, the core library that supports the language (including multi-threading, message passing, basic data structure operations, etc.), and a small set of higher-level librarys (such as socket and file operations).
Requirements
The student should be familiar with message passing based parallel programming, preferrably with experience in Erlang.
Gain
The student will gain familiarity with the Mu micro virtual machine, the compiling of Erlang, and the implementation details of synchronisation mechanisms, such as message queues.
Keywords
micro virtual machine
programming language
erlang