ManyCore -Prozessor
ManyCore -Prozessoren sind besondere Arten von Multi-Core-Prozessoren für ein hohes Maß an ein hohes Maß an Parallelverarbeitung, mit zahlreichen einfacheren, unabhängigen Prozessorkerne (Von ein paar Zehn Kernen bis Tausenden oder mehr). ManyCore -Prozessoren werden ausgiebig in verwendet Embedded Computer und High Performance Computing.
Kontrast zur Multicore -Architektur
ManyCore -Prozessoren unterscheiden sich von unterscheiden sich von Multi-Core-Prozessoren von Anfang an optimiert für einen höheren Grad von explizite Parallelitätund für einen höheren Durchsatz (oder einen niedrigeren Stromverbrauch) auf Kosten der Latenz und niedriger Single-Thread-Leistung.
Die breitere Kategorie von Multi-Core-Prozessorenim Gegensatz dazu sind normalerweise so konzipiert, dass sie effizient laufen beide parallel und Seriencode und legt daher mehr Wert auf eine hohe Einthread-Leistung (z. aus der Reihenfolge ausführen, Tiefer Pipelines, mehr Superscalar Ausführungseinheiten und größere, allgemeinere Caches) und geteilte Erinnerung. Diese Techniken widmen Laufzeitressourcen, um implizite Parallelität in einem einzelnen Thread herauszufinden. Sie werden in Systemen verwendet, in denen sie sich kontinuierlich (mit Rückwärtskompatibilität) von einzelnen Kernprozessoren entwickelt haben. Sie haben normalerweise einige "wenige" Kerne (z. B. 2,4,8) und können durch einen Vielfachen ergänzt werden Beschleuniger (so wie ein GPU) in einem Heterogenes System.
Motivation
Cache -Kohärenz ist ein Problem, das die Skalierung von Multicore -Prozessoren einschränkt. ManyCore -Prozessoren können dies mit Methoden wie z. B. umgehen Nachrichtenübergang,[1] Scratchpad -Speicher, DMA,[2] Verteilte globale Adressraum,[3] oder schreibgeschützte/nicht kohärente Caches. Ein vielfältiger Prozessor verwendet a Netzwerk auf einem Chip und lokale Erinnerungen bieten Software die Möglichkeit, das räumliche Aufgabenlayout explizit zu optimieren (z. Truenorth).[4]
ManyCore -Prozessoren können (konzeptionell) mit Technologien, die von Ursprung stammen High Performance Computing wie zum Beispiel Cluster und Vektorprozessoren.[5]
GPU Shader -Verarbeitungseinheitenund nur für hoch parallele Code geeignet sein (hoher Durchsatz, aber extrem schlechte einzelne Thread -Leistung).
Geeignete Programmiermodelle
- Schnittstelle zur Nachrichtenübergabe
- OpenCL[6] oder andere APIs, die unterstützt werden Kernel berechnen
- Verteilte globale Adressraum
- Schauspielermodell
- OpenMP[7]
- Datenfluss
Klassen von Manycore -Systemen
- GPUS, was als viele Core bezeichnet werden kann Vektorprozessoren
- Massiv parallele Prozessorarray
- Asynchrone Array einfacher Prozessoren
Spezifische Manycore -Architekturen
- Zettascaler [1], Japanisch Pezy Computing 2048-Kernmodule
- Xeon Phi Coprozessor mit Mikrofon (Viele integrierte Kerne) die Architektur
- Tilera
- Adapteva Epiphany -Architektur, ein vielfältiger Chip mit PGAs Scratchpad -Speicher
- Kohärenter Logix HX3100-Prozessor, ein 100-Core-DSP/GPP-Prozessor, der auf Hyperx-Architektur basiert
- Movidius Myriad 2, ein vielfältiger Sehverarbeitungseinheit (VPU)
- Kalray, ein vielfältiger PCI-e Beschleuniger für datenintensive Aufgaben
- Teraflops Research Chip, ein vielfältiger Prozessor, der ein Nachrichtenübergang verwendet
- Truenorth, ein KI -Beschleuniger mit einem vielencore -Netzwerk in einer Chiparchitektur
- Green Arrays, ein ManyCore -Prozessor, der eine Nachricht verwendet, die sich auf Anwendungen mit geringer Leistung richtet
- Sunway SW26010, ein 260-Kern-Manycore-Prozessor, der im, dann top 1 Supercomputer verwendet wird Sunway Taihulight
- SW52020, ein verbesserter 520-Kern[8][9] Variante von SW26010 mit 512-Bit-SIMD (auch Unterstützung für die halbe Präzision), die in einem Prototyp verwendet wird, für ein Exascale-System (und in Zukunft 10 Exascale-System) und nach Angaben von DataCenterdynamics China, dass China bereits zwei hat separate Exascale -Systeme heimlich
- Eyeriss, ein Manycore -Prozessor, der für die Ausführung von Faltungsnetzen für eingebettete Sehanwendungen entwickelt wurde[10]
- GraphCore, ein vielfältiger KI -Beschleuniger
Spezifische Manycore -Computer mit 1 m+ CPU -Kernen
Eine Reihe von Computern, die aus Multicore -Prozessoren erstellt wurden, haben eine Million oder mehr einzelne CPU -Kerne. Beispiele beinhalten:
- Gyoukou (japanisch: 暁光 Hepburn: gyōkō, Dawn Light), a Supercomputer entwickelt von exascaler und Pezy Computingmit 20.480.000 Verarbeitungselementen insgesamt plus die 1250 Intel Xeon D -Hostprozessoren.
- Spinnaker, ein massiv paralleler (1M CPU-Kerne) vieler-Core-Prozessor (ARM-basiert), der als Teil der Menschliches Gehirnprojekt.
Spezifische Computer mit 5 m+ CPU -Kernen
Schon ein paar Supercomputer haben über eine Million sogar über 5 Millionen CPU -Kerne. Wenn es auch Coprozessoren gibt, z. GPUs verwendet mit, dann sind diese Kerne nicht in der Kernzählung aufgeführt, dann würden noch einige weitere Computer diese Ziele treffen.
- Grenze
- Fugaku, ein Japaner Supercomputer Verwendung Fujitsu A64FX Insgesamt 7.630.848 Kerne.
- Sunway Taihulight, ein massiv parallel (10 m CPU -Kerne) Chinesisch SupercomputerEinmal einer der schnellsten Supercomputer der Welt, indem er eine benutzerdefinierte Manycore -Architektur verwendet. Ab November 2018, dem drittschnellsten Supercomputer der Welt (wie von der Rangliste Top500 Liste), die Chinesen Sunway Taihulight, erhält seine Leistung von 40.960 SW26010 Viele Prozessoren, die jeweils 256 Kerne enthalten.
Siehe auch
- Multicore
- Vektorprozessor
- Simd
- High Performance Computing
- Computercluster
- Multiprozessorsystem auf einem Chip
- Sehverarbeitungseinheit
- Speicherzugriffsmuster
- Cache -Kohärenz
- Peinlich parallel
- Massiv parallel
- CUDA
Verweise
- ^ Mattson, Tim (Januar 2010). "Die Zukunft vieler Kerncomputer: Eine Geschichte von zwei Prozessoren" (PDF).
- ^ Hendry, Gilbert; Kretschmann, Mark. "IBM -Zellprozessor" (PDF).
- ^ Olofsson, Andreas; Nordström, Tomas; UL-Abdin, Zain (2014). "Kickstart von energieeffizienten Hochleistungs-Manycore-Architekturen mit Offenbarung". Arxiv:1412.5538 [cs.ar].
- ^ Amir, Arnon (11. Juni 2015). "IBM Synapse Deep Tauch Teil 3". IBM -Forschung. Archiviert vom Original am 2021-12-21.
- ^ "Zellarchitektur"."Die Zellarchitektur ist wie nichts, was wir jemals in Rohstoff -Mikroprozessoren gesehen haben. Sie ist näher im Design, um Vektor -Supercomputer zu multiprozessorischen."
- ^ Rick Merritt (20. Juni 2011), "OEMs zeigen Systeme mit Intel -Mikrofon -Chips", www.eetimes.com, EE mal
- ^ Barker, J; Bowden, J (2013). "Viele Parallelität durch OpenMP". OpenMP im Zeitalter von Geräten und Beschleunigern mit geringer Leistung. Iwomp. Vorlesungen in Informatik, Band 8122. Springer. doi:10.1007/978-3-642-40698-0_4.
- ^ Morgan, Timothy Prickett (2021-02-10). "Ein erster Blick auf den chinesischen Sunway Exascale Supercomputer". Die nächste Plattform. Abgerufen 2021-11-18.
- ^ Hemsoth, Nicole (2021-04-19). "Chinas Exascale -Prototyp -Supercomputer testet AI Workloads". Die nächste Plattform. Abgerufen 2021-11-18.
- ^ Chen, Yu-Hsin und Krishna, Tushar und Emer, Joel und Sze, Vivienne (2016). "Eyeriss: Ein energieeffizienter rekonfigurierbarer Beschleuniger für tiefe Faltungsnetzwerke". IEEE International Solid-State Circuits Conference, ISSCC 2016, Digest of Technical Papers. S. 262–263.
{{}}
: CS1 Wartung: Verwendet Autorenparameter (Link)
Externe Links
- Architektierung von Lösungen für die Feughencore -Zukunft, veröffentlicht am 19. Februar 2010 (mehr als ein toter Link in der Folie)
- Eyeriss -Architektur