Task Scheduling using Effects in Joelle
Independent thesis Advanced level (degree of Master (Two Years)), 30 credits / 45 HE creditsStudent thesis
This thesis presents the design and implementation of a library for scheduling messages in parallel at runtime. This library is the future backend of Joelle, an extension of Java for parallel programming.
Joelle uses this library for implementing active objects. Active objects execute in parallel and communicate asynchronously through message passing. They convert a method call to messages which they store internally. They execute those messages as soon as possible.
Joelle allows a programmer to partition active objects in disjoint memory regions and to annotate methods with which regions they read or write, their effects. Joelle uses effects to allow messages with disjoint effects to run in parallel while avoiding data races.
This thesis has three key contributions: first, it derives requirements for the library from the available body of research; second, it attempts to summarize this research in a single document, thereby making it useful as an entry point for readers interested in Joelle; third, it develops a novel data structure that guarantees safe, efficient parallelism. In order to check the solution's feasibility, it compares the implementation's performance to the message passing frameworks Erlang and Akka. The thesis concludes that Joelle performs well overall.
Place, publisher, year, edition, pages
IT, 13 012
Engineering and Technology
IdentifiersURN: urn:nbn:se:uu:diva-195826OAI: oai:DiVA.org:uu-195826DiVA: diva2:608395
Master Programme in Computer Science
Sagonas, KonstantinosChristoff, Ivan