A segment-based DSM supporting large shared object space
Page 37
Abstract
This paper introduces a software DSM that can extend its shared object space exceeding 4GB in a 32- bit commodity cluster environment. This is achieved through the dynamic memory mapping mechanism, with local hard disks as backing store. We introduce the new concept of segments with intelligent splitting to reduce network traffic, false sharing as well as adapt better to the shared memory access patterns. A priority-based swapping algorithm is designed to reduce disk accesses for efficient dynamic memory mapping, and maximize the use of disk space as shared object space. A new queue-based scheme is also devised for efficient and simple management of memory blocks. The proposed solutions were implemented in LOTS V.2, and it can outperform its previous version when running small applications, while the maximum shared object space is increased to one-third of the total free disk space available among all the nodes.
References
[1]
R. Ananthanarayanan, S. Menon, A. Mohindra, and U. Ramachandran. Experiences in integrating distributed shared memory with virtual memory management. Operating Systems Review, 26(3):4-26, July 1992.
[2]
A. Banerji, D. Kulkarni, J. Tracey, P. Greenawalt, and D. L. Cohn. High-performance distributed shared memory substrate for workstation clusters. In Proc. of the Second IEEE Int'l Symp. on High Performance Distributed Computing (HPDC-2), 1993.
[3]
B. N. Bershad and M. J. Zekauskas. Midway: Shared memory parallel programming with entry consistency for distributed memory multiprocessors. CMU-CS-91- 170, pages 528-537, Sept. 1991.
[4]
M. Castro, A. Adya, B. Liskov, and A. C. Myers. Hac: Hybrid adaptive caching for distributed storage systems. In Proc. of the ACM Symposium on Operating System Principles (SOSP'97), Saint-Malo, France, Oct. 1997.
[5]
B. W. L. Cheung, C. L. Wang, and K. Hwang. A migrating-home protocol for implementing scope consistency model on a cluster of workstations. In the 1999 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'99), Las Vegas, Nevada, USA, June 1999.
[6]
B. W. L. Cheung, C. L. Wang, and F. C. M. Lau. Building a global object space for supporting single system image on a cluster. Annual Review of Scalable Computing, 4, 2002.
[7]
B.W. L. Cheung, C. L. Wang, and F. C. M. Lau. Lots: A software dsm supporting large object space. In Proc. of 2004 IEEE Int'l Conference on Cluster Computing (Cluster2004), pages 225-234, Sept. 2004.
[8]
A. L. Cox, E. de Lara, C. Hu, and W. Zwaenepoel. A performance comparison of home-less and home-based lazy release consistency protocols in software shared memory. In Proc. of the 5th High Performance Computer Architecture Conference, Jan. 1999.
[9]
W. Hu, W. Shi, and Z. Tang. Jiajia: An svm system based on a new cache coherence protocol. In Proc. of the High-Performance Computing and Networking Europe 1999 (HPCN'99), pages 463-472, Apr. 1999.
[10]
L. Iftode, J. P. Singh, and K. Li. Scope consistency: A bridge between release consistency and entry consistency. In Proc. of the 8th ACM Annual Symposium on Parallel Algorithms and Architectures (SPAA'96), pages 277-287, June 1996.
[11]
K. L. Johnson, M. F. Kaashoek, and D. A. Wallach. Crl: High-performance all-software distributed shared memory. In Proc. of the 15th ACM Symposium on Operating Systems Principles (SOSP), volume 29, pages 213-226, 1995.
[12]
P. Keleher, A. L. Cox, and W. Zwaenepoel. Lazy release consistency for software distributed shared memory. In Proc. of the 19th Annual International Symposium on Computer Architecture (ISCA'92), pages 13-21, May 1992.
[13]
P. Keleher, S. Dwarkadas, A. L. Cox, and W. Zwanepoel. Treadmarks: Distributed shared memory on standard workstations and operating systems. In Proc. of the Winter 1994 USENIX Conference, pages 115-131, Jan. 1994.
[14]
A. Kemper and D. Kossmann. Adaptable pointer swizzling strategies in object bases: Design, realization, and quantitative analysis. VLDB Journal, 4(3):519- 566, July 1996.
[15]
C. Lamb, G. Landis, J. Orenstein, and D. Weinreb. The objectstore database system. Communications of the ACM, 34(10), Oct. 1991.
[16]
I. Lipkind, I. Pechtchanski, and V. Karamcheti. Object views: language support for intelligent object caching in parallel and distributed computations. ACM SIGPLAN Notices, 34(10):447-460, 1999.
[17]
H. Lu, S. Dwarkadas, A. L. Cox, and W. Zwaenpoel. Message passing versus distributed shared memory on networks of workstations. In Proc. of SuperComputing' 95, Dec. 1995.
[18]
A memory allocator by doug lea. http://gee.cs.oswego.edu/dl/html/malloc.html.
[19]
R. Veldema, R. A. F. Bhoedjang, and H. E. Bal. Jackal, a compiler based implementation of java for clusters of workstations. In PPoPP 2001, 2001.
[20]
S. J. White and D. J. DeWitt. Quickstore: A high performance mapped object store. In ACM SIGMOD International Conference on Management of Data, pages 395-406, Paris, France, May 1994.
[21]
P. R. Wilson. Pointer swizzling at page fault time: Efficiently and compatibly supporting huge address spaces on standard hardware. In Proc. of the International Workshop on Object Orientation in Operating Systems, pages 364-377, Paris, France, Sept. 1992.
Recommendations
DSM: A Case for Hardware-Assisted Merging of DRAM Rows with Same Content
The number of cores and the capacities of main memory in modern systems have been growing significantly. Specifically, memory scaling, although at a slower pace than computation scaling, provided opportunities for very large DRAMs with Terabytes (TBs) ...
A Multi-locking Mechanism on Shared Object DSM
ICPADS '02: Proceedings of the 9th International Conference on Parallel and Distributed SystemsShared object Distributed Shared Memory (DSM) minimizesthe problem of false sharing by allowing programmerto control the sharing size. This shared object approach fordistributed parallel programming works well in task parallelismbut not in data ...
Comments
Information & Contributors
Information
Published In
April 2006
399 pages
ISBN:1424400546
Sponsors
- IEEE CS TCPP: IEEE Computer Society Technical Committee on Parallel Processing
In-Cooperation
- IEEE TCCA: IEEE Computer Society Technical Committee on Computer Architecture
- SIGARCH: ACM Special Interest Group on Computer Architecture
- IEEE Computer Society Technical Committee on Distributed Processing
Publisher
IEEE Computer Society
United States
Publication History
Published: 25 April 2006
Check for updates
Qualifiers
- Article
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 0Total Downloads
- Downloads (Last 12 months)0
- Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025