With multicore architectures becoming increasingly prevalent, the problem of constructing scalable and efficient concurrent software has attracted increasing attention. There has been growing interest programming models that allow programmers to demarcate regions of thread code---so-called transactions---that should appear to occur atomically, when viewed from the perspective of other threads.

The premise of this project is that current, monolithic software transactional memory (STM) designs are inherently too inefficient and permit too little parallelism. Instead we propose a very different approach: a library of customized concurrent data structures that can be composed, through a very light-weight run-time, to form transactions. Each data structure is optimized to exploit the semantics of its type. The intellectual merits are the development of new type-specific synchronization and recovery algorithms, along with formal tools to reason about their correctness. These ideas will be embodied in a novel concurrency library and verification toolkit, which will be used to construct benchmarks and applications. The boarder impacts involve incorporating concurrency into education and the potential to benefit society through higher performing, more reliable, and less expensive software.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
1421126
Program Officer
Anindya Banerjee
Project Start
Project End
Budget Start
2014-07-01
Budget End
2015-08-31
Support Year
Fiscal Year
2014
Total Cost
$250,000
Indirect Cost
Name
New York University
Department
Type
DUNS #
City
New York
State
NY
Country
United States
Zip Code
10012