@techreport{Kuban2021, author = {Kuban, Robert}, title = {PGAS for (in)coherent manycore systems}, doi = {10.26127/BTUOpen-5618}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus4-56183}, year = {2021}, abstract = {As the architectural walls drive the number of parallel cores in multicore systems up, it becomes harder to maintain cache coherence across all of the physical memory and all cores. On the other hand, even given a performant cache-coherent system, the unavoidable non-uniform memory (NUMA) and non-uniform cache (NUCA) architectures make programming for it difficult. A potential solution to this problem is to interpret massive multicore machines as a distributed system with remote memory access, and therefore, use existing distributed programming models. A natural fit for such an approach is the PGAS model, which provides a global address space divided into partitions that can be either local or remote. Unfortunately, completely discarding the notion of sharing ignores the efficient hardware mechanisms available in multicore machines with shared memory. This survey examines PGAS frameworks and communication libraries with an focus on the PGAS model to enable PGAS applications to exploit shared memory in massive multicore machines without sacrificing the benefits of the PGAS programming model.}, subject = {PGAS; Shared memory; Manycore systems; PGAS; Gemeinsamer Speicher; Vielkernsysteme; Mehrkernsysteme; Gemeinsamer Speicher; Mehrrechnersystem}, language = {en} }