Distributed shared memory frameworks: Comparison of implementations
Loading...
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
EU Project THU
Other projects THU
License
CC BY-ND 4.0 International
Is version of
Has version
Supplement to
Supplemented by
Has erratum
Erratum to
Has Part
DOI external
DOI external
Institutions
Periodical
Degree Program
DFG Project THU
item.page.thu.projectEU
item.page.thu.projectOther
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