Nachricht senden

Nachrichten

March 11, 2021

Gebiet-spezifisches Gedächtnis

die Gebiet-spezifische Datenverarbeitung ist die ganze Raserei, aber es vermeidet das wirkliche Problem.

Das größere Interesse ist die Gedächtnisse, die Prozessorleistung drosseln, mehr Energie verbrauchen und den meisten Chipbereich aufnehmen. Gedächtnisse müssen von den steifen Strukturen frei brechen, die durch vorhandene Software bevorzugt werden. Wenn Algorithmen und Gedächtnis zusammen entworfen sind, sind Leistungssteigerungen bedeutend und die Verarbeitung kann optimiert werden.

die Gebiet-spezifische Verarbeitung wurde durch den Turing-Vortrag 2018, „ein neues goldenes Zeitalter für Rechnerarchitektur,“ durch John Hennessy und David Patterson popularisiert. Aber Prozessoren sind durch Gedächtnis für Jahrzehnte begrenzt worden. Die ändernde Verarbeitung ohne überdenken vom Gedächtnis und Speicherhierarchien ignoriert Amdahls Gesetz, das ein mathematisches Verhältnis zwischen beschleunigen mögliches für ein System liefert, wenn bestimmte Stücke dieses Systems verbessert werden. Es sagt Sie im Allgemeinen, abnehmende Wirtschaftserträge zu erhalten, wenn Sie sich nur auf Einteiler des Systems eher als konzentrieren, das System als Ganzes betrachtend.

So, warum man nicht auf den Engpass konzentriert? „Gebiet-spezifisches Gedächtnis ist gerade ein neuer Ausdruck, aber Architekten haben diese Arten von Optimierungen für eine lange Zeit getan,“ sagt Prasad Saggurti, Direktor des Produkt-Marketings bei Synopsys. „Und wenn sie nicht haben, verfehlen sie einen Trick, weil die meisten Leute haben getan ihn.“

Andere stimmen zu. „Erinnern Sie sich an Videospeicher — D-RAM mit eingebauten Schieberegistern?“ fragt Michael Frank, Gefährten und Systemarchitekten an Arteris IP. „Möglicherweise GDDR [1-5], spezielle Etikettenspeicher oder assoziative Speicher zurück an den Tagen von TTL? Viel haben diese nicht wirklich überlebt, weil ihre Funktionalität zu spezifisch war. Sie visierten ein einzigartiges Gerät an. Sie benötigen ein großes genug Gebiet, und Sie kämpfen gegen die niedrigen Kosten des heutigen D-RAM, das hat den Nutzen des hohen Volumens und der umfangreichen Herstellung.“

Manchmal geht es tiefer als das. „Sie verdrahteten möglicherweise etwas in ein ROM fest,“ sagt Synopsys Saggurti. „Was wir sehen, mehr Leute sind, die heute Gedächtnis einstellen. Zum Beispiel mit einer Fourier-Transformation, oder ein Z wandeln um, würden Leute den Code schreiben, sodass Sie die Koeffizienten in einem bestimmten Auftrag speichern konnten. Wenn Sie eine Matrixvermehrung tun, können Sie die Koeffizienten in einem bestimmten Auftrag speichern, damit, ihn zu lesen heraus schneller sein würde. Sie speichern möglicherweise Daten nicht in einem Speicher stattdessen, setzen es in drei oder vier verschiedene Gedächtnisse ein, damit Sie Sachen mehrfache Datenwege durchlesen konnten. Diese Arten von Sachen sind geschehen vor kurzem.“

Änderung ist hart. „Die Herausforderung ist, dass in der Vergangenheit, hatten Leute ein nettes, abstraktes Modell für das Denken an Computing-Systeme,“ sagt Steven Woo, Gefährten und bemerkenswerten Erfinder bei Rambus. „Sie mussten an Gedächtnis nie wirklich denken. Es kam entlang für freies und das Programmierungsmodell machte es solch das, als Sie Hinweise auf Gedächtnis taten, es geschah gerade. Sie mussten nie sein ausdrücklich über, was Sie taten.“

Fortschritt wird in der allgemeinen Gedächtnisleistung gemacht. „Heutige Gedächtnisprüfer und moderne Schnittstellennormen haben drastisch, was Sie von moderner Silikontechnologie extrahieren können,“ sagt Arteris Frank verbessert. „Dieses hat tiefen Reihen und modernen Schedulern ermöglicht. Vor moderne Zweikanalmagnetbandelemente, wie hohes Bandbreitengedächtnis (HBM) und, gestapelt zu sterben Stützbandbreite, der wir dachten unmögliches, gerade einem Jahrzehnt zu erzielen. Noch kommt es nicht billig. Sub-10 Nanometer Technologien ermöglichen auch großen Pufferspeichern, so möglicherweise wir können das dieses Gebiet-spezifische Gedächtnis des armen Mannes nennen.“

Aber diese sind alle Beispiele von kleinen Zuwachsänderungen. „Architecting-Gedächtnissubsysteme, in denen Berechnung hauptsächlich Daten folgt, eher als die andere Weise herum, erfordert ein bedeutendes überdenken von vielen Geboten, dass Architekten gewöhnt werden,“ sagt Matt Horsnell, älteren Hauptversuchsingenieur für Gruppe die Forschung und Entwicklung des Armes. „Es gibt eine Gelegenheit, die Programmierungsabstraktion, von der heutigen typischen Liste von Operationen auf Daten, zu einer erweiterten Form zu erhöhen, die Gleichzeitigkeit und irgendeinen Begriff der relativen Abstände zwischen Berechnungseinheiten und Datenelementen einkapselt. Solche Abstraktionen konnten den notwendigen Umwandlungen zu, optimaler ermöglichen spezifische Gedächtnisse des Gebietes anzuvisieren, wenn Algorithmen entwickeln schnell.“

Rechenzentren im Fahrersitz
Rechenzentren sind die Fahrer für viele Technologietendenzen heute. „Eine der am schnellsten wachsenden Anwendungen für Berechnung ist in den Rechenzentren, in denen die Software-Anwendungen mehr Speicherkapazität sich sehnen, Bandbreite an der niedrigeren Latenz,“ sagt Ravi Thummarukudy, CEO für Mobiveil. „Mit dem Aufkommen des spätesten Industriestandards, der Berechnungs-Eilverbindung (CXL), der Systemarchitekten können Reihe das Gedächtnis, das zwischen Arbeitsspeicher in DDRn DIMMS und CXL-ansässige DDRn- benötigt wird oder neuerehartnäckige Gedächtnisse. Die Latenz und die wirtschaftlichen Eigenschaften dieser Reihen von Gedächtnissen sind unterschiedlich, und die gibt Architekten Wahlen, um die Gedächtnisse zu mischen und zusammenzubringen, um ihren Anforderungen zu entsprechen.“

Die ist eine Fortsetzung der Vermächtnisgedächtnisarchitektur. „Viele Soems und Systemhäuser entwerfen ihr eigenes SoCs, um Silikon zu ihren spezifischen Arbeitsbelastungen besonders anzufertigen,“ sagt Tim Kogel, Hauptanwendungstechniker bei Synopsys. „Die größte Gelegenheit für Leistungs- und Energiegewinne ist die Spezialisierung der Speicherhierarchie zusammen mit der Unterstützungsverbindungsarchitektur.

Betrachten Sie Energie. „In gegenwärtiger Architektur, 90% der Energie für AI-Arbeitsbelastungen wird durch Datenbewegung verbraucht und überträgt die Gewichte und die Aktivierungen zwischen externes Gedächtnis, Aufchippufferspeicher und schließlich auf das Datenverarbeitungselement selbst (siehe Tabelle 1),“ sagt Arun Iyengar, CEO von Untether AI. „Nur indem wir auf den Bedarf an der Folgerungsbeschleunigung uns konzentrieren und Energie-Leistungsfähigkeit maximieren, sind wir fähig, beispiellose Computerleistung zu liefern.“

Gedächtnisoptimierung ist ein System-stufiges Problem, das alle Aspekte des Entwurfs berührt — Hardware, Software und Werkzeuge. „Die Strategien, zum des Gedächtnisses zu optimieren sind verschieden und hängen vom Anwendungsgebiet ab,“ addiert Kogel. „Die beste Strategie ist, AuschipSpeicherzugriff völlig zu vermeiden. Für Gebiet-spezifische Architektur kann dieses gewöhnlich erzielt werden, indem man verfügbares Aufchipgedächtnis, entweder in Form von Pufferspeichern erhöht, oder Anwendung handhabte Gedächtnis. Besonders im Bereich von tiefen Lernengaspedalen, ist das verfügbare Aufchipgedächtnis ein entscheidender Entwurfsparameter, der auch auswirkt, wie die Anwendung des neuralen Netzes auf die Ziel-Hardware kompiliert wird — zum Beispiel das Mit Ziegeln decken des Windungsbetreibers.“

Viele Entwürfe schauen, um zu gehen weiter als dieses. „Gebiet-spezifische Gedächtniskonzepte werden im räumlichen Berechnungsgebiet erforscht,“ sagt das Horsnell des Armes. „Als Beispiel, neigen DSPs, ein Pool von verteilten Gedächtnissen zur Verfügung zu stellen, häufig direkt gehandhabt in der Software, die ein besserer Sitz für die Bandbreitenanforderungen und die Zugangsmuster von fachkundigen Anwendungen als traditionelle Teilengedächtnissysteme sein kann. Um den Leistungsfähigkeits-Abstand mit Örtlich festgelegtfunktion ASICs zu füllen, bieten diese Prozessoren häufig irgendeine Form der Gedächtnisspezialisierung an indem sie direkte Unterstützung für spezifische Zugangsmuster gewähren (wie N-Pufferbetrieb, FIFOs, Linie Puffer, Kompression, etc.). Ein entscheidender Aspekt der Orchestrierung innerhalb dieser Systeme und eine Herausforderung, wenn sie sie entwerfen, bestimmt die rechte Körnigkeit für Datenzugriffe, die Kommunikations- und Synchronisierungsunkosten herabsetzen können, während, Gleichzeitigkeit gleichzeitig maximierend. Andere Herausforderungen bestehen, einschließlich die Programmierung, Kohärenz, Synchronisierung und Übersetzung weiter, die Software-Komplexität addieren. Jedoch ist ein möglicher Weg vorwärts, auf Gebiet-spezifische Sprachen (DSLs) zu bauen, denen, indem die Herstellung des Datenflusses der Apps ausdrücklicher, Compilern ermöglichen, fachkundige Speicherzugriffmuster zu identifizieren und sie auf die Hardware effektiv aufzeichnen können.“

Es zahlt auch, einen näheren Blick auf die Gedächtnisse selbst zu werfen. „Hyper-Kundenbezogenheit ist die Tendenz, der wir, wann es um Gedächtnisse geht,“ sagen Anand Thiruvengadam, Produktvertriebsleiter der leitenden Mitarbeiter innerhalb Synopsys sehen. „Dieses bedeutet speziell gebaute Gedächtnisse für verschiedene Endanwendungen. Sogar innerhalb einer bestimmten Endenanwendung wie AI gibt es unterschiedlichen Bedarf an den Gedächtnissen, wie für Ausbildung oder Inferencing, Inferencing in den Servern oder Inferencing im weiten Rand. Jede dieser Anwendungen hat verschiedene Anforderungen, und die bedeutet, dass Sie die Gedächtnisse besonders anfertigen müssen. Diese Kundenbezogenheit bedeutet, dass Sie Gedächtnisse als Waren oder ab Lagerprodukte nicht mehr ansehen können. Sie müssen sie für eine bestimmte Anwendung errichten. Das ist, wohin die geheime Soße tritt herein.“

In vielen Fällen sind Gedächtnis und Verbindung fest verkoppelt. „Alles geht, wenn es um die Kombination von Gedächtnis- und Verbindungstechnologien, um den Datenzugriffanforderungen von Anwendungsarbeitsbelastungen gerecht zu werden geht — zum Beispiel mehrfache Niveaus des Gruppierens kombinierend verarbeitend mit lokalem Gedächtnis, um die Stelle in den Datenflussanwendungen oder enormen Multibank-/multi-getragenen Aufchip SRAMs für Dämpfungseigenschaftskarten von CNN-Gaspedalen und tiefe Pufferspeicherhierarchien mit hoch entwickelten Kohärenzprotokollen zu nutzen, um den lauwarmen Arbeitssatz von Rechenzentrumarbeitsbelastungen abzuschwächen.“

Kleine Veränderungen können große Ergebnisse erbringen. „Gerade Blick auf das kleine Wunder, das Apple mit dem M1 durchgeführt hat,“ sagt Frank. „Sie fanden heraus, wie zum Architekten ein Gedächtnissubsystem, das dient mehrfache heterogene Meister gut, unter Verwendung der intelligenten cachierenden Strategie und einer enormen, mehrstufigen Pufferspeicherhierarchie.“

So häufig ist der Fall, Software ist der Trägheitsanker. „Was normalerweise geschieht, es ist ein Algorithmus an Ort und Stelle gibt und wir eine Weise sehen, sie zu optimieren, optimieren das Gedächtnis, damit der Algorithmus viel besser eingeführt wird,“ sagen Saggurti. „Auf der Kehrseite, haben wir diese verschiedenen Arten des Gedächtnisses. Können Sie Ihren Algorithmus ändern, um diese neuen Arten von Gedächtnissen auszunutzen? In der Vergangenheit unter Verwendung TCAMs größtenteils war ein Vernetzungsgebietskonstrukt, zum von IP address oben zu schauen. Vor kurzem, beginnen Trainingsmaschinen, TCAMs zu verwenden, und die ist solch eine andere Annäherung. Dieses benötigt Software, oder Mikroprogrammaufstellung zu ändern basiert auf den Arten von den verfügbaren Gedächtnissen. Aber meistens, bleibt Software örtlich festgelegte und Gedächtnisänderungen, um die resultierende Durchführung besser zu machen.“

Durchsatzbewusstsein
Viel Zeit und Geld wird in der künstlichen Intelligenz derzeit investiert. Kundenspezifische Chips werden durch Durchsatz begrenzt, und der setzt den Scheinwerfer auf das Gedächtnis und die Verbindung.

„Historisch, ist Gedächtnis und Verbindungsarchitektur basiert auf statischen Tabellen entworfen worden, oder einfache analytische Modelle wie das roofline Leistungsmodell,“ sagt Kogel. „Für hochmoderne Anwendungen, diese wird recht komplex. Zum Beispiel erfordert die Vorhersage der Gedächtnisanforderungen jeder Schicht in einem CNN die Erwägung der Compileroptimierung wie Mit Ziegeln decken und Schichtfusion. Diese statischen Methoden werden für die Vorhersage und die Optimierung von Soc-stufigen Arbeitsbelastungen mit verschiedenen IP-Subsystemen und dynamischen Anwendungsszenario unvernünftiges komplexes und ungenau. Andererseits die Anwendung auf Hardware-Emulation oder ein Erstausführungssystem ist laufen zu lassen zu spät im Entwicklungsprozess, zum jeder drastischen Änderungen oder bedeutenden Optimierung vom Gedächtnisentwurf zu machen.“

Das setzt den Fokus auf die beabsichtigten Arbeitsbelastungen. „Der Schlüssel zu den leistungsfähigen Gedächtnissubsystemen ist das Wissen Ihrer Arbeitsbelastung,“ sagt Frank. „Verstehend, wie es sich benimmt, möglicherweise sie auf eine Art sogar formend, die es kompatibler mit der Beschränkung Ihrer Speicherhierarchie macht, ist dieses, wo Architektur angefochten wird. Spezifische Gaspedale des Gebietes erfordern abgestimmte Gedächtnissysteme — und die Kunst des Errichtens der Umwandlungsmaschine, der ‚Widerstand‘ in Serienfertigung hergestellt zusammenbringt, Seite des organisierten, bursty Zugang D-RAM und des Zugangsmusters der Maschine erfordert Einblick in das Systemverhalten und modelliert Werkzeuge und viele Arbeitsbelastungen, um mit zu spielen. Manchmal nimmt sie das Ändern der Weise, welche die Arbeitsbelastung die Daten verarbeitet, um in der Lage zu sein, das Gesamtsystem zu verbessern. Ein gutes Beispiel war der Übergang ‚von der direkten‘ Wiedergabe zur Fliese-ansässigen Verarbeitung in GPUs.“

Aller es kommt unten zum Modellieren und zur Simulation. „Wir schlagen den Gebrauch der virtuellen Erstausführungswerkzeuge vor, die Anwendungsarbeitsbelastung zu modellieren, zusammen mit genauen Geschäft-stufigen Modellen der Verbindungs- und Gedächtnisarchitektur,“ sagt Kogel. „Diese quantitative ‚Annäherung der Architektur zuerst‘ erlaubt frühe Kompromissanalyse, mit dem Ergebnis einer zuverlässigen Durchführungsspezifikation. Auf Kosten von zusätzlicher Modellieren und Simulationsbemühung ist der Nutzen verringertes Risiko der Verfehlung von Leistungs- und Energiezielen oder Minderkosten von die Hardware gerade overdesigning, um auf der sicheren Seite zu sein. In der Ära von abnehmenden Wirtschaftserträgen von Moores Gesetz, ist die Gelegenheit, mit einem optimierten und unterschiedenen Produkt herauszukommen.“

Das erlaubt, dass die Auswirkung von algorithmischen Änderungen, auch gesehen wird. „Es gibt einen Bedarf, zurück zu gehen und die Algorithmen neu entwerfen,“ sagt Thiruvengadam. „Sie können für die traditionelle Vermächtnisgedächtnisarchitektur neu entwerfen, oder sie können für neue Architektur, neue Gedächtnisarten, neue Gedächtnisaromen neu entworfen werden. Es gibt dieses konstante Drängung auf Leistungsskalierung, die Kosten, die einstufen und auch in der Lage sind, die Kompromisse für die verschiedenen Anwendungen zu balancieren. Dieses ist im Wesentlichen der Grund, warum Sie anhaltende Entwicklung von MRAMs und von FeRAMs sehen. Sie versuchen, eine süße Stelle für mindestens ein paar Variablen zu finden, wenn nicht alle Variablen. Der Bedarf am Neu entwerfen von Algorithmen zusammen mit der Gedächtnisarchitektur wird zweifellos wichtig.“

Balance ist notwendig. „Sie müssen an das Konzept von Computerintensität denken und die Art von den Operationen betroffen,“ sagt Frank. „Bestimmte Algorithmen haben unersättliche Bandbreitenanforderungen, während andere nur verhältnismäßig kleine Mengen Daten aber Tausenden, Operationen auf ihr durchzuführen bewegen. In-Gedächtnisoperation arbeitet möglicherweise gut für die SIMD-artige Verarbeitung, wo die Anweisungsbandbreite im Verhältnis zu der Informationsbandbreite klein ist und viele Elemente unter Verwendung des gleichen Rezepts verarbeitet werden. Aber, sobald es aufeinander folgende Abhängigkeiten im Datenstrom oder im unregelmäßigen Datenfluss gibt, der Nutzen von spezifischen Gedächtnispsychiatern des Gebietes.“

Kundenspezifisches Gedächtnis
Während Architekturänderungen möglicherweise große Ergebnisse liefern, stellt möglicherweise die Optimierung der Gedächtnisse auch Gewinne zur Verfügung. „Ein Großteil der Energie und des Bereichs der heutigen Gaspedale wird auf Gedächtnis verwendet,“ sagt Horsnell. „So alle mögliche Latenz-/Dichte-/Energieverbesserungen, die durch neue Zweikanalmagnetbandelemente erzielt wurden, konnten eine drastische Auswirkung haben.“

Kundenspezifische Gedächtnisse sind werdenes großes Geschäft. „Sie beginnen, Sachen wie Ingedächtnisberechnung, Fastgedächtnisberechnung, spezifische Gedächtnisse zu sehen, die möglicherweise schreiben-alles-null Gedächtnis wären — Gedächtnisse, die für bestimmte Arten von Operationen optimiert werden,“ sagt Saggurti. „Wir sehen viele Kunden, uns nach MRAM, sogar noch mehr Kundenbezogenheit von SRAMs, TCAMs und um bestimmtes Zwicken zu bitten zum TCAMs.“

Schwierigkeiten bleiben, zwar. „Ich habe viele Diskussionen betreffend kundenspezifische Gedächtnisentwürfe gehabt, in denen, verarbeitend auf dem Gedächtnis, sterbe würde gewesen sein eine ‚ideale‘ Architektur,“ sagt Frank. „Sie würde hohe Bandbreite, niedrige Latenz, etc. geliefert haben. Alles war, außer der Tatsache recht, dass der Gedächtnisprozeß begrenzte, welche Logik integriert werden könnte — drei oder vier Metallschichten, Niederleistungs, aber langsame Transistoren. Das bedeutete Unwirtschaftlichkeit für die Berechnungsmaschine. Das Opfern von Taktraten und von Schaltungsaufwand traf die Integration der Berechnungsmaschine nicht mehr solch eine gute Wahl plötzlich.“

Aber einige dieser Änderungen werden notwendig. „Leute möchten Blitz auf Chip holen und es einen eingebetteten Blitz machen,“ sagt Saggurti. „Dann die Frage, ‚ist wird es sogar möglich? ‚An 28nm wären Sie in der Lage, eingebetteten Blitz zu tun, aber Leute beginnen, an Sachen wie MRAM an 22nm zu denken.“

Noch gibt es andere Weisen, das Problem zu betrachten. „Prozessvariabilität über einer Oblate und über dem Würfel und sogar im Laufe der Zeit, Grenzgedächtnisentwurf,“ addiert Saggurti. „Wenn Sie ein Gedächtnis entwerfen, einfaches SRAM, neigen Sie, für den Fall zu entwerfen, wenn der Speicherplatz eine Möglichkeit geht — langsam — und die Peripherie geht die andere Weise — schnell. Wenn Sie für das entwerfen und wenn Mehrheit Ihres Silikons typisch ist, lassen Sie viel Leistung und Energie auf dem Tisch. Wenn Sie verstehen, wo Sie in der Prozessstrecke und dem Chipdesigner zu ermöglichen, nach diesen Informationen zu fungieren sind, dann können Sie TIMING dementsprechend justieren. Ihr Entwurf könnte optimaler sein, und Sie müssen nicht für den schlimmsten Fall entwerfen.“

Schlussfolgerung
Während Gedächtnis immer ein Entwurfskompromiß gewesen ist, hat es nie das gleiche Niveau der Aufmerksamkeit als Verarbeitung empfangen, obwohl es der Leistungsbegrenzer im Hinblick auf Bandbreite, Energie und Bereich ist. AI veranlaßt Leute, Gedächtnisarchitektur gezwungenermaßen zu überdenken, aber mit dieser Extraaufmerksamkeit, Designteams überdenken möglicherweise auch einige der Software und der Algorithmen, die für Vermächtnisgedächtnissysteme optimiert wurden. In einer Welt, wohin Leistungsgewinne nicht für frei alle 18 Monate kommen, werden extremere Maßnahmen die einzige Weise, Produkte von werdenen Waren zu stoppen. (Von Brian Bailey)

Kontaktdaten