CAS-DSM: A Compiler Assisted Software Distributed Shared Memory

Manoj, N. P.; Manjunath, K. V.; Govindarajan, R.
April 2004
International Journal of Parallel Programming;Apr2004, Vol. 32 Issue 2, p77
Academic Journal
Traditional software Distributed Shared Memory (DSM) systems rely on the virtual memory management mechanisms to detect accesses to shared memory locations and maintain their consistency. The resulting involvement of the OS (kernel) and the associated overhead which is significant, can be avoided by careful compile time analysis and code instrumentation. In this paper, we propose such a Compiler Assisted Software support approach (CAS-DSM). In the CAS-DSM implementation, the involvement of the OS kernel is avoided by instrumenting the application code at the source level. The overhead caused by the execution of the instrumented code is reduced through several aggressive compile time optimizations. Finally, we also address the issue of reducing certain overheads in polling-based implementation of receiving asynchronous messages. We used SUIF, a public domain compiler tool, to implement compile time analysis, instrumentation and optimizations. We modified CVM, a publicly available software DSM to support the instrumentation inserted by the compiler. Detailed performance evaluation of CAS-DSM is reported using a set of Splash/Splash2 parallel application benchmarks on a distributed memory IBM SP-2 machine. CAS-DSM achieved moderate to good performance improvements for most of the applications compared to the original CVM implementation. Reducing the overheads in polling-based implementation improves the performance of CAS-DSM significantly resulting in an overall improvement of 12–52% over the original CVM implementation.


Related Articles

  • Five Steps to a Leaner, Cleaner Windows. Dunn, Scott; Lasky, Michael S.; O'Reilly, Dennis; Dahl, Eric // PCWorld;Oct2003, Vol. 21 Issue 10, p162 

    Offers tips to users of the Microsoft Windows computer operating system in eliminating clutter in their system folders and maximizing space available on their drives. Process of killing off unneeded files in Windows 2000 and XP; Steps in relocating virtual memory; Procedure in relocating print...

  • Hoard Memory Allocator.  // Network Dictionary;2007, p229 

    A reference entry for "hoard memory allocator" or "hoard" is presented. Hoard is a memory allocator for Linux, Solaris, Microsoft Windows and other operating systems. It can improve the performance of multi-threaded applications by providing fast, scalable memory management functions. In...

  • Anti- Ω: the weakest failure detector for set agreement. Zieliński, Piotr // Distributed Computing;Aug2010, Vol. 22 Issue 5/6, p335 

    In the set agreement problem, n processes have to decide on at most n − 1 of the proposed values. This paper considers asynchronous shared-memory systems equipped with an anti- Ω failure detector. Each query to the anti- Ω returns a process id; the specification ensures that there is...

  • Inside a hypervisor. Bradbury, Danny // Computer Weekly;2/10/2009, p16 

    The article presents information on hypervisor, which is a small segment of code designed to share physical resources between a number of logical virtual machines. The hypervisor takes contended resources such as interrupt controllers and network cards, and presents a synthetic version of them...

  • Hybrid Analysis: Static & Dynamic Memory Reference Analysis. Rus, Silvius; Rauchwerger, Lawrence; Hoeflinger, Jay // International Journal of Parallel Programming;Aug2003, Vol. 31 Issue 4, p251 

    We present a novel Hybrid Analysis technology which can efficiently and seamlessly integrate all static and run-time analysis of memory references into a single framework that is capable of performing all data dependence analysis and can generate necessary information for most associated memory...

  • 65: Brainlike Device Could Accelerate Computing. Ornes, Stephen // Discover;Jan2009, Vol. 30 Issue 1, p56 

    This article reports on the development of computer company Hewlett-Packard's memory resistor, or memristor, device for information retention. The concept of the memristor originated in 1971 as a device for storing short- and long-term computer memory that would function as an artificial...

  • Related Work.  // IEEE Internet Computing;Mar/Apr2005, Vol. 9 Issue 2, p25 

    This article notes other studies on recovery-oriented computing conducted as of March 2005. Operating system support for fast recovery helps improve the availability of systems and services. Previous research has employed three techniques to achieve fast recovery: protection from crashes through...

  • EFFECTS OF SYSTEM PAGING / THRASHING OVERHEAD ON SYSTEM PERFORMANCE BASED ON DEGREE OF MULTIPROGRAMMING. Ehis, Akhigbe-Mudu Thursday // Annals. Computer Science Series;2013, Vol. 11 Issue 2, p45 

    There is usually a strong concern about the functionality of computer systems and very little concern about its performance. In general, performance becomes an issue only when the performance becomes perceived as being poor by users. Major constraints on systems show themselves in form of...

  • Inefficiency of Data Storing in Physical Memory. Mohamad, Kamaruddin Malik; Jamel, Sapiee Haji; Deris, Mustafa Mat // Proceedings of World Academy of Science: Engineering & Technolog;Feb2009 Supplement, Vol. 50, p856 

    Memory forensic is important in digital investigation. The forensic is based on the data stored in physical memory that involve memory management and processing time. However, the current forensic tools do not consider the efficiency in terms of storage management and the processing time. This...


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics