Erlang and Mu

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

Updated:  1 August 2018/Responsible Officer:  Dean, CECS/Page Contact:  CECS Marketing