Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Intel und Microsoft wollen Multicore-Computing stärker fördern

Nicht aus reiner Uneigennützigkeit heraus kündigten Microsoft und Intel in dieser Woche an, mehr als 20 Millionen Dollar für Universitäten zur Verfügung zu stellen, die Forschungen im Bereich Multicore-Computing anstellen. Weltweit gebe es viel zu wenig Entwickler, die hier wirklich über fundierte Kenntnisse verfügen. Nachdem viele Jahre lang in erster Linie höhere Taktraten dafür sorgten, dass Programme schneller ausgeführt werden, hat sich dies inzwischen stark verändert. Stattdessen halten Prozessoren mit mehreren Prozessorkernen verstärkt Einzug, was ganz andere Anforderungen darstellt, als es zuvor der Fall war.
Häufig wird hier der bildliche Vergleich zwischen Sportwagen und Bus genannt. Während der Sportwagen hohe Geschwindigkeiten erreicht und den Fahrer schnell von einem Ort zum anderen bringt, kann der Bus hingegen sehr viele Fahrgäste gleichzeitig befördern. Um bei diesem Vergleich zu bleiben, müsse der Programmierer nun dafür sorgen, dass auch alle Sitze besetzt sind, denn ansonsten profitiert ein Programm nicht von den zusätzlichen Prozessoren und wird eventuell sogar langsamer, als wenn nur eine höher getaktete CPU im Einsatz ist. Schon jetzt wird dieses Problem sehr deutlich, wenn man einmal die Prozessorauslastungsanzeige auf einem Computer mit mehreren Prozessoren im Auge behält.
Nur sehr wenige Programme sind wirklich in der Lage, die CPUs auch auszulasten. Häufig kann so die theoretisch mögliche Rechenleistung gar nicht genutzt werden. Die Lösung hierfür heißt Multithreading. Stark vereinfacht ausgedrückt füttert das Programm den Prozessor dann nicht nur mit einem Thread, sondern mit mehreren, die sich dann gleichzeitig berechnen lassen. Natürlich ist dies aber nicht ohne weiteres mit jeder Software möglich. Intels und Microsofts Förderung soll nun genau an diesem Punkt ansetzen, um zu verhindern, dass neue Prozessoren ihre Leistung kaum noch ausnutzen können. Forrester Research erwartet, dass bis 2009 Serverprozessoren mit 64 Kernen zum Standard werden, bis 2012 soll dieser Wert sogar bei normalen Desktop-Rechnern erreicht werden.


Weiterführende Links:

Kommentare

Dieter21.03.08 14:08
µ$ Monster-All-In-One gehen an SMP vorbei! Da sind Lego-Baukästen, wie UNIX besser dran!
0
Jur4ik
Jur4ik21.03.08 14:26
irgendwie voll die nachmache von dem Apple iFund
0
detto21.03.08 14:30
Iwie Asbach Uralt
0
Jur4ik
Jur4ik21.03.08 14:54
microsofts eigene entwickler sind nicht im stande dazu die multicore prozessoren auszulasten also sollen junge und innovative leute herhalten - am besten wer finanziele unterstützung bekommt, muss dan wenn etwas brauchbares bei rauskommt an microschrott abgeben .. abzocke^^
0
Namedrop21.03.08 15:25
Microsoft will es also fördern.
Nun da sollten dann mal die eigenen Programmierer ein paar Runden drehen .....
0
gygax
gygax21.03.08 15:28
Habe ich dann im Jahre 2012 ein MBP mit 64 Kernen, und schleppe das Ding im Schubkarren herum??
0
claudiusw
claudiusw21.03.08 16:00
M$ (mit seinen Entwickler-Milionären) sollte mal selbst Compiler entwickeln, die den Code optimal auf Multicore vorbereiten und optimieren. Meist ist es doch die Entwicklungswerkzeuge/Compiler, die das Problem sind und den Entwickler zu Handoptimierungen und Spagetti-Code zwingen.
You can­not cre­ate good ty­pog­ra­phy with Arial.
0
oefinger
oefinger21.03.08 16:04
die Idee mit der Compiler Optimierung hat ja schon bei Itanium nicht ganz so toll funktioniert, wie geplant
0
Stefab
Stefab21.03.08 16:25
Naja, Multicore bringt trotzdem auf jeden Fall etwas zB. beim 8-Core MacPro kann man somit locker eben mehre Programme gleichzeitig arbeiten lassen, zB. eine 3D Szene rendern, ein Video rendern und dazu noch ein fettes Spiel spielen, und dabei noch diverse andere Prozesse im Hintergrund laufen lassen (zB. eine CD in iTunes rippen, etc.). Also bei schwerem Multitasking werden mehrere Cores mit oder ohne Optimierung der einzelnen Programme gut genutzt.
Naja, und moderne Spiele nutzen zumindest 4-Kern CPUs schon ziemlich gut, für Physik-Berechnungen und dergleichen. (aber unter OS X sucht man solche modernen Games noch vergeblich, aber immerhin soll UT3 bald kommen)
Somit können mehrere Fahrgäste auch so schon mitfahren, also mehrere Programme.
Wichtig wäre so eine Optimierung für zB. die PS3, die meisten Spiele nutzen ja nur den Hauptcore und 2 SPEs oder so, zumindest die meisten, die zB. von der XBox360 portiert wurden (die dann auf Grund der wenigen Optimierung teilweise schlechter laufen, als das XBox-Originalspiel, da ist den Programmieren möglichst geringer Aufwand wohl wichtiger als höhere Leistung und flüssigeres Gameplay) - und auf ner Spielkonsole gibt es wenig Multitasking, höchstens dass noch ein Download im Hintergrund läuft. Aber auch hier gibt es Programmierer, die besser arbeiten, und der Cell Prozessor hat nach oben noch sehr viel Spielraum, kaum jemand nutzt im Optimalfall mehr als 30% aus. Denke da ist die XBox360 weit näher an ihren Grenzen angelangt. 3 Cores mit ein bisschen Altivec kann man sicher heute schon gut ausreizen.
0
Seppi_18
Seppi_1821.03.08 16:46
Hoffe, dass ende August ein iMac mit 4 (oder !8!) Kernen kommt
- nun ja vielleicht nicht, aber hoffen kann man ja
0
Knork21.03.08 18:16
claudiusw:

Die Intel-Compiler können schon seit Jahren parallelisierten Code erzeugen.

Die Programmier nutzen die Möglichkeiten aber nicht.

Man müßte irgendwie die Programmierer dazu bewegen, die Möglichkeiten des Multicore-Computing kennen zu lernen und besser zu nutzen.

Intel könnte doch mal das MultiCore-Computing besser fördern...

Wie war nochmal die Überschrift des News-Beitrags?
0
Rantanplan
Rantanplan21.03.08 19:31
Knork
Man müßte irgendwie die Programmierer dazu bewegen, die Möglichkeiten des Multicore-Computing kennen zu lernen und besser zu nutzen.

Mal abgesehen davon, daß sich nicht jeder Algorithmus und jedes Problem sich so einfach parallelisieren läßt, gibt es auch noch ein sehr einfaches Hindernis: sie sind aufwendiger zu entwickeln, deutlich schwerer zu debuggen und auch schwerer in den Griff zu bekommen, was am Ende bedeutet, daß sie den Hersteller mehr Geld kosten. Dein luftiges "man sollte mal die Programmierer motivieren" greift daneben, denn die sind meistens nicht so doof, daß sie diese Aufgabe nicht bewältigen könnten, aber wer gibt ihnen Zeit und Ressourcen dafür? Wenn man unter dem üblichen Projektzeitplandruck die Entscheidung zwischen "einfach, unkompliziert und schnell zu realisieren" und "tolles Konzept, intellektuell herausfordernd aber komplex in der Umsetzung" hat, wählt man aus Selbstschutz schon die erste Lösung.
Wenn ich nicht hier bin, bin ich auf dem Sonnendeck
0
barabas21.03.08 20:31
Man kann eigentlich schon seit Jahren beobachten das der einst sprunghafte Mhz Hype im abflachen ist. Man nehme nur einmal als Beispiel den G5, hatte z.b. der gute Steve nicht bei deren Erscheinen (2Ghz Dual war das erste Spitzenmodell der Serie) versprochen in einem Jahr werde man die 3 Ghz Grenze knacken. Weit gefehlt, nach einigen Jahren war bei 2,7 Ghz Schluss und die konnten auch erst mit einigem technischen Aufwand wie z.b der integrierung einer Heatpipe wegen der enormen Wärmeabgabe realisiert werden.
Auch war dies letztendlich einer der Gründe warum in den aktuellen Mac Intel inzwischen Prozessoren werkeln. Aber auch hier, wäre es nach der ursprünglichen Roadmap gegangen müssten wir hier eigentlich inzwischen bei rund 4 Ghz Leistung liegen, dem ist aber nicht so.
Ich denke, und MS hat es selber schon vor einiger Zeit zugegeben, das das Ende der Entwicklung und der Leistungssteigerung der auf dem Markt befindlichen Prozessoren in Sicht ist. Irgendwann ist Schluss und neue Konzepte und Verfahrenstechniken müssen her die aber erst noch erforscht möglicherweise sogar erst Erfunden werden müssen. Aber was macht man inzwischen bis es soweit ist wenn die Weiterentwicklung der herkömmlichen Prozessoren immer mehr stagniert !?, - richtig man baut einfach mehr von ihnen ein, schaltet diese parallel und/oder optimiert die Programme darauf. Das letzteres nicht so einfach ist ist verständlich aber im Augenblick vermutlich der einzige Weg noch zu deutlichen Leistungssteigerungen zu kommen und die Menschen dazu zu bewegen Geld in neue Rechner zu investieren.

Deshalb: Der Mhz Hype ist tot, es lebe der Multicore Hype
0
MacFly5522.03.08 10:52
Wer unter den Codern den Weg nicht mitgeht sieht in ein paar Jahren wenn so ein Core nur noch 600MHz hat ganz schön in die Röhre. Also WakeUp Jungs !!!
0
Gerhard Uhlhorn22.03.08 11:37
Dass Microsoft da was tun muss ist klar. Vista unterstützt nämlich nicht mehr als 4 CPUs richtig. Außerdem ist das Multithreading in Vista eher sehr bescheiden:

0
Knork22.03.08 17:15
Wozu soll den Vista auch mehr als 4 CPUs nutzen?

Es ist doch völlig ausreichend, das es Windows ermöglicht, das eine Anwendung, die z.B. 8 oder 16 CPUs auslasten würde, dies zur Verfügung stellt.

Und ich weiß, das dies gut klappt...


Übrigens: Mac OS X (alias der Finder) kommt schon mit 2 CPUs ins Schleudern...

Einfach mal genügend viele Kopier-/Komprimier-/Dekomprimier-Vorgänge anwerfen (sprich: CPU-Last für den Finder generieren), und zuschauen, wie sich fast nichts mehr bewegt.
0
oefinger
oefinger22.03.08 19:44
@Knork

Die Limitierung bei Kopier-/Komprimier-/Dekomprimier-Vorgängen liegt aber weniger an der CPU und mehr an der Platte/den Platten
0
Andreas Hofmann24.03.08 19:42
claudiusw

Compiler können da gar nichts machen. Derjenige, der es schafft einen Compiler zu bauen, der einen beliebigen Algorithmus so umbauen kann, dass die Aufgabe auf mehrere Threads aufgeteilt wird, ist ein wahres Genie. Der hätte dem Computer nämlich das Denken beigebracht. Was Compiler an Parallelisierung können ist äußerst beschränkt und es handelt sich um eine ganz andere Form als die, von der hier die Rede ist.

Was gemacht werden muss, ist es Entwicklern durch APIs zu erleichtern Algorithmen/Operationen auf mehrere Threads zu verteilen, und zwar so, dass automatisch genau so viele Threads verwendet werden, wie es je nach Anzahl von Cores Sinn macht.
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.