Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Performance evaluation of the Orca shared-object system
Bal H., Bhoedjang R., Hofman R., Jacobs C., Langendoen K., Rühl T., Kaashoek M. ACM Transactions on Computer Systems16 (1):1-40,1998.Type:Article
Date Reviewed: Aug 1 1998

Orca is a portable, distributed shared memory (DSM) system with a C-like user interface and an underlying runtime system (RTS) named Panda. According to the paper, the design choices that characterize Orca are effective. These choices include a coherence protocol that is based on write updates with function shipping, a totally ordered group communication protocol, a strategy for object placement that replicates only shared data with a high read/write ratio, and a complete software implementation in user space. The following four properties make Orca unique among successful DSMs:

  • Shared data structures are encapsulated in shared objects accessible only via user-defined operations.

  • Orca is language-based.

  • Orca integrates synchronization and data access.

  • The shared-memory model is sequentially consistent.

Portability is ensured by encapsulating target-dependent interfaces on the Panda level.

The result is a DSM system that makes near-optimal decisions about object placement and replication, starting with static compile-time information, refining the initial decisions dynamically during runtime, and never burdening the user with the need to provide hints or directives. Compared with TreadMarks and CRL, two other effective DSM systems, the Orca execution on a 32-node Pentium Pro cluster shows amazing scalability. This was measured by the authors for Fast Ethernet and Myrinet networks by comparing the execution behavior of ten representative parallel applications.

After an introduction, section 2 provides a detailed overview of the Orca shared-object system, showing the implementation of shared objects and discussing the placement strategy. Sections 3 and 4 compare the performance of Orca, TreadMarks, and CRL by contrasting the speedup, overhead, number of broadcasts, and execution times of ten parallel applications. Sections 5 and 6 discuss related work and state conclusions. The bibliography is detailed and well chosen.

Since some of the parallel applications run on the Pentium Pro Myrinet cluster scaled so well (IDA scaled almost linearly), I would have liked to see a discussion of how relevant these ten parallel tests are for comparing DSM implementations. It would also be helpful for the reader to understand how representative these parallel applications are for scaling general applications.

Otherwise, the paper is a paradigm of honest research: for all design parameters, the authors discuss pros and cons, alerting readers to disadvantages that accompany each choice. For example, the totally ordered group communication selected to solve the coherence protocol has several drawbacks. These are discussed and contrasted with feasible alternatives, and the design choice is justified by the performance data.

Anyone wishing to work on a DSM system should read this paper. In fact, it is mandatory reading for anyone interested in the performance, implementation, and internal design of DSM systems. The paper is a joy to read and sets a good example for research, where the researcher is a good devil’s advocate.

Reviewer:  Herbert G. Mayer Review #: CR121670 (9808-0608)
Bookmark and Share
 
Run-Time Environments (D.3.4 ... )
 
 
Compilers (D.3.4 ... )
 
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Parallel Programming (D.1.3 ... )
 
 
Concurrent Programming (D.1.3 )
 
 
Language Classifications (D.3.2 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Run-Time Environments": Date
Programmed deallocation without dangling reference
Cioni G., Kreczmar A. (ed) Information Processing Letters 18(4): 179-187, 1984. Type: Article
Jan 1 1985
Analysis of Or-parallel execution models
Gupta G., Jayaraman B. ACM Transactions on Programming Languages and Systems 15(4): 659-680, 1993. Type: Article
Mar 1 1994
Continuous program optimization: a case study
Kistler T., Franz M. ACM Transactions on Programming Languages and Systems 25(4): 500-548, 2003. Type: Article
Jul 17 2003
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy