Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

News: Multithreaded Software

Das Mehrkern-Problem

Redaktion / 13 Antworten / Flachansicht Nickles

Intel bringt das Multicore-Problem in die Diskussion: In naher Zukunft soll es Prozessoren nicht nur mit 8 oder 16 Kernen geben, sondern mit Hunderten oder gar Tausenden. Die Software muss entsprechend angepasst werden, um diese Power zu nutzen.

Und das ist ziemlich komplex. Jedes Programm muss so entwickelt werden, dass es alle zur Verfügung stehenden Kerne nutzen kann. In einigen Fällen gibt es dafür bereits Lösungen: Raytracing soll zum Beispiel bestens skalieren und der nächste Knaller bei 3D-Spielen sein. Andere Algorithmen müssen erst noch entwickelt werden. Außerdem fehlt es noch an Tools, meistens werden nur Single Thread-Programme unterstützt.

In Zukunft reicht es also nicht mehr aus, einfach einen schnelleren Prozessor einzubauen, sondern die Software muss grundsätzlich anders entwickelt werden, um die Performance zu nutzen.

Quelle: Ars Technica

bei Antwort benachrichtigen
dr_rock xafford „ Es wäre schön, wenn das so ginge, aber so lange ein Compiler nicht über die...“
Optionen

Ich versuchs mal so auszudrücken:

Den normalen Teil der Aufgabenverteilung muss der Scheduler machen. Wie Du geschrieben hast, Pgm 1 auf CPU 1, Pgm 2 auf CPU2 etc. er muss auch gut genug sein um stehende Prozesse auslagern zu können und Memory frei zu geben.
Wenn's dann speziell wird, kommt Multithreading zum Einsatz. Nicht jede Anwendungsart kann so entwickelt werden, z.B. kann nicht ein Program die Totalzeile einer Rechnung aufbereiten während die Posten noch nicht bereit sind. Aber eine Formel in allen Zellen einer Spreadsheet Kolonne berechnen, die sich nicht auf sich selbst (dieselbe Kolonne) bezieht, könnte wieder Sinn machen. Der Aufwand um zu bestimmen was geeignet ist ist gross, die Umsetzung bedeutet viel Aufwand, in vielen Fällen lohnt sich das nicht mal, womit wir wieder bei der intelligenten Bestimmung einer Unit of Work sind und einem Job-Scheduler der seinen Namen auch zu Recht trägt.

Am Ende ist die Diskussion akademisch.
Solange wir ein Mail schreiben können ohne zu merken dass im Hintergrund eine DVD geschrinkt wird, der Virenscanner einen Fullsearch macht, eine Software die Bilderdatenbank mit 100'000 Bildern nach Duplikaten durchsucht und ein FTP Download läuft während wir mit einem Kollegen Skypen ist doch alles gut, oder etwa nicht?

bei Antwort benachrichtigen