Abstract
Clusters of high-end workstations and PCs are currently used in many application domains to perform large-scale computations or as scalable servers for I/O bound tasks. Although clusters have many advantages, their applicability in new areas and especially in areas of commercial applications has been limited. One of the main reasons for this is the fact that clusters do not provide a single system image and thus are hard to program. In this work we address this problem by providing a single cluster image with respect to thread and memory management to programmers. The main limitation of our system is that it does not yet provide file system and networking support across cluster nodes. We implement our system on a 16-processor cluster interconnected with a low-latency, high-bandwidth system area network. We demonstrate the versatility of our system with a wide range of applications. We show that clusters can be used to support applications that have been written for more expensive tightly—coupled systems, with very little effort on the programmer side. Finally, we show that the overhead introduced by the extra functionality of CableS affects the parallel section of applications that have been tuned for the shared memory abstraction only in cases where the data placement policy of the system results in improper placement due to operating system limitations in virtual memory mappings granularity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
International standard iso/iec 9945-1: 1996 (e) ieee std 1003.1, 1996 edition (incorporating ansi/ieee stds 1003.1-1990, 1003.1b-1993, 1003.1c-1995, and 1003.1i-1995) information technology — portable operating system interface (posix) — part 1: System application program interface (api) [c language].
J. S. A. Bilas, C Liao. Using network interface support to avoid asynchronous protocol processing in shared virtual memory systems. In Proceedings of the The 26th International Symposium on Computer Architecture, Atlanta, Georgia, May 1998.
Y. Aridor, M. Factor, A. Teperman, T. Eilam, and A. Schuster. A high performance cluster jvm presenting a pure single system image. In ACM Java Grande 2000 Conference, 2000.
D. H. Bailey. FFTs in External or Hierarchical Memories. Journal of Supercomputing, 4:23–25, 1990.
N. J. Boden, D. Cohen, R. E. Felderman, A. E. Kulawik, C. L. Seitz, J. N. Seizovic, and W.-K. Su. Myrinet: A gigabit-per-second local area network. IEEE Micro, 15(1):29–36, Feb. 1995.
A. Brandt. Multi-level adaptive solutions to boundary-value problems. Mathematics of Computation, 31(138):333–390, April 1977.
C. Brunschen and M. Brorsson. Odinmp/ccp — a portable implementation of openmp for c. The 1st European Workshop on OpenMP, 1999.
D. Cohen, G. G. Finn, R. Felderman, and A. DeSchon. The use of message-based multicomputer components to construct gigabit networks. ACM Computer Communication Review, 23(3):32–44, July 1993.
C. Dubnicki, A. Bilas, Y. Chen, S. Damianakis, and K. Li. VMMC-2: effcient support for reliable, connection-oriented communication. In Proceedings of Hot Interconnects, Aug. 1997.
D. Dunning and G. Regnier. The Virtual Interface Architecture. In Proceedings of Hot Interconnects V Symposium, Stanford, Aug. 1997.
K. Gharachorloo, D. Lenoski, and et al. Memory consistency and event ordering in scalable shared-memory multiprocessors. In In 17th International Symposium on Computer Architecture, pages 15–26, May 1990.
R. Gillett, M. Collins, and D. Pimm. Overview of network memory channel for PCI. In Proceedings of the IEEE Spring COMPCON’ 96, Feb. 1996.
L. Iftode, C. Dubnicki, E. W. Felten, and K. Li. Improving release-consistent shared virtual memory using automatic update. In The 2nd IEEE Symposium on High-Performance Computer Architecture, Feb. 1996.
L. Iftode, J. P. Singh, and K. Li. Understanding application performance on shared virtual memory. In Proceedings of the 23rd International Symposium on Computer Architecture (ISCA), May 1996.
T. T. Inc. Wherever you want to run java, kaffe is there.
D. Jiang, B. Cokelley, X. Yu, A. Bilas, and J. P. Singh. Applicaiton scaling under shared virtual memory on a cluster of smps. In The 13th ACM International Conference on Supercomputing (ICS’99), June 1999.
D. Jiang, H. Shan, and J. P. Singh. Application restructuring and performance portability across shared virtual memory and hardware-coherent multiprocessors. In Proceedings of the 6th ACM Symposium on Principles and Practice of Parallel Programming, June 1997.
P. Keleher, A. Cox, S. Dwarkadas, and W. Zwaenepoel. Treadmarks: Distributed shared memory on standard workstations and operating systems. In Proceedings of the Winter USENIX Conference, pages 115–132, Jan. 1994.
H. Lu, Y. C. Hu, and W. Zwaenepoel. Openmp on networks of workstations. In Proceedings Supercomputing, 1998.
F. Mueller. A library implementation of posix threads under unix. In Proceedings of the USENIX Conference, pages 29–41, Jan. 1993.
F. Mueller. Distributed shared-memory threads: Dsm threads. Workshop on Run-Time systems for Parallel Programming, pages 31–40, April 1997.
J. P. Singh and J. L. Hennessy. Finding and exploiting parallelism in an ocean simulation program: Experiences, results, implications. Journal of Parallel and Distributed Computing, 15(1):27–48, May 1992.
R. Stets, S. Dwarkadas, N. Hardavellas, G. Hunt, L. Kontothanassis, S. Parthasarathy, and M. Scott. Cashmere-2L: Software Coherent Shared Memory on a Clustered Remote-Write Network. In Proc. of the 16th ACM Symp. on Operating Systems Principles (SOSP-16), Oct. 1997.
S. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. Methodological considerations and characterization of the SPLASH-2 parallel application suite. In Proceedings of the 23rd International Symposium on Computer Architecture (ISCA), May 1995.
S. C. Woo, J. P. Singh, and J. L. Hennessy. The performance advantages of integrating message-passing in cache-coherent multiprocessors. In Proceedings of Architectural Support For Programming Languages and Operating Systems, 1994.
Y. Zhou, L. Iftode, and K. Li. Performance evaluation of two home-based lazy release consistency protocols for shared virtual memory systems. In Proceedings of the Operating Systems Design and Implementation Symposium, Oct. 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jamieson, P., Bilas, A. (2001). CableS : Thread Control and Memory System Extensions for Shared Virtual Memory Clusters. In: Eigenmann, R., Voss, M.J. (eds) OpenMP Shared Memory Parallel Programming. WOMPAT 2001. Lecture Notes in Computer Science, vol 2104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44587-0_15
Download citation
DOI: https://doi.org/10.1007/3-540-44587-0_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42346-1
Online ISBN: 978-3-540-44587-6
eBook Packages: Springer Book Archive