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

Tags

Fields of Study

  • Computer science
  • Engineering

Readers

  • Clinical Trial Research.
  • Database Systems and Applications
  • Parallel and Distributed Computing.