Please use this identifier to cite or link to this item: http://hdl.handle.net/10316/35550
Title: A programming language for parallel event-driven development
Authors: Rafael, João Pedro Maia 
Orientador: Cabral, Bruno Miguel Brás
Keywords: parallel languages; event-driven programming; shared memory; runtime systems
Issue Date: 11-Sep-2013
Serial title, monograph or event: A programming language for parallel event-driven development
Place of publication or event: Coimbra
Abstract: Recently, event-oriented programming frameworks have surfaced as a solution to highly scalable network applications. This model as been adopted under many languages resulting in frameworks such as Node.js, Gevent and EventMachine. These frameworks are capable of handling many concurrent requests by using asynchronous IO. However, in order to make use all available cores, parallelism is exploited by creating multiple instances of the same application. Under this solution instances don’t share memory making synchronization mechanisms required. The same problem applies when using the actor model for concurrency. The EVE framework provides support for event-oriented programming under a shared-memory model. It encompasses the EVE language definition, its compiler and a runtime system capable of executing the resulting applications. Using our model, the programmer divides the application logic into tasks and each task indicates what variables it can access. The runtime schedules compatible tasks to multiple cores using a work-stealing algorithm for load balancing. In this work, we present a formal description of the language and it’s runtime, including their operational semantics. Our benchmarks indicate that our solution delivers the best performance on IO heavy problems when compared to existing of-the-shelf solutions and performance comparable to the state-of-the-art architectures for CPU-bounded applications.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia da Universidade de Coimbra
URI: http://hdl.handle.net/10316/35550
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado
FCTUC Eng.Informática - Teses de Mestrado

Files in This Item:
File Description SizeFormat
A programming language for parallel event driven development.pdf1.25 MBAdobe PDFView/Open
Show full item record

Page view(s) 20

538
checked on Sep 29, 2020

Download(s)

80
checked on Sep 29, 2020

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.