A comprehensive bibliography of distributed shared memory
ACM SIGOPS Operating Systems Review
Efficient shared memory with minimal hardware support
ACM SIGARCH Computer Architecture News
Checkpointing Distributed Shared Memory
The Journal of Supercomputing - Special issue: high performance distributed computing
ISCA '99 Proceedings of the 26th annual international symposium on Computer architecture
Optimizing Home-Based Software DSM Protocols
Cluster Computing
Y-Invalidate: A New Protocol for Implementing Weak Consistency in DSM Systems
International Journal of Parallel Programming
Using Loop-Level Parallelism to Parallelize Vectorizable Programs
HIPS '01 Proceedings of the 6th International Workshop on High-Level Parallel Programming Models and Supportive Environments
Application-Controlled Coherence Protocols for Scope Consistent Software DSMs
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Dag-Consistent Distributed Shared Memory
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Experience with Parallel Computing on the AN2 Network
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Enhancing Software DSM for Compiler-Parallelized Applications
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
View Caching: Efficient Software Shared Memory for Dynamic Computations
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
Efficient Support for Two-Dimensional Data Distributions in Distributed Shared Memory Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Efficient Fine-Grain Sharing Support for Software DSMs Through Segmentation
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Performance Benefits of NIC-Based Barrier on Myrinet/GM
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Ship Hull Hydrodynamic Analysis Using Distributed Shared Memory
PARA '00 Proceedings of the 5th International Workshop on Applied Parallel Computing, New Paradigms for HPC in Industry and Academia
Evaluating the DSMIO Cache-Coherence Algorithm in Cluster-Based Parallel ODBMS
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Optimising Shared Reduction Variables in MPI Programs
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
Write Detection in Home-Based Software DSMs
Euro-Par '99 Proceedings of the 5th International Euro-Par Conference on Parallel Processing
A New Home-Based Software DSM Protocol for SMP Clusters
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
CableS: Thread Control and Memory System Extensions for Shared Virtual Memory Clusters
WOMPAT '01 Proceedings of the International Workshop on OpenMP Applications and Tools: OpenMP Shared Memory Parallel Programming
DSM-Communities in the World-Wide Web
DCW '00 Proceedings of the Third International Workshop on Distributed Communities on the Web
The Efeect of Contention on the Scalability of Page-Based Software Shared Memory Systems
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Efficient Categorization of Sharing Patterns in Software DSM Systems
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Active Memory Clusters: Efficient Multiprocessing on Commodity Clusters
ISHPC '02 Proceedings of the 4th International Symposium on High Performance Computing
FRONTIERS '96 Proceedings of the 6th Symposium on the Frontiers of Massively Parallel Computation
Using memory-mapped network interfaces to improve the performance of distributed shared memory
HPCA '96 Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture
Telegraphos: High-Performance Networking for Parallel Processing on Workstation Clusters
HPCA '96 Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture
Improving Release-Consistent Shared Virtual Memory using Automatic Update
HPCA '96 Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture
A Comparison of Entry Consistency and Lazy Release Consistency Implementations
HPCA '96 Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture
HPCA '96 Proceedings of the 2nd IEEE Symposium on High-Performance Computer Architecture
Dynamic Data Replication: An Approach to Providing Fault-Tolerant Shared Memory Clusters
HPCA '03 Proceedings of the 9th International Symposium on High-Performance Computer Architecture
Dynamically Controlling False Sharing in Distributed Shared Memory
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
Portable transparent checkpointing for distributed shared memory
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
A Performance Debugger for Eliminating Excess Synchronization in Shared-Memory Parallel Programs
MASCOTS '96 Proceedings of the 4th International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems
Sparks: coherence as an abstract type
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Update Protocols and Iterative Scientific Applications
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Object Consistency - A New Model for Distributed Memory Systems
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
A Scalable Dynamic Network Memory Service System
HPCASIA '05 Proceedings of the Eighth International Conference on High-Performance Computing in Asia-Pacific Region
Software behavior oriented parallelization
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Automatic nonblocking communication for partitioned global address space programs
Proceedings of the 21st annual international conference on Supercomputing
International Journal of High Performance Computing and Networking
Global trees: a framework for linked data structures on distributed memory parallel systems
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
COMIC: a coherent shared memory interface for cell be
Proceedings of the 17th international conference on Parallel architectures and compilation techniques
Software transactional distributed shared memory
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
Fast Track: A Software System for Speculative Program Optimization
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
PSMalloc: content based memory management for MPI applications
Proceedings of the 10th workshop on MEmory performance: DEaling with Applications, systems and architecture
Grace: safe multithreaded programming for C/C++
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Simulation tools to study a distributed shared memory for clusters of symmetric multiprocessors
Future Generation Computer Systems
An asymmetric distributed shared memory model for heterogeneous parallel systems
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Parallel DNA sequence alignment using a DSM system in a cluster of workstations
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartII
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
Micro-benchmarks for cluster OpenMP implementations: memory consistency costs
IWOMP'08 Proceedings of the 4th international conference on OpenMP in a new era of parallelism
An OpenCL framework for heterogeneous multicores with local memory
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
vNUMA: a virtual shared-memory multiprocessor
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Implementing an OpenMP execution environment on InfiniBand clusters
IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
A segment-based DSM supporting large shared object space
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Lightweight logging and recovery for distributed shared memory over virtual interface architecture
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
Automatically generating symbolic prefetches for distributed transactional memories
Proceedings of the ACM/IFIP/USENIX 11th International Conference on Middleware
Dthreads: efficient deterministic multithreading
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
SHERIFF: precise detection and automatic mitigation of false sharing
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Distributed application configuration, management, and visualization with plush
ACM Transactions on Internet Technology (TOIT)
Using shared arrays in message-driven parallel programs
Parallel Computing
Evaluation of the acknowledgment reduction in a Software-DSM system
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
ICA3PP'05 Proceedings of the 6th international conference on Algorithms and Architectures for Parallel Processing
An efficient software shared virtual memory for the single-chip cloud computer
Proceedings of the Second Asia-Pacific Workshop on Systems
Transactional cluster computing
HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
Reducing memory sharing overheads in distributed JVMs
HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
Lazy home-based protocol: combining homeless and home-based distributed shared memory protocols
HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
Compiler-Assisted software DSM on a WAN cluster
PDCAT'04 Proceedings of the 5th international conference on Parallel and Distributed Computing: applications and Technologies
Performance evaluation of a reservoir simulator on a multi-core cluster
ICCSA'10 Proceedings of the 2010 international conference on Computational Science and Its Applications - Volume Part IV
MSA: multiphase specifically shared arrays
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Revisiting shared virtual memory systems for non-coherent memory-coupled cores
Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
DVM: towards a datacenter-scale virtual machine
VEE '12 Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
Integrating coordinated checkpointing and recovery mechanisms into DSM synchronization barriers
WEA'05 Proceedings of the 4th international conference on Experimental and Efficient Algorithms
Update protocols and cluster-based shared memory
Computer Communications
Application-specific thread schedulers for distributed applications
Concurrency and Computation: Practice & Experience
Designing a unified programming model for heterogeneous machines
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Esodyp+: prefetching in the Jackal software DSM
Euro-Par'07 Proceedings of the 13th international Euro-Par conference on Parallel Processing
Performance evaluation of view-oriented parallel programming on cluster of computers
HPCC'07 Proceedings of the Third international conference on High Performance Computing and Communications
Towards elastic operating systems
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
OCTET: capturing and controlling cross-thread dependences efficiently
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Efficient deterministic multithreading without global barriers
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
TreadMarks is a distributed shared memory (DSM) system for standard Unix systems such as SunOS and Ultrix. This paper presents a performance evaluation of TreadMarks running on Ultrix using DECstation-5000/240's that are connected by a 100-Mbps switch-based ATM LAN and a 10-Mbps Ethernet. Our objective is to determine the efficiency of a user-level DSM implementation on commercially available workstations and operating systems. We achieved good speedups on the 8-processor ATM network for Jacobi (7.4), TSP (7.2), Quicksort (6.3), and ILINK (5.7). For a slightly modified version of Water from the SPLASH benchmark suite, we achieved only moderate speedups (4.0) due to the high communication and synchronization rate. Speedups decline on the 10-Mbps Ethernet (5.5 for Jacobi, 6.5 for TSP, 4.2 for Quicksort, 5.1 for ILINK, and 2.1 for Water), reflecting the bandwidth limitations of the Ethernet. These results support the contention that, with suitable networking technology, DSM is a viable technique for parallel computation on clusters of workstations. To achieve these speedups, TreadMarks goes to great lengths to reduce the amount of communication performed to maintain memory consistency. It uses a lazy implementation of release consistency, and it allows multiple concurrent writers to modify a page, reducing the impact of false sharing. Great care was taken to minimize communication overhead. In particular, on the ATM network, we used a standard low-level protocol, AAL3/4, bypassing the TCP/IP protocol stack. Unix communication overhead, however, remains the main obstacle in the way of better performance for programs like Water. Compared to the Unix communication overhead, memory management cost (both kernel and user level) is small and wire time is negligible. This research was supported in part by the National Science Foundation under Grants CCR-9116343, CCR-9211004, CDA-9222911, and CDA-9310073, by the Texas Advanced Technology Program under Grant 003604014, and by a NASA Graduate Fellowship.