Manycore-Prozessor - Manycore processor
Manycore-Prozessoren sind spezielle Arten von Mehrkernprozessoren, die für ein hohes Maß an Parallelverarbeitung ausgelegt sind und zahlreiche einfachere, unabhängige Prozessorkerne enthalten (von einigen zehn Kernen bis hin zu Tausenden oder mehr). Manycore-Prozessoren werden häufig in eingebetteten Computern und Hochleistungsrechnern verwendet .
Kontrast mit Multicore-Architektur
Manycore - Prozessoren unterscheiden sich von Multi-Core Prozessoren in von vornherein für einen höheren Grad an optimiert explizite Parallelität und für höheren Durchsatz (oder einen geringeren Stromverbrauch) auf Kosten der Latenz und senken die Leistung einzelner Thread .
Die breitere Kategorie von Mehrkernprozessoren , hingegen ist so ausgelegt , in der Regel , um effizient läuft sowohl parallel und seriellen Code und damit mehr Gewicht auf den Hoch platzieren einzelnen Thread Leistung (zB widmet mehr Silizium Ausführung außerhalb der Reihenfolge , tiefere Pipelines , mehr superskalaren Ausführungseinheiten und größere, allgemeinere Caches) und Shared Memory . Diese Techniken verwenden Laufzeitressourcen, um implizite Parallelität in einem einzelnen Thread herauszufinden. Sie werden in Systemen verwendet, in denen sie sich (mit Abwärtskompatibilität) von Single-Core-Prozessoren kontinuierlich weiterentwickelt haben. Sie haben normalerweise "wenige" Kerne (zB 2,4,8) und können in einem heterogenen System durch einen Vielkern- Beschleuniger (wie eine GPU ) ergänzt werden .
Motivation
Cache-Kohärenz ist ein Problem, das die Skalierung von Multicore-Prozessoren einschränkt. Manycore-Prozessoren können dies mit Methoden wie Message Passing , Scratchpad Memory , DMA , partitionierten globalen Adressraum oder schreibgeschützten/nicht kohärenten Caches umgehen . Ein Manycore-Prozessor, der ein Netzwerk auf einem Chip und lokale Speicher verwendet, gibt der Software die Möglichkeit, die räumliche Anordnung von Aufgaben explizit zu optimieren (z. B. wie in Werkzeugen, die für TrueNorth entwickelt wurden ).
Manycore-Prozessoren haben möglicherweise (konzeptionell) mehr mit Technologien gemeinsam, die ihren Ursprung im Hochleistungsrechnen wie Cluster und Vektorprozessoren haben .
GPUs können als eine Form von Vielkernprozessoren mit mehreren Shader-Verarbeitungseinheiten angesehen werden und sind nur für hochparallelen Code geeignet (hoher Durchsatz, aber extrem schlechte Single-Thread-Leistung).
Geeignete Programmiermodelle
- Schnittstelle zur Nachrichtenweitergabe
- OpenCL oder andere APIs, die Rechenkerne unterstützen
- Partitionierter globaler Adressraum
- Schauspielermodell
- OpenMP
- Datenfluss
Klassen von Manycore-Systemen
- GPUs , die als Manycore- Vektorprozessoren beschrieben werden können
- Massiv paralleles Prozessor-Array
- Asynchrones Array einfacher Prozessoren
Spezifische Manycore-Architekturen
- ZettaScaler [1] , japanisches PEZY Computing 2048-Core-Module
- Xeon Phi- Coprozessor mit MIC- Architektur ( Many Integrated Cores )
- Tilera
- Adapteva Epiphany Architecture, ein Manycore-Chip mit PGAS- Scratchpad-Speicher
- Coherent Logix hx3100-Prozessor , ein 100-Kern-DSP/GPP-Prozessor basierend auf der HyperX-Architektur
- Movidius Myriad 2 , eine Manycore- Vision-Prozessoreinheit
- Kalray , ein PCI-e- Beschleuniger mit vielen Kernen für datenintensive Aufgaben
- Teraflops Research Chip ein Vielkernprozessor mit Message Passing
- TrueNorth ein KI-Beschleuniger mit einem Manycore-Netzwerk auf einer Chip-Architektur
- Green ordnet einen Vielkernprozessor mit Message Passing für Anwendungen mit geringem Stromverbrauch an
- Eyeriss , ein Manycore-Prozessor, der für den Betrieb von Convolutional Neural Nets für Embedded Vision-Anwendungen entwickelt wurde
- Graphcore , ein Manycore- KI-Beschleuniger
Spezifische Manycore-Computer mit mehr als 1 Mio. CPU-Kernen
Eine Reihe von Computern, die mit Multicore-Prozessoren gebaut sind, haben eine Million oder mehr einzelne CPU-Kerne. Beispiele beinhalten:
- Sunway TaihuLight , ein massiv paralleler (10M CPU-Kerne) chinesischer Supercomputer , einst einer der schnellsten Supercomputer der Welt, mit einer benutzerdefinierten Manycore-Architektur. Der drittschnellste Supercomputer der Welt ( laut TOP500- Liste), der chinesische Sunway TaihuLight , bezieht seine Leistung seit November 2018 aus 40.960 SW26010- Vielkern-Prozessoren mit jeweils 256 Kernen.
- Gyoukou ( japanisch : 暁光Hepburn : gyōkō , Morgenlicht ), ein Supercomputer, der von ExaScaler und PEZY Computing entwickelt wurde .
- SpiNNaker , ein massiv paralleler (1M CPU-Kerne) Manycore-Prozessor, der als Teil des Human Brain Project entwickelt wurde
Siehe auch
- Multicore
- Vektorprozessor
- SIMD
- High Performance Computing
- Computercluster
- Multiprozessorsystem auf einem Chip
- Bildverarbeitungseinheit
- Speicherzugriffsmuster
- Cache-Kohärenz
- Peinlich parallel
- Massiv parallel
- CUDA
Verweise
Externe Links
- Architekturlösungen für die Manycore-Zukunft , veröffentlicht am 19. Februar 2010 (mehr als ein toter Link in der Folie)
- Eyeriss Architektur