Files in this item



application/pdfDPJ-TR-Frameworks.pdf (221kB)
(no description provided)PDF


Title:Types, Regions, and Effects for Safe Programming with Object-Oriented Parallel Frameworks
Author(s):Bocchino, Robert L., Jr.; Adve, Vikram S.
Subject(s):Types, effects, frameworks, parallel programing, object-oriented programming
Abstract:Object-oriented frameworks can make parallel programming easier by providing generic parallel algorithms such as map, reduce, or scan, and letting the user fill in the details with sequential code. However, such frameworks can produce incorrect behavior if they are not carefully used, e.g., if a user-supplied function performs an unsynchronized access to a global variable. We develop novel techniques that a framework designer can use to prevent such errors. Building on a language (Deterministic Parallel Java, or DPJ) with an expressive region-based type and effect system, we show how to write a framework API that enables sound reasoning about the effects of unknown user-supplied methods. We also describe novel extensions to DPJ that enable generic types and effects --- essential for flexible frameworks --- while retaining soundness. Finally, we show how to make the reasoning modular: using any desired testing or verification technique, the framework author can guarantee noninterference subject to the API constraints; and the compiler can check the constraints to provide a noninterference guarantee for the entire user program. We evaluate our technique by using it to write two parallel frameworks and two realistic parallel algorithms.
Issue Date:2009-09-08
Genre:Technical Report
Publication Status:unpublished
Peer Reviewed:not peer reviewed
Sponsor:NSF grant CCF 07-02724
NSF grant CNS 07-20772
Microsoft and Intel through UPCRC Illinois
Date Available in IDEALS:2009-09-08

This item appears in the following Collection(s)

Item Statistics