Massiv paralleles Prozessor-Array - Massively parallel processor array

Eine massiv parallele Prozessoranordnung , auch als Mehrzweckprozessoranordnung ( MPPA ) bekannt, ist eine Art integrierter Schaltung, die eine massiv parallele Anordnung von Hunderten oder Tausenden von CPUs und RAM- Speichern aufweist. Diese Prozessoren geben Arbeit über eine rekonfigurierbare Verbindung von Kanälen aneinander weiter . Durch die Nutzung einer großen Anzahl parallel arbeitender Prozessoren kann ein MPPA-Chip anspruchsvollere Aufgaben erfüllen als herkömmliche Chips. MPPAs basieren auf einem softwareparallelen Programmiermodell für die Entwicklung von Hochleistungsanwendungen für eingebettete Systeme .

Die Architektur

MPPA ist eine MIMD- Architektur (Multiple Instruction Streams, Multiple Data) mit verteiltem Speicher, auf den lokal zugegriffen und nicht global geteilt wird. Jeder Prozessor ist streng gekapselt und greift nur auf seinen eigenen Code und Speicher zu. Die Punkt-zu-Punkt-Kommunikation zwischen den Prozessoren wird direkt im konfigurierbaren Interconnect realisiert.

Die massive Parallelität des MPPA und seine verteilte Speicher-MIMD-Architektur unterscheidet ihn von Multicore- und Manycore- Architekturen, die weniger Prozessoren und eine SMP- oder andere Shared-Memory- Architektur haben, die hauptsächlich für allgemeine Computeranwendungen gedacht ist. Es unterscheidet sich auch von GPGPUs mit SIMD- Architekturen, die für HPC- Anwendungen verwendet werden.

Programmierung

Eine MPPA-Anwendung wird entwickelt, indem sie als hierarchisches Blockdiagramm oder Arbeitsablauf ausgedrückt wird , dessen grundlegende Objekte jeweils auf einem eigenen Prozessor parallel laufen. Ebenso können große Datenobjekte zerlegt und mit parallelem Zugriff in lokale Speicher verteilt werden. Objekte kommunizieren über eine parallele Struktur von dedizierten Kanälen. Das Ziel besteht darin, den Gesamtdurchsatz zu maximieren und gleichzeitig die lokale Latenz zu minimieren sowie Leistung und Effizienz zu optimieren. Das Berechnungsmodell eines MPPA ähnelt einem Kahn-Prozessnetzwerk oder einem kommunizierenden sequentiellen Prozess (CSP).

Anwendungen

MPPAs werden in Hochleistungs verwendet eingebettete Systeme und Hardware - Beschleunigung von Desktop - Computer und Server - Anwendungen, wie Video - Kompression , die Bildverarbeitung , medizinische Bildgebung , Netzwerkverarbeitung , Software Defined Radio und anderen rechenintensiven Streaming - Media - Anwendungen, die sonst verwendet werden FPGA , DSP- und/oder ASIC- Chips.

Beispiele

MPPAs, die in Unternehmen entwickelt wurden, umfassen solche, die von Ambric , PicoChip , Intel , IntellaSys , GreenArrays , ASOCS , Tilera , Kalray , Coherent Logix , Tabula und Adapteva entwickelt wurden . Aspex (Ericsson) Linedancer unterscheidet sich dadurch, dass es sich eher um ein Massive Wide SIMD Array als um ein MPPA handelte. Genau genommen könnte es sich als SIMT qualifizieren, da alle 4096 der 3.000 Gate-Kerne über einen eigenen Content-Addressable Memory verfügen.

Zu den an Universitäten entwickelten fabrizierten MPPAs gehören: 36-Core- und 167-Core- Asynchronous Array of Simple Processors (AsAP)-Arrays von der University of California, Davis , 16-Core-RAW vom MIT und 16-Core- und 24-Core-Arrays von der Fudan University .

Das chinesische Sunway- Projekt entwickelte einen eigenen 260-Kern- SW26010 -Vielkern- Chip für den TaihuLight- Supercomputer, der seit 2016 der schnellste Supercomputer der Welt ist.

Siehe auch

Verweise