Programming Extensions to Exploit Semantics in Concurrent Applications
Abstract
This project proposes the development of semantic extensions to improve the performance of concurrent multi-threading applications. The proposed extensions are integrated into Transactional Memory (TM), a simple programming abstraction that eases the development of parallel applications with mutual exclusion constraints. Such integration overcomes the performance penalty that characterizes TM due to its generality since its original proposal. The final deliverable of this proposal is system software that offers programmers the capability of writing concurrent applications in a simple manner and without jeopardizing the possibility of achieving high performance. The extensions proposed in this project optimize common programming patterns that can be identified transparently through source code analysis (e.g., during compilation process) or by application-domain characteristics (e.g., data structure semantics). The optimizations are then integrated into state-of-the-art (Software and Hardware) TM algorithms in order to boost their performance. Finally, those improved TM implementations are integrated into the well-known GCC compiler infrastructure, which already includes some architectural components to support TM executions. As a result, any C/C++ concurrent application compiled using the newly released GCC version takes advantage of the simple TM abstraction and the high performance provided by the proposed extensions. The design of the proposed extensions is publicly released via publications to major conferences and journals. All the produced implementations are released as open-source projects at the PI s project website: www.hyflow.org in order to increase the dissemination of results.
Document Details
- Document Type
- DoD Grant Award
- Publication Date
- Sep 11, 2017
- Source ID
- FA95501710367
Entities
People
- Roberto Palmieri
Organizations
- Air Force Office of Scientific Research
- United States Air Force
- Virginia Tech