Abstract
Traditional distributed shared memory systems (DSM) suffer from the overhead of communication latencies and data fault handling. This work explores the benefits of reducing these overheads and evaluating the savings. Data fault handling can be reduced by employing a lock-oriented consistency protocol that synchronizes data when acquiring and releasing a lock, which eliminates subsequent faults on data accesses. Communication latencies can be reduced by speculatively replicating or moving data before receiving a request for such an action. Histories of DSM accesses are used to anticipate future data requests.
DSM-Threads implement an adaptive runtime history that speculatively distributes data based on access histories. These histories are kept locally on a node and are distinguished by each thread on a node. When regular access patterns on requests are recognized, the data will be speculatively distributed at the closest prior release of a lock. The benefits of this active data distribution and its potential for false speculation are evaluated for two consistency protocols. The data-oriented entry consistency protocol (Bershad at al.) allows an even earlier data distribution at the closest prior release on the same lock. A simple multi-reader single-writer protocol, an improvement of Li/Hudak’s work, uses the closest prior release of a speculatively associated lock for speculative data distribution and also eliminates data faults. In addition, a framework for speculative release consistency is formulated.
Preview
Unable to display preview. Download preview PDF.
References
B. Bershad, M. Zekauskas, and W. Sawdon. The midway distributed shared memory system. In COMPCON Conference Proceedings, pages 528–537, 1993.
R. Biachini, R. Pinto, and C. Amorim. Data prefetching for software DSMs. In Int. Conf. on Supercomputing, 1998.
B. Herland and M. Eberl. A common design of PVM and MPI using the SCI interconnect. final report for task a 2.11 of ESPRIT project 23174, University of Bergen and Technical University of Munich, October 1997.
M. Karlsson and P. Stenström. Effectiveness of dynamic prefetching in multiple-writer distributed virtual shared memory systems. J. Parallel Distrib. Comput., 43(7):79–93, July 1997.
P. Keleher, A. Cox, and W. Zwaenepoel. Lazy release consistency for software distributed shared memory. In International Symposium on Computer Architecture, pages 13–21, 1992.
Pete Keleher, Alan L. Cox, Sandhya Dwarkadas, and Willy Zwaenepoel. An evaluation of software-based release consistent protocols. J. Parallel Distrib. Comput., 29:126–141, September 1995.
K. Li and P. Hudak. Memory coherence in shared virtual memory systems. ACM Trans. Comput. Systems, 7(4):321–359, November 1989.
D. K. Lowenthal, V. W. Freeh, and G. R. Andrews. Using fine-grain threads and run-time decision making in parallel computing. J. Parallel Distrib. Comput., August 1996.
F. Mueller. Distributed shared-memory threads: DSM-threads. In Workshop on Run-Time Systems for Parallel Programming, pages 31–40, April 1997.
F. Mueller. On the design and implementation of DSM-threads. In Proc. 1997 International Conference on Parallel and Distributed Processing Techniques and Applications, pages 315–324, June 1997. (invited).
F. Mueller. Prioritized token-based mutual exclusion for distributed systems. In International Parallel Processing Symposium, pages 791–795, 1998.
M. Naimi, M. Trehel, and A. Arnold. A log(N) distributed mutual exclusion algorithm based on path reversal. J Parallel Distrib. Comput., 34(1):1–13, April 1996.
B. Nitzberg and V. Lo. Distributed shared memory: A survey of issues and algorithms. IEEE Computer, 24(8):52–60, August 1991.
J. Protic, M. Tomasevic, and V. Milutinovic. Distributed shared memory: Concepts and systems. IEEE Parallel and Distributed Technology, pages 63–79, Summer 1996.
Rice University, Houston, Texas. High Performance Fortran Language Specification, 2.0 edition, May 97.
A. Schuster and L. Shalev. Using remote access histories for thread scheduling in distributed shared memory systems. In Int. Symposium on Distributed Computing, pages 347–362. Springer LNCS 1499, September 1998.
J. E. Smith. A study of branch prediction strategies. In Proceedings of the Eighth International Symposium on Computer Architecture, pages 135–148, May 1981.
J. Stark and Y. Patt. Variable length path branch prediction. In Architectural Support for Programming Languages and Operating Systems, pages 170–179, 1998.
Technical Committee on Operating Systems and Application Environments of the IEEE. Portable Operating System Interface (POSIX)—Part 1: System Application Program Interface (API), 1996. ANSI/IEEE Std 1003.1, 1995 Edition, including 1003.lc: Amendment 2: Threads Extension [C Language].
S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 programs: Characteriation and methodological considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 24–37, New York, June 22–24 1995. ACM Press.
T.-Y. Yeh and Y. N. Patt. Alternative implementations of two-level adaptive branch prediction. In David Abramson and Jean-Luc Gaudiot, editors, Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 124–135, Gold Coast, Australia, May 1992. ACM Press.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Mueller, F. (1999). Adaptive DSM-runtime behavior via speculative data distribution. In: Rolim, J., et al. Parallel and Distributed Processing. IPPS 1999. Lecture Notes in Computer Science, vol 1586. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0097939
Download citation
DOI: https://doi.org/10.1007/BFb0097939
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65831-3
Online ISBN: 978-3-540-48932-0
eBook Packages: Springer Book Archive