dc.contributor.author |
Gerakios, P |
en |
dc.contributor.author |
Papaspyrou, N |
en |
dc.contributor.author |
Sagonas, K |
en |
dc.date.accessioned |
2014-03-01T02:46:58Z |
|
dc.date.available |
2014-03-01T02:46:58Z |
|
dc.date.issued |
2010 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/32956 |
|
dc.subject |
Cyclone |
en |
dc.subject |
Region-based memory management |
en |
dc.subject |
Safe multithreading |
en |
dc.subject |
Type and effect systems |
en |
dc.subject.other |
Atomic operation |
en |
dc.subject.other |
C programs |
en |
dc.subject.other |
Hierarchical structures |
en |
dc.subject.other |
Memory safety |
en |
dc.subject.other |
Multi-threading |
en |
dc.subject.other |
Multithreaded |
en |
dc.subject.other |
Pthreads |
en |
dc.subject.other |
Region-based memory management |
en |
dc.subject.other |
Sub-regions |
en |
dc.subject.other |
Synchronization primitive |
en |
dc.subject.other |
Type and effect systems |
en |
dc.subject.other |
Concurrency control |
en |
dc.subject.other |
Formal languages |
en |
dc.subject.other |
Java programming language |
en |
dc.subject.other |
Linguistics |
en |
dc.subject.other |
Multitasking |
en |
dc.subject.other |
Storms |
en |
dc.subject.other |
Technical presentations |
en |
dc.subject.other |
Design |
en |
dc.title |
Race-free and memory-safe multithreading: Design and implementation in cyclone |
en |
heal.type |
conferenceItem |
en |
heal.identifier.primary |
10.1145/1708016.1708020 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1145/1708016.1708020 |
en |
heal.publicationDate |
2010 |
en |
heal.abstract |
We present the design of a formal low-level multi-threaded language with advanced region-based memory management and synchronization primitives, where well-typed programs are memory safe and race free. In our language, regions and locks are combined in a single hierarchy and are subject to uniform ownership constraints imposed by a hierarchical structure: deallocating a region causes its sub-regions to be deallocated. Similarly, when a region is protected, then its sub-regions are also protected. We discuss aspects of the integration and implementation of the formal language within Cyclone and evaluate the performance of code produced by the modified Cyclone compiler against highly optimized C programs using atomic operations, pthreads, and OpenMP. Although our implementation is still in a preliminary stage, our results show that the performance overhead for guaranteed race freedom and memory safety is acceptable. Copyright © 2010 ACM. |
en |
heal.journalName |
TLDI'10 - Proceedings of the 2010 ACM SIGPLAN Workshop on Types in Language Design and Implementation |
en |
dc.identifier.doi |
10.1145/1708016.1708020 |
en |
dc.identifier.spage |
15 |
en |
dc.identifier.epage |
26 |
en |