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

Apple veröffentlicht Grand Central Dispatch als Open Source

OpenCL als eine der neuen Technologien von Mac OS X 10.6 Snow Leopard ist bereits seit einiger Zeit als offener Standard verabschiedet. OpenCL erleichtert die Nutzung von Grafikchips für normale Berechnungen durch eine einheitliche Schnittstelle. Nun hat Apple auch Grand Central Dispatch, das neue Multi-Threading-Framework von Snow Leopard als Open Source veröffentlicht. Es steht ab sofort unter der zweiten Version der Apache Lizenz im Quelltext zur Verfügung. Grand Central Dispatch vereinfacht die Thread-Programmierung, also die Aufteilung von Software in kleinere Bestandteile, die parallel auf unterschiedlichen Kernen und Prozessoren abgearbeitet werden können. Grand Central nimmt dem Programmierer das Erstellen und Verwalten von Threads ab und verteilt diese nach unterschiedlichen Faktoren auf die verfügbaren Prozessoren und Kerne. Das eigentliche Programmieren der Logik in den Threads wird dem Entwickler allerdings nicht abgenommen, so dass dies weiterhin ein schwieriges Feld und eine große Fehlerquelle bei der Entwicklung von Software bleibt. Grand Central Dispatch liegt in Form einer C-Bibliothek vor und kann damit in C, C++ und Objective-C genutzt werden, was einen breiten Einsatz ermöglicht. Zudem dürfte damit auch die Portierung auf andere Systeme relativ problemlos möglich sein.

Weiterführende Links:

Kommentare

ExMacRabbitPro11.09.09 17:31
Das eigentliche Programmieren der Logik in den Threads wird dem Entwickler allerdings nicht abgenommen, so dass dies weiterhin ein schwieriges Feld und eine große Fehlerquelle bei der Entwicklung von Software bleibt.

Hättet ihr euch dass GCD API mal angeschaut dann wüsstet ihr, dass diese Aussage nur noch bedingt stimmt. Denn durch die Verwendung von sog. C Blocks ist es quasi unnötig explizite Thread-Routinen zu schreiben sondern das Multithreading findet praktisch inline im Code statt.
0
CKtwo11.09.09 17:39
GCD als OpenSource? Tolle Sache, dann gibt's das ja auch bald in Windows! Guter Schachzug!
0
ninja mac
ninja mac11.09.09 17:40
Versteh kein wort
0
ExMacRabbitPro11.09.09 17:42
CKtwo

Da GCD im großen und ganzen ein Unix-Ähnliches Userland und Kernel erwartet, dürfte der Port auf Windows mit reichlich Aufwand versehen sein. Es sei denn, Du installierst cygwin - aber wer will das schon?
0
ExMacRabbitPro11.09.09 17:46
Wer mehr über Grand Central Dispatch wissen und vorab einen Überblick über die Technologie haben möchte, dem empfehle ich diesen Auszug aus dem Snow Leo Review bei Ars Technica:
0
justanothermacianer
justanothermacianer11.09.09 18:12
Das heißt also das Grand Central bald auf Linux lauffähig sein könnte auf Windows aber nicht ?
Gibts unter Windows eine vergleichbare Technik ?
Mac vs PC debates make me want to throw up. Does your OS of choice work for you? Great, problem solved!
0
-MacNuke-11.09.09 18:54
justanothermacianer

In .NET 4. ParallelFX heißt das da.
0
Kovu
Kovu11.09.09 19:02
Bravo! Auch den "heiligen Gral" der Programmierung macht Apple frei zugänglich. Ich bin ehrlich begeistert.
0
ts
ts11.09.09 19:10
Falsch Kovu, das ist mit Sicherheit nicht der heilige Gral. So viel anders als Phthreads ist das nicht.

Aber da Du dich ja so gut auskennst erkläre doch bitte mal die Unterschiede zwischen beiden.
0
Gerhard Uhlhorn11.09.09 19:38
CKtwo: Das würde vorraussetzen, dass Microsoft gute Dinge in Windows einbaut, und das kann aber ich nicht erkennen. Denn sonst hätten sie wohl auch nativen systemweiten PDF-Support eingebaut, oder z.B. systemweiten Exchange-Support. Aber leider Fehlanzeige!

Ich glaube nicht dass das in Windows rein wandert.
0
Kovu
Kovu11.09.09 19:45
Nein ts, das würde deinen Horizont bei weitem übersteigen.
0
Simoon
Simoon11.09.09 19:46
ts: Warum behauptest Du, dass GCD nicht viel anders als pthreads sei, willst im nächsten Satz aber den Unterschied erklärt bekommen (dieser ist btw. ganz klar vorhanden)?
0
Request
Request11.09.09 19:58
Gerhard Uhlhorn
Windows kann das schon seit Jahren...es wurde erst gerade mit Windows 7 auf mehr CPU Kerne erweitert...
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
0
Simoon
Simoon11.09.09 20:48
Request: Kannst Du die Behauptung bitte belegen (Links)? Ich lasse mich gerne eines besseren belehren, glaube das aber ehrlich gesagt nicht.

Ich bewege mich primär außerhalb der Windows-Welt und finde dort bisher nur mit "ParallelFX" (wie oben bereits geschrieben wurde) des kommenden .NET 4.0 etwas vergleichbares.
0
Garp200011.09.09 20:58
Simoon Request hat eben das Thema verfehlt.

ts Ich würd mir mal den verlinkten (war er doch eben?) Ars-Artikel für den Einstieg reinziehen.

Oh weh, das Niwo wo ist es hin?
Star of CCTV
0
iCode
iCode11.09.09 21:36
Wer es genau wissen will soll sich auf der Macoun einfach die Vorlesung um 11:30 Uhr ansehen:
0
jonny91
jonny9111.09.09 22:00
Ich finde es gut, dass Apple solche Technologien öffentlich macht. Das ist längst nicht selbstverständlich. Aber wie bereits erwähnt wurde: Microsoft wird daraus wohl keinen Profit schlagen können, insofern ist das ja relativ gefahrlos für Apple.
How much wood would a woodchuck chuck if a woodchuck could chuck wood?
0
pünktchen
pünktchen11.09.09 22:03
für unixoide wird das so sicher einfacher, aber der kernel muss ja trotzdem noch angepasst werden, oder nicht?

apple hat doch ein natürliches interesse daran, dass die die technik zumindest auf anderen unixoiden system verbreitung findet, damit man auch plattformübergreifend programmieren kann.
0
Simoon
Simoon11.09.09 22:13
pünktchen: Genau, Kernel-Anpassungen sind notwendig (XNU wurde entsprechend erweitert).
0
Request
Request11.09.09 22:39
Garp2000
Habe ich daneben gehauen? Ich habe mich an den vorherigen Beiträgen orientiert aber nun gut...möglicherweise habe ich keine Ahnung von GCD...aber nach dem ich dies hier gelesen habe
Das eigentliche Programmieren der Logik in den Threads wird dem Entwickler allerdings nicht abgenommen, so dass dies weiterhin ein schwieriges Feld und eine grosse Fehlerquelle bei der Entwicklung von Software bleibt.
weis ich auch nicht so ganz was GDC nun kann dass das die Windows Threadverwaltung nicht kann...ich entwickle selbst Software und kann es mir nicht erklären wieso ein OS nicht fähig sein sollte die CPU Zeit der einzelnen Kerne effizient an die Threads abzugeben...das Problem ist der Entwickler welcher seine Applikation Multicore fähig machen muss...nur das nimmt mir GDC ja nicht ab...
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
0
Request
Request11.09.09 22:49
The job of spawning and terminating threads, as well as scaling the number of threads according to the number of available processors, is done by the library itself.
finde ich jetzt interessanter...
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
0
Simoon
Simoon11.09.09 23:55
Genau das ist der Punkt.
0
Request
Request12.09.09 00:13
Simoon
Das ist der Teil vom Wiki über die ParallelFX Library in .NET
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
0
Simoon
Simoon12.09.09 01:23
Request: Gleiches gilt für GCD. Wenn ich mich nicht irre, kommt ParallelFX erst (mit .NET 4), Grand Central Dispatch hast Du jetzt schon.
0
Simoon
Simoon12.09.09 01:24
...wegen des "Windows kann das schon seit Jahren", meine ich.
0
ExMacRabbitPro12.09.09 01:27
Unglaublich wie hier herumgeraten und gemutmaßt wird, statt einfach mal die zwei Seiten bei Ars Technika zu lesen und sich so einen Überblick zu verschaffen.
0
Simoon
Simoon12.09.09 01:29
Wer mutmaßt?
0
ExMacRabbitPro12.09.09 01:34
Der Herr Request mutmaßt.
0
Request
Request12.09.09 10:48
Ich habe deine Seite schon gelesen...aber wie mir scheint ganz falsch verstanden...
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
0
mendres12.09.09 14:27
Haben die Nörgler, die nun größeres befürchten vielleicht auch mal bedacht, dass uns - FALLS man GCD in Windows sehen würde, wovon ich nicht ausgehe - dieser Schritt auch handfeste Vorteile bieten würde?

Wer glaubt denn schon, dass die Adobe CS5 z.B. GCD unterstützen wird? Adobe hat bisher für Windows und Apple den Code so plattformunabhängig wie möglich geschrieben. Ich denke, dass wir daher bei Adobe und anderen Firmen selten volle Unterstützung von GCD sehen werden. Eher programmieren sie sich wieder einen portablen Multithreading Krempel zusammen.

Diese Technologie auf Windows wäre für den Mac auch ein großer Schritt, denn dann könnten wir eher einen Nutzen aus den Features ziehen, die schwergewichtige Applikationen bisher gern zugunsten Portierbarkeit vernachlässigen.
0
Weitere News-Kommentare anzeigen

Kommentieren

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