Apps unter Mac OS X multicore-tauglich machen

veröffentlicht von Michael Hülskötter am 4. Dezember 2009 (1) Kommentar

Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels “Mehrkern-Beschleuniger”, der in der mac-developer 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried.

Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger Grand Central Dispatch zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen multicore-tauglich zu machen. Und das ohne größeren Programmieraufwand, sondern lediglich mithilfe der C-API und den NSOperation-Klassen.

Das Tolle an GCD ist deren einfache Verwendung: Anstatt selbst Threads auf Basis von Tasks oder anderen Objekten zu erzeugen, kümmert sich GCD selbst darum. Das bedeutet aber für den Software-Entwickler, dass er sich für eine optimale Ausnutzung der vorhandenen Prozessorressourcen grundsätzlich Gedanken machen muss über die Programmlogik. Das Resultat seines überarbeiteten Programms sind einzelne Tasks, die je nach Programmablauf an die vorhandenen Multithreading-Queues übergeben werden können, wo sie von GCD bestmöglich verarbeitet werden.

Wie bereits angedeutet, stellt GCD zwei Möglichkeiten zur Verfügung, Programmcode zu multithreaden: Mithilfe der NSOperation-Klasse und der C-API. Beides soll kurz beleuchtet werden.

NSOperation: Warteschlangentechnik für asynchrone Tasks
Für das asynchrone, also zeitversetzte Ausführen von Anwendungen ist lediglich das Erstellen von NSOperation-konformen Objekten erforderlich, die dann an die zugehörige Warteschlange übergeben werden, die die Queue nach dem FIFO-Prinzip verarbeitet. Hierfür werden Tasks im Hintergrund ausgeführt, pausiert und zu Ende geführt. Es ist sogar möglich, die Anzahl der maximalen Threads festzulegen, was in Extremfällen ein einziger sein kann. Natürlich erlaubt GCD die ständige Rückkehr zum Main Thread.

weiterlesen…

Kategorien : Multicore Tags : , ,

Wie .NET-Entwickler mit VTune Bottlenecks finden können

veröffentlicht von Michael Hülskötter am 17. November 2009 (0) Kommentare

Vergangene Woche auf der Microsoft TechEd Europe 2009 hatten wir die Gelegenheit, uns von Rami Radi zeigen zu lassen, wie .NET-Entwickler mithilfe des Profiling- und Samplingtools VTune Performance Analyzer Schwachstellen in ihren Anwendungen aufspüren und beheben können. Dabei geht es beispielsweise sehr oft um Schleifenkonstrukte, die unverhältnismäßig viel CPU-Zeit in Anspruch nehmen, was mit den richtigen Tricks gar nicht notwendig wäre. Für alle, die also in Zukunft mehr aus ihrer Software herausholen wollen, sei dieser Video-Workshop wärmstens empfohlen.

Kategorien : Multicore Tags : , , ,

Moblin zu Testzwecken auf einem USB-Stick installieren

veröffentlicht von Michael Hülskötter am 7. Oktober 2009 (2) Kommentare

Ich habe gestern auf dem IT-techBLOG einen Workshop online gestellt, wie man Moblin auf einen USB-Stick packt, um es zu Testzwecken auf einem kompatiblen Netbook laufen zu lassen, ohne es gleich auf der Festplatte installieren zu müssen. Eigentlich sind es ja drei Workshops, da alle Windows-, Mac- und Linux-Anwender in den Genuss von Moblin-on-a-Stick kommen sollen. Viel Spaß damit!

Kategorien : Mobile Tags : , , ,

Multicore-Workshop mit Jeffrey Richter parallel zur Basta

veröffentlicht von Michael Hülskötter am 4. September 2009 (0) Kommentare

Von 21. bis 25. September findet in Mainz die Basta! 2009 statt, eine der größten unabhängigen Entwicklerkonferenzen in diesem Land. Gerne würde ich ja dort hinfahren, um mir die eine oder andere Session anzuhören und darüber zu bloggen. Besonders interessant finde ich natürlich den Multicore-Workshop von Jeffrey Richter, der parallel zur Basta an drei Tagen stattfindet.

Nun ist es aber so, dass ich von 21. bis 27. September in San Francisco weilen werde, um mich ebenfalls an drei Tagen auf dem Intel Developer Forum über die neuesten Entwicklungen aus dem Hause Intel in Sachen Programmierung und mehr zu informieren. Und da ich leider nicht an zwei Orten gleichzeitig sein kann, habe ich mir schon mal den Workshop-Plan ein wenig genauer angesehen. Darüber hinaus habe ich weitere Infos bei der Veranstalterin der Basta angefragt. Hoffentlich bekomme ich etwas zugeschickt. Damit ich es mit euch teilen kann.

Bis dahin lohnt sich auf jeden Fall ein kurzer Blick in die geplanten Inhalte des Power-Workshops von Jeffrey:

Der Titel des Ganzen lautet “Mastering .NET and Preparing for the Multi-Core Revolution”, findet von Montag bis Mittwoch von jeweils 9 bis 18 Uhr im Hotel Contel Mainz statt und kostet regulär 1.550 Euro. Falls sich drei Kollegen aus demselben Unternehmen anmelden, kommt der Workshop 100 Euro günstiger. Und für alle, die sich noch heute anmelden, gibt’s ein Netbook mit sämtlichen Ausgaben des dot.NET Magazins obendrauf.

weiterlesen…

Kategorien : Multicore Tags : , , ,