Distributed shared memory frameworks: Comparison of implementations

Loading...
Thumbnail Image

Date

2021-08-24

Authors

Herman, Artur

Journal Title

Journal ISSN

Volume Title

Publication Type

Wissenschaftlicher Artikel

Published in

Proceedings of the 2020 OMI Seminars (PROMIS 2020), 2021

Abstract

A Distributed Shared Memory (DSM) is a memory architecture where separated memories in different nodes can be addressed as one shared address space. It is created by a group of nodes, where each node provides a part of its local memory. Every node of the group is allowed to read or write to the DSM. This enables parallel calculations of complex tasks in multiple nodes and thus increases performance compared to a single-node calculation. DSM frameworks provide mechanisms to create and access a DSM. There are many challenges in the field of DSMs that need to be addressed by the frameworks. These challenges are identified and described in this paper. With regard to these challenges, the DSM frameworks UPC++, DASH, OpenSHMEM, Titanium and Co-Array Fortran are investigated and compared with each other. All investigated frameworks are PGAS implementations. PGAS is one way to implement a DSM, on which this paper is focused. For some challenges the approaches of the frameworks are very similar. However, there are also challenges for which the frameworks offer very different solutions.

Description

Faculties

Fakultät für Ingenieurwissenschaften, Informatik und Psychologie

Institutions

Institut für Organisation und Management von Informationssystemen

Citation

DFG Project uulm

License

CC BY-ND 4.0 International

Is version of

Has version

Supplement to

Supplemented by

Has errratum

Erratum to

Has Part

DOI external

Institutions

Periodical

Degree Program

DFG Project THU

Series

Keywords

DSM, UPC++, DASH, OpenSHMEM, Titanium, Co-Array Fortran, Verteilter Speicher, Gemeinsamer Speicher, Memory management (Computer science), Distributed shared memory, UPC (Computer program language), Electronic data processing; Distributed processing, Parallel programming (Computer science), Parallel processing (Electronic computers), DDC 004 / Data processing & computer science