Temporal Notions of Synchronization and Consistency in Beehive*

Temporal Notions of Synchronization and Consistency in Beehive*

to appear in SPAA'97 Temporal Notions of Synchronization and Consistency in Beehive Aman Singla Umakishore Ramachandran y Jessica Hodgins College of Computing Georgia Institute of Technology Atlanta, Ga 30332-0280 e-mail: aman,rama,[email protected] An important attribute in the specification of many application is one in which the mechanisms for synchroniza- compute-intensive applications is “time”. Simulation of in- tion and consistency are based purely on the order of access teractive virtual environments is one such domain. There to shared data and synchronization variables. Therefore, is a mismatch between the synchronization and consistency we will use the label spatial while referring to the standard guarantees needed by such applications (which are tempo- shared memory systems and the corresponding programming ral in nature) and the guarantees offered by current shared model. memory systems. Consequently, programming such appli- Several applications that are enablers for “everyday comput- cations using standard shared memory style synchronization ing” have real time constraints inherent in their specifica- and communication is cumbersome. Furthermore, such ap- tion. Simulation of interactive virtual environments, interac- plications offer opportunities for relaxing both the synchro- tive speech recognition, and interactive vision are examples nization and consistency requirements along the temporal di- of such applications. As the problem size is scaled up, these mension. In this work, we develop a temporal programming applications impose tremendous computational requirements model that is more intuitive for the development of applica- that are beyond the realm of sequential processing. These ap- tions that need temporal correctness guarantees. This model plications are prime candidates for parallel computing. Be- embodies two mechanisms: “delta consistency” – a novel ing interactive in nature, time is an important attribute of time-based correctness criterion to govern the shared mem- these applications and this characteristic sets them apart from ory access guarantees, and a companion “temporal synchro- scientific applications. However, like applications from sci- nization” – a mechanism for thread synchronization along the entific and engineering domains, the state sharing needs of time axis. These mechanisms are particularly appropriate such applications are easier to express using the shared mem- for expressing the requirements in interactive application do- ory programming paradigm. However, there is no straight- mains. In addition to the temporal programming model, we forward way for the programmer to present the temporal re- develop efficient explicit communication mechanisms that ag- quirements in such applications to the spatial memory sys- gressively push the data out to “future” consumers to hide the tems. read miss latency at the receiving end. We implement these A spatial memory model like release consistency (RC) [7] mechanisms on a cluster of workstations in a software dis- corresponds to a programming model wherein synchroniza- tributed shared memory architecture called “Beehive.” Using tion operations are used to protect shared data. Conse- a virtual environment application as the driver, we show the quently, it guarantees the consistency of shared memory at efficacy of the proposed mechanisms in meeting the real time well defined synchronization points in the program. On the requirements of such applications. other hand, the interactive nature of time based applications calls for synchronization as a “rate control” mechanism to 1 Introduction maintain “loose” synchrony among various parts of the ap- The shared memory programming paradigm is useful for a plication. Further, the consistency requirements for data are large class of parallel applications. Models of synchroniza- temporal in nature and the applications can tolerate a cer- tion and consistency in this paradigm are quite adequate for tain degree of “staleness” with respect to shared state in- expressing the requirements in many scientific and engineer- formation. Adapting spatial synchronization constructs (e.g. ing applications. The programming model presented to the a barrier) necessarily result in a “tight” synchrony among the threads of a computation. Similarly, a spatial memory This work has been funded in part by NSF grants MIPS-9058430 and system enforces strict consistency guarantees commensurate MIP-9630145 and NSF II grant CDA-9501637. y with the memory model. Adhering to strict semantics for currently with Digital Equipment Corporation, Cambridge Research Lab, on sabbatical leave from Georgia Tech synchronization and consistency can fail to exploit oppor- tunities for weaker interactions (“loose” synchrony, “stal- eness” of data) and can thus adversely affect both perfor- mance and scalability of the memory system. Further, the inability to express temporal requirements leads to cum- bersome programming practices for interactive applications. Therefore, enhancing the shared memory paradigm to allow the programmer to naturally express the temporal require- 1 ments and allowing relaxation of synchronization and con- allel computing. sistency in an application specified manner has the poten- Virtual environments consist of humans and simulated actors tial to provide improvements in efficiency and programming interacting in a virtual world. Virtual environments require “ease.” We develop two novel concepts in this context: delta the ability to incorporate input from human users, move syn- consistency and temporal synchronization. thetic actors in a compelling and interactive fashion, and pro- We build these mechanisms into a flexible software architec- duce a real time graphical rendering of the virtual world. In ture for a distributed shared memory (DSM) system called our virtual environment, the user rides a recumbent bicycle Beehive. Beehive implements a global address space across to move through the world. A view of the world that reflects a cluster of uniprocessor or SMP nodes. It also supports a the motion of the user's head is displayed on a head-mount configurable access granularity, multithreading, and a flex- display. The world is populated with dynamically simulated, ible memory system. Because workstation clusters have to legged robots that attempt to avoid the bicyclist, each other, deal with message latencies that are an order of magnitude and obstacles in the world. The user's goal is to herd, like a larger than those in tightly coupled multiprocessors, there is sheep dog, the legged robots towards a goal. Many interact- a need for efficient mechanisms for latency tolerance. Bee- ing actors are required to create an interesting environment. hive addresses these issues by incorporating mechanisms for One of the open problems in virtual environments is gener- aggressive state sharing. These mechanisms provide intelli- ating the motion for virtual actors. The solution we use for gence to the system on “when” to send data, and to “whom” this problem is to perform realistic physical simulation of to send data. Along one dimension, the temporal mecha- multiple virtual actors in real time [9]. In the particular ap- nisms give a (time) window of opportunity for coalescing plication we are exploring, each creature has between 4 and writes by the processor to the same location as well as ag- 22 degrees of freedom and requires between 0.25 and 0.9 gregating consistency actions to the same coherence unit seconds to compute 1 second of motion on an Ultra Sparc. (cache line). Along the other dimension, Beehive provides The realistic simulation of multiple actors is the core of the asetofexplicit communication mechanisms that allow the application and the mechanisms we synthesize in this work producer of data to push it to prospective consumers thus are inspired by the requirements for supporting the compu- avoiding the read stall overhead at the receiving end. While tational requirements of this simulation. there have been several other efforts in building DSM sys- Parallel processing is required because of the high compu- tems [3, 11, 12, 16, 21], to the best of our knowledge, all tation cost of simulating multiple creatures. The application such efforts support the standard spatial notions of synchro- is inherently parallel as each actor can be simulated as an nization and consistency. independent thread with some sharing of state information. The primary contributions of this paper are: As the number of synthetic actors increases from the cur- temporal mechanisms for consistency and synchro- rent 25 to hundreds, a network of workstations will clearly nization to enhance the shared memory programming emerge as the most cost effective and scalable parallel pro- paradigm for time based applications, cessing platform. Cluster systems are also more amenable to explicit communication mechanisms for latency toler- concepts of availability, a critical constraint in some virtual ance, environments. design and implementation of a flexible memory system A shared memory programming paradigm is the simplest embodying these mechanisms in a workstation cluster, programming model for developing a virtual environment performance results showing the utility of this flexible application and a shared memory abstraction is an attractive memory system for a virtual environment application. option for the type of state involved in these applications. The rest of the paper is organized as follows: Section 2 dis- But applications in this domain have novel

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us