Font Size: a A A

Programming and compiling for ordered networks

Posted on:2003-03-14Degree:Ph.DType:Dissertation
University:University of VirginiaCandidate:Venkateswaran, RajaFull Text:PDF
GTID:1468390011985118Subject:Computer Science
Abstract/Summary:
Our research goal is to design compilation and programming techniques that expose the guarantees of ordered networks to programmers. Isotach networks provide total ordering guarantees such as sequential consistency (SC) and isochronicity that are desirable in parallel programming. Although SC is supported by a few existing systems such as Orca, Isotach provides a more efficient implementation of SC. Moreover, guarantees of Isotach such as isochronicity are not available in any existing system. Hence, we focus on compiling and programming for Isotach systems.; We explore techniques that can be exploited by programmers targeting distributed shared memory (DSM) systems. Typically, DSM programmers target an intermediate virtual machine we refer to as shared memory virtual machine (SMVMs), and expect SMVMs to provide features such as a simple memory consistency model. The SMVMs in turn expect the targeted DSM system to provide techniques for effective parallel execution such as ones to reduce memory access latency and reduce synchronization constraints. Our research addresses the expectations of SMVMs, as well those of DSM programmers. We have designed an address collection mechanism (ACM) that provides a view of the parallel computation in terms of address sets used by each process in each concurrent region. Using our ACM, frequently read data items can be replicated ahead of run-time. Our research also makes available a new barrier synchronization technique known as adaptive barriers that reduces barrier synchronization wait in applications. We have also designed compilation techniques to enforce SC wherever required and relax SC where possible, to reduce concurrency constraints. In addition, we have designed object-based interfaces that expose the capabilities of Isotach directly to the programmer. Using these object-based interfaces, programmers can apply Isotach guarantees to user-defined data structures and solve parallel problems with reduced explicit synchronization. We use a subset of the SPLASH benchmark suite to demonstrate the characteristics and advantages of each of our techniques.; Our compilation and programming techniques would enable programmers to design solutions to parallel problems by exploiting Isotach guarantees. Our research techniques such as the ACM and barrier synchronization are not limited to Isotach and can be applied to other parallel systems with similar execution model as ours.
Keywords/Search Tags:Isotach, Programming, Techniques, Programmers, Parallel, Guarantees, Synchronization, Systems
Related items