New system software for parallel programming models on the Intel SCC many-core processor

SummarySince the beginning of the multicore era, parallel processing has become prevalent across the board. On a traditional multicore system, a single operating system manages all cores and schedules threads and processes among them, inherently supported by hardware‐implemented cache coherence prot...

Full description

Saved in:
Bibliographic Details
Published in:Concurrency and computation Vol. 27; no. 9; pp. 2235 - 2259
Main Authors: Clauss, Carsten, Lankes, Stefan, Reble, Pablo, Bemmerl, Thomas
Format: Journal Article
Language:English
Published: Chichester, UK John Wiley & Sons, Ltd 25.06.2015
Subjects:
ISSN:1532-0626, 1532-0634
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:SummarySince the beginning of the multicore era, parallel processing has become prevalent across the board. On a traditional multicore system, a single operating system manages all cores and schedules threads and processes among them, inherently supported by hardware‐implemented cache coherence protocols. However, a further growth of the number of cores per system implies an increasing chip complexity, especially with respect to the cache coherence protocols. Therefore, a very attractive alternative for future many‐core systems is to waive the hardware‐based cache coherency and to introduce a software‐oriented message‐passing based architecture instead: a so‐called Cluster‐on‐Chip architecture. Intel's Single‐chip Cloud Computer (SCC), a many‐core research processor with 48 non‐coherent memory‐coupled cores, is a very recent example for such a cluster‐on‐chip architecture. The SCC can be configured to run one operating system instance per core by partitioning the shared main memory in a strict manner. However, it is also possible to access the shared main memory in an unsplit and concurrent manner, provided that either the caches are disabled or the cache coherency is then ensured by software. In this article, we detail our experiences gained while developing low‐level software for message‐passing and shared‐memory programming on the SCC. We present an SCC‐customized MPI library (called SCC‐MPICH) as well as a shared virtual memory system (called MetalSVM) for the SCC. In doing so, we evaluate the potential of both programming models and we show how these models can be improved especially with respect to the SCC's many‐core architecture. Copyright © 2013 John Wiley & Sons, Ltd.
Bibliography:ark:/67375/WNG-ZZHMDNN0-J
istex:D36BBFB2A9493C5E3A9A74CCF694C0F602036D00
ArticleID:CPE3033
ISSN:1532-0626
1532-0634
DOI:10.1002/cpe.3033