Der Kern der Materie

Der Kern der Materie

Die Evolution von Multi-Core- zu Many-Core-Prozessoren

In der Mess- und Prüftechnikbranche wurden Testzeit und -kosten bislang meist durch höhere Taktraten von Prozessoren reduziert. Zwar haben viele Unternehmen von der Aktualisierung der die Testhardware steuernden PCs profitiert, doch sind die Tage gezählt, in denen eine Steigerung der Rechenleistung mit einer erhöhten Taktfrequenz von CPUs einhergeht.
Mit steigender Taktfrequenz werden die Wärmeableitung und der Energieverbrauch von Prozessoren zu einem immer größeren Problem. Daher hat sich die Computerbranche in den letzten zehn Jahren auf die Integration mehrerer paralleler Verarbeitungseinheiten bzw. Kerne (Cores) konzentriert, statt die Taktraten zur Steigerung der CPU-Leistung zu erhöhen. Laut dem Moore’schen Gesetz verdoppelt sich die Transistoranzahl alle zwei Jahre und Prozessoranbieter setzen diese zusätzlichen Transistoren zur Fertigung weiterer Cores ein. Heute sind Dual- und Quad-Core-Prozessoren in der Desktop-, mobilen und ultramobilen Datenverarbeitung gängig und Server verfügen gewöhnlich über zehn oder mehr Kerne. Wie aber aktuelle Verkaufstrends zeigen, schrumpft das Desktopsegment der Computerbranche. Intel beobachtete im Zeitraum vom dritten Quartal 2013 bis zum dritten Quartal 2014 eine Zunahme bei Notebook-Plattformen von 21%, aber nur von 6% bei Desktopverkäufen. Dieser Trend offenbart, dass Gelegenheitskonsumenten eher zu mobileren und dennoch leistungsstarken Plattformen wie Ultrabooks, Tablets und Universalgeräten tendieren. Um dem Bedarf des schneller wachsenden Marktsegments besser zu begegnen, konzentriert sich die Computerbranche auf die Verbesserung der Grafikleistung und Energieeffizienz der ultramobilen, mobilen und Desktop-Prozessoren. Die Rechenleistung für diese Prozessorkategorien zu steigern, ist generell eine untergeordnete Überlegung. Mobile und Desktop-Prozessoren für High-End-Geräte werden weiterhin eine angemessene Rechenleistung für Prüfanwendungen bieten. Jedoch sind nur kleinere Verbesserungen bei der reinen Verarbeitungsfunktionalität dieser Prozessoren zu erwarten. Für die Serverprozessoren sind die wichtigsten Anwendungen der Computerbranche IT-Systeme, Datenzentren, Cloud Computing und leistungsstarke Berechnungen für die kommerzielle und akademische Forschung. Diese Anwendungen sind erheblich rechenintensiver und drängen die Computerbranche dazu, weiterhin in den Ausbau der reinen Rechenkapazität dieser Prozessoren zu investieren. Außerdem sind sie von Natur aus parallel und fuhren ausgehend vom Anwenderbedarf in der Regel zur Entwicklung zahlreicher virtueller Maschinen oder Softwareprozesse. Anwendungsfälle und die daraus entstehenden Bedenken zur Prozessorleistung stehen hinter dem Vorgehen der Computerbranche, mehr Verarbeitungskerne einzubinden, statt sich auf die Erhöhung der Core-Frequenzen zu konzentrieren. So hat z.B. Intel Ende 2014 seinen Prozessor Xeon E5-2699 v3 mit 18 universellen Verarbeitungskernen auf den Markt gebracht. Im Laufe der vergangenen fünf Jahre konnten Single-Thread-Anwendungen eine Leistungssteigerung erzielen, wenn sie sich Innovationen wie die Intel Turbo-Boost-Technik zunutze machten. Allerdings ist es sehr unwahrscheinlich, dass diese Anwendungen weiterhin von solchen Vorteilen profitieren werden. Anwendungen, die für eine parallele Verarbeitung ausgelegt sind, können von zusätzlichen Cores profitieren und so beeindruckende Leistungssteigerungen erreichen. Ingenieure, die z.B. Modulare PCs wie die PXI-Embedded-Controller nutzen, haben sich daran gewohnt, dass eine 15 bis 40% Verbesserung der Rechenleistung erzielt wird, wenn Anwendungen über die Fähigkeit zum Multithreading verfügen und ein Upgrade auf die nächste Prozessorgeneration erfolgt. Aber ohne hinreichende Sorgfalt bei der Erstellung einer Anwendung mit Parallelität sind diese Leistungssteigerungen minimal.

Many-Core-Prozessoren

Immer mehr Cores werden in kleinere, stromsparende Footprints gepresst. Prozessoren werden zu ‚Many-Core-Prozessoren‘, da inzwischen die Kernanzahl über die in Serverprozessoren üblichen zehn Cores hinauswächst. Superrechner lassen erahnen, wie die Prozessoren von morgen aussehen. Anhand der Top500-Liste der letzten fünf Jahre, die Computer nach ihrer Leistung gemäß dem Linpack-Benchmark aufführt, wird ersichtlich, dass die weltweit schnellsten Rechner Millionen von Kernen enthalten. Diese Multimegawatt-Monster sind nicht für den Betrieb eines Prüfstands in der Produktion geeignet. Die Idee allerdings, dass mehr Funktionalität auf immer kleinerem Raum verstaut wird, bedeutet, dass sich Many-Core-Prozessoren auf andere Prozessorklassen skalieren lassen, während der Energieverbrauch reduziert wird. Ein Beispiel für diesen Trend ist die Coprozessorfamilie Intel Xeon Phi, die bis zu 61 Cores besitzt und so die Möglichkeit bietet, 244 Threads gleichzeitig auszuführen. Manche Cores werden eindeutig speziellen Funktionen gewidmet und nicht rein der allgemeinen Verarbeitung. Engines fur die Grafikverarbeitung sind ein gutes Beispiel: Videodisplays zeigen bei hohen Auflösungen realistischere 3D-Darstellungen. Zu weiteren Spezial-Cores zählen Sicherheits-Engines, die z.B. Ver- und Entschlüsselungsoperationen durchführen, sowie Verwaltungs-Engines, die Out-of-Band-Verwaltung ermöglichen, wenn der Prozessor abgestürzt oder anderweitig nicht erreichbar ist. Bei solchen Many-Core-Prozessoren wird der Großteil der Cores jedoch für die allgemeine Verarbeitung zur Verfügung stehen.

Many-Core nutzen

Da die universellen Rechenfunktionen von mobilen und Desktop-Prozessoren in High-End-Geräten kaum noch weiterentwickelt werden, müssen Ingenieure zunehmend auf Serverprozessoren mit Many-Core-Architekturen setzen, um die Leistung zu steigern, Prüfzeiten zu senken und dadurch die Gesamtbetriebskosten zu reduzieren. Der Übergang von Single-, zu Multi- und nun zu Many-Core-Prozessoren ist im Bereich des High-Performance-Computing weit verbreitet und wird sich auch weiterhin auf allgemeinere Anwendungen auswirken, während die umfassenderen Vorteile der parallelen Verarbeitung umgesetzt werden. Notwendig werden Softwarearchitekturen, die Verarbeitungsaufgaben aufteilen und skalierbar sind, sodass mehr als zehn Prozessorkerne genutzt werden können. Es ist zu überlegen, welche Aufgaben sich bei der Entwicklung neuer Anwendungen gleich zu Beginn parallel implementieren lassen. Bei einem End-of-Line-Test etwa sollten mehrere Einheiten sofort gemessen und analysiert sowie für jede mehr als ein Test gleichzeitig durchgeführt werden. Plant man noch weiter voraus, sollten Datenanalysen in mehrere parallele Aufgaben aufgeteilt werden, indem Datenblöcke sogleich verarbeitet oder Teile des Algorithmus neu geordnet werden, um mehrere Aufgaben auf einmal zur Verarbeitung bereitzustellen. Zwar müssen bei einem höheren Anteil paralleler Arbeiten Messungen und Analysen sorgfältig korreliert und erfasst werden, um ein stimmiges Gesamttestergebnis zu erzielen, doch lohnt sich der Aufwand. Für die Implementierung sollten Werkzeuge gewählt werden, mit denen sich die Parallelität in einer Anwendung maximieren lässt. Ein guter Ausgangspunkt ist die Wahl eines optimierten Compilers, Multithreading-fähiger Analyseroutinen und Thread-sicherer Treiber. Zudem sollten die Implementierungssprachen das Threading und einen angemessenen Abstraktionsgrad unterstützen, sodass die erhöhte Softwarekomplexität die Effizienz des Entwicklers nicht negativ beeinflusst. Wird Parallelität ignoriert, führt das bei Prozessorentwicklungen im günstigsten Fall zu sehr geringen Leistungssteigerungen. Der Markt drängt auf Grafikverbesserungen und eine höhere Anzahl von Cores. Wenn auch die Grafikfunktionen in Mess- und Prüfanwendungen eher weniger verwendet werden, bieten neuere Prozessoren mit erhöhter Core-Anzahl wertvolle Leistungszunahmen für Testanwendungen, die so ausgelegt sind, dass sie vom Aufwärtstrend der Core-Anzahl profitieren können.

National Instruments Germany GmbH

Das könnte Sie auch Interessieren