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

Geschwindigkeitssteigerungen durch Open CL und Grand Central

Zwei neue Technologien, die Apple mit Snow Leopard eingeführt hatte, sind Open CL und Grand Central Dispatch. Bei OpenCL handelt es sich um eine Technologie, mit der die normalerweise bei gewöhnlichen Aufgaben nicht genutzte Rechenleistung der Grafikkarte eingebunden werden kann. Da die Grafikprozessoren sehr leistungsfähig sind, lassen sich bestimmte Aufgaben so je nach Anwendungsbereich signifikant beschleunigen. Grand Central hingegen ermöglicht es, die Leistung von Multiprozessor-Macs besser auszunutzen. Vereinfacht ausgedrückt erleichtert Grand Central das Verteilen einer Aufgabe auf mehrere Threads.
Der Entwickler von MovieGate zeigt in einem kleinen Beispiel, wie viel mehr Programmgeschwindigkeit zu erreichen ist, wenn Grand Central und Open CL genutzt werden können. Der Test wurde auf einem Mac Pro mit 4x 2,66 GHz und einer Nvidia GeForce 8800 GT durchgeführt. Unter Leopard wurde das Testprojekt mit durchschnittlich 104 Frames pro Sekunde enkodiert, die Prozessorauslastung lag bei 165 Prozent während des Dekodiervorgangs, bei 100 % während des Enkodierens. Vergleicht man diese Werte mit Snow Leopard, so gibt es einige Unterschiede. Dasselbe Projekt erreicht unter Snow Leopard 150 Frames pro Sekunde, die CPU wird beim Dekodieren mit 70 Prozent und beim Enkodieren mit 130 Prozent ausgelastet.

Weiterführende Links:

Kommentare

Tool198216.09.09 11:42
Das habe ich an dem unix scheduler immer noch nicht kapiert - wie kann etwas mehr als das ganze erhalten? wie ist es möglich 130% last zu verursachen? bei 100 ist ende, oder wo ist mein denkfehler?
Erwarte nichts, dann ist alles ein Extra. Für mehr Hirn im Apfelland! Vote for iHirn! Think before you make se Mund auf. Danke.
0
Brandy16.09.09 11:43
1 Kern = 100%
2 Kerne = 200%
4 Kerne = 400%
0
DonQ
DonQ16.09.09 11:47
Tool1982

evtl wird berechnet, wieviel noch nachrutscht in den stacks

aber, nimm nur dual prozessoren, da kann/konnte man auch nicht sagen, 2 prozessoren, dopplete performance, sondern ging von 160% leistung aus.

mittlerweile hat man mehr (rechen)kerne, muss also auch die leistung neu bewerten und natürlich auch ansprechen.

sag ich mal so salopp
an apple a day, keeps the rats away…
0
Mecki
Mecki16.09.09 11:49
Grand Central ist nur heiße Luft. Sorry, aber das musste mal gesagt werden. Was Grand Central macht ist einfach nur nach Bedarf Threads zu starten und Arbeitsaufträge an diese Threads zu verteilen... so arbeitete unsere Software schon unter 10.3. Schließlich braucht man nur 3 Zeilen Code um einen Thread zu starten und noch einmal 3 Zeilen im den Thread ein Objekt zu geben, bei dem dann eine bestimme Methode aufgerufen wird. Da ständiges starten/stoppen von Threads aber nicht performant ist, hat alle unsere Software auch Thread Pools, dort werden eine feste Zahl von Threads auf Warteschleife gehalten, bis einer von ihnen gebraucht wird. Lediglich wenn man mehr Threads als diese Zahl braucht werden welche erzeugt. Grand Central ist keine neue Technologie, es ist nur eine Verwaltungs API, die das macht, was eigentlich schon immer möglich war (weil es der BSD Kern selbst bereits hergibt) und die das macht, was die meiste Software sowieso schon immer in so einer Form getan hat. Software die durch Grand Central an Geschwindigkeit zu legt, war einfach vorher schlecht programmiert, das ist schon alles.
0
Tool198216.09.09 11:56
ich glaube nicht dass diese x prozessor gleich max x00 % Rechnung ergibt. Bei einem Vierkerner würde das bedeuten das die Anwendung auf nicht einmal beiden läuft. Vielleicht kann das jemand noch besser erläutern?
Erwarte nichts, dann ist alles ein Extra. Für mehr Hirn im Apfelland! Vote for iHirn! Think before you make se Mund auf. Danke.
0
kammerlander16.09.09 11:57
Mecki
Was Grand Central macht ist einfach nur nach Bedarf Threads zu starten und Arbeitsaufträge an diese Threads zu verteilen...

Du hast Grand Central aber richtig gut verstanden ...
0
o.wunder
o.wunder16.09.09 12:12
"unter Snow Leopard 150 Frames pro Sekunde, die CPU wird beim Dekodieren mit 70 Prozent und beim Enkodieren mit 130 Prozent ausgelastet. "

Wie jetzt, dann läuft das ja unter Snow Leopard mit wesentlich mehr CPU Last beim Enkodieren?

0
howy
howy16.09.09 12:14
Mecki

Du hast absolut recht. Ich habe nen XML Dienst unter OSX und LINUX und der macht auch nen Threadspooling seit Jahren, aber zu 99,7% macht das keine Soft. Die wenigsten wissen, wie man das effektiv einsetzt. Daher ist GC perfekt für 99,7% der Programme Idealerweise wäre es allerdings, wenn sich die Programmierer einen Kopf machen würden. Es gibt ja auch ein paar sehr positive Beispiele.
.:infect rules:.
0
howy
howy16.09.09 12:15
PS: 130% = 1,3 Last. Das ist ein typischer UNIX Begriff. Hier wird angegeben, dass die CPU unter 100% läuft, aber noch 30% mehr bräuchte...
.:infect rules:.
0
PaulMuadDib16.09.09 12:15
Mecki
Den Artikel bei arsTechnica haste Dir aber schon durchgelesen? Und auch verstanden?
0
Marcel Bresink16.09.09 12:17
Tool1982:
In der sog. "Warteschlangentheorie", die das mathematische Grundgerüst für das Rechnen mit Auslastungen liefert, hat es sich seit vielen Jahrzehnten eingebürgert, das Lastmaß relativ zu einer einzelnen Ausführungseinheit zu definieren. Damit kann man in bestimmten Situationen einfacher und anschaulicher rechnen.

Eine maximal ausgelastete 4-Kern-Maschine hat also 400% Last, bei 8 Kernen sind es 800%.

Wenn ein Programm auf einer 4-Kern-Maschine 130% Last erzeugt, könnte das heißen, dass ein Kern zu 100%, ein anderer zu 30% ausgelastet ist und dass zwei weitere sich im Leerlauf befinden. Wenn das Programm in der Lage ist, sich auf zwei Threads zu verteilen, wird es aber üblicherweise so sein, dass dann zwei Kerne zu 65% ausgelastet werden. Bei 3 Threads 3 Kerne mit 43,3% und bei mehr Threads 4 Kerne, die jeweils zu 32,5% ausgelastet sind.

32,5% Auslastung eines Kerns heißt, dass er in einem festgelegten Zeitintervall (zum Beispiel 0,1 Sekunden) während 67,5% der Zeit (hier also 0,0675 Sekunden lang) nichts zu tun hatte, weil nicht genug Aufträge hereinkamen.
0
Gerhard Uhlhorn16.09.09 12:19
Mecki: Ja, klar, Apple hat jahrelang daran entwickelt etwas zu machen, wofür ihr nur 3 Befehle braucht. Dann seit ihr ja richtig gut!

Vielleicht helfen Dir ja diese Dokumente weiter:
Grand Central Dispatch (PDF)
Introducing Blocks and Grand Central Dispatch
Oder bei Ars Technica:
0
Navier-Stokes
Navier-Stokes16.09.09 12:21
Mecki
Was Grand Central macht ist einfach nur nach Bedarf Threads zu starten und Arbeitsaufträge an diese Threads zu verteilen...
Genau! Das konnten wir mit POSIX-threads oder OpenMP schon lange. Hihi.
o.wunder
Wie jetzt, dann läuft das ja unter Snow Leopard mit wesentlich mehr CPU Last beim Enkodieren?
Dass die CPU beim Dekod. nur noch 70% last hat, zeigt, dass die GPU ihr da Arbeit abnimmt. Die höhere last beim Enkodieren resultiert wohl daraus, dass nun mehr als ein Kern daran beteiligt ist.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
Navier-Stokes
Navier-Stokes16.09.09 12:21
Oh, ich war wohl etwas langsam
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
Navier-Stokes
Navier-Stokes16.09.09 12:28
Nun gut! Ich will GCD ja nicht runtermachen. Es ist halt eine - durchaus auch sehr komplexe und aufwändig entwickelte - API, die dem Entwickler einiges erspart und das Leben einfacher macht. Aber das Rad ist mit GCD sicher nicht erfunden worden.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
kammerlander16.09.09 12:29
  Navier-Stokes
Aber das Rad ist mit GCD sicher nicht erfunden worden.

Wer hat das behauptet?
0
ExMacRabbitPro16.09.09 12:29
Mecki

*wow* Du bist unser Held!
0
Navier-Stokes
Navier-Stokes16.09.09 12:31
Behauptet hat das niemand. Aber es wird - glaube ich - oft so missverstanden. Gerade bei Konsumenten und Nicht-Entwicklern.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
iCode
iCode16.09.09 13:01
Aber es wird - glaube ich - oft so missverstanden. Gerade bei Konsumenten und Nicht-Entwicklern.
GDC ist aber nur für Entwickler interessant.
0
WALL*E
WALL*E16.09.09 13:36
Also ich habe ja leider das eindeutige Gefühl, dass seid 10.6 alles langsamer ist. Vorallem Aperture ist ab und zu plötzlich unglaublich zäh und kaum mehr benutzbar. Auch Safari friert ab und zu mal ein und funktioniert dann plötzlich wieder. Und das ganze System hat öfter kleine Stocker. Nicht ideal irgendwie.
0
ex_apple_user_neu16.09.09 13:39
Und das ganze System hat öfter kleine Stocker.

DAs hört sich eher nach Windows Vista an.
0
Navier-Stokes
Navier-Stokes16.09.09 13:41
iCode
GDC ist aber nur für Entwickler interessant.
Aber jeder redet mit.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
zaph
zaph16.09.09 13:52
Wall*e

upgedatet oder clean install ?
live long and prosper
0
iCode
iCode16.09.09 13:53
Aber jeder redet mit.
Jeder? Ein komisches Umfeld hast Du. Worüber reden denn diese Leute, wenn das keine Entwickler sind?

Mir ist noch kein einziger "Nicht-Entwickler" begegnet, der sich dafür interessieren würde.
0
Navier-Stokes
Navier-Stokes16.09.09 13:55
Schau Dich doch mal hier um.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
Simoon
Simoon16.09.09 13:58
Zu den Beiträgen von "Mecki" und "howdy" fällt mir nur der Ausdruck "gefährliches Halbwissen" ein...
0
iCode
iCode16.09.09 14:03
Schau Dich doch mal hier um.
Ja, und?
0
Navier-Stokes
Navier-Stokes16.09.09 14:13
Ich vermute mal - und das meine ich nicht böse oder abwertend, sondern nur im Hinblick auf falsch verstandene Technologiien - unter den Teilnehmern dieses Threads sind einige Nicht-Entwickler. Und den Aussagen der Leute z.B. hier nach zu Urteilen auch. Da wird logischerweise geredet und gefragt, weils einfach sehr interessant ist - auch für Leute die nicht entwickeln sondern sich auf schnellere Software freuen.
Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)
0
Hipster16.09.09 15:46
@ ex_apple_user_neu:
Und das ganze System hat öfter kleine Stocker.

DAs hört sich eher nach Windows Vista an.

Tatsächlich meint er aber Mac OS 10.6 *sick*

Hier im Büro unter MS Vista übrigens alles im grünen Bereich ....
0
lambam16.09.09 15:56
Bin auch entwickler!!
Aufm klo entwickle ich die papierrolle
0
Weitere News-Kommentare anzeigen

Kommentieren

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