A programming language for parallel event-driven development
Main Author: | |
---|---|
Publication Date: | 2013 |
Format: | Master thesis |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | https://hdl.handle.net/10316/35550 |
Summary: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia da Universidade de Coimbra |
id |
RCAP_f761714b1914e583dfe2dfce453c3d4d |
---|---|
oai_identifier_str |
oai:estudogeral.uc.pt:10316/35550 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
A programming language for parallel event-driven developmentparallel languagesevent-driven programmingshared memoryruntime systemsDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia da Universidade de CoimbraRecently, 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.2013-09-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://hdl.handle.net/10316/35550https://hdl.handle.net/10316/35550TID:201539225engRafael, João Pedro Maiainfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2022-05-25T04:31:30Zoai:estudogeral.uc.pt:10316/35550Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T05:12:48.915834Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
A programming language for parallel event-driven development |
title |
A programming language for parallel event-driven development |
spellingShingle |
A programming language for parallel event-driven development Rafael, João Pedro Maia parallel languages event-driven programming shared memory runtime systems |
title_short |
A programming language for parallel event-driven development |
title_full |
A programming language for parallel event-driven development |
title_fullStr |
A programming language for parallel event-driven development |
title_full_unstemmed |
A programming language for parallel event-driven development |
title_sort |
A programming language for parallel event-driven development |
author |
Rafael, João Pedro Maia |
author_facet |
Rafael, João Pedro Maia |
author_role |
author |
dc.contributor.author.fl_str_mv |
Rafael, João Pedro Maia |
dc.subject.por.fl_str_mv |
parallel languages event-driven programming shared memory runtime systems |
topic |
parallel languages event-driven programming shared memory runtime systems |
description |
Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia da Universidade de Coimbra |
publishDate |
2013 |
dc.date.none.fl_str_mv |
2013-09-11 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/10316/35550 https://hdl.handle.net/10316/35550 TID:201539225 |
url |
https://hdl.handle.net/10316/35550 |
identifier_str_mv |
TID:201539225 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833602285528154112 |