Collaborative Research: SHF: Medium: Responsive Parallelism for Interactive Applications: Theory and Practice
Full Description
The hardware advances of recent years have brought multicore chips and parallel computing to the mainstream. As a result, today, parallelism is not found just in the traditional scientific applications that have dominated research and development in parallel computing in past decades. We must now consider parallelism in interactive applications which are characterized by frequent interactions with users or other software systems and therefore must be responsive. This project’s aim is to develop a practical approach to interactive parallel applications. The project’s novelty, in addition to focusing on this under-studied intersection of parallelism and interaction, is that it follows an end-to-end methodology that brings together many areas of computer science and bridges theory with practice. The project has the potential to impact the design of several application areas that require large-scale interactive applications, including web services, desktop clients for CAD/CAM, games, and a variety of mobile applications.
This research’s end-to-end goals require advances in type systems, programming languages, scheduling theory, and runtime systems. The research team will develop a calculus for modeling interactive parallel applications at a high level of abstraction. This calculus will equip a fully general formal programming language based on Church's Lambda Calculus with a cost semantics, making it possible 1) to express interactive parallel applications and 2) to reason about the throughput and responsiveness of the programs. A type system will ensure the absence of thorny bugs such as priority inversions that can prevent establishing responsiveness guarantees. The investigators will prove that this calculus is realizable by developing scheduling algorithms that can faithfully match the cost semantics so as to guarantee the desired performance criteria. On the practical side, the project team will extend Cilk, a C-based parallel programming language, to support interactive parallel applications. This will require developing a run-time system that faithfully implements the scheduling algorithms and optimizations that ensure practical performance. The educational component of this project, which involves teaching undergraduates parallel algorithms, will create ample opportunities to test the practical effectiveness of the proposed approach.
This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
Award Number: 2603531
Principal Investigator: Stefan Muller
Funds Obligated: $121,750
State: CT
Sign up free to get the apply link, save to pipeline, and set email alerts.
Sign up free →Agency Plan
7-day free trialUnlock procurement & grants
Upgrade to access active tenders from World Bank, UNDP, ADB and more — with email alerts and pipeline tracking.
$29.99 / month
- 🔔Email alerts for new matching tenders
- 🗂️Track tenders in your pipeline
- 💰Filter by contract value
- 📥Export results to CSV
- 📌Save searches with one click