Sämtliche Beiträge des Monats Mai 2009
Parallel Studio: Das leistet der Parallel Advisor Lite
Erst gestern habe ich darüber berichtet, dass Intel seinen jüngsten Spross, Parallel Studio, der Öffentlichkeit vorgestellt hat. Daneben gibt es eine sogenannte Tech Preview des Parallel Advisor Lite, der in der nächsten Version von Parallel Studio vollwertiges Mitglied der Toolsuite werden soll. Und ich habe gestern versprochen, ein paar Infos zum Advisor online zu stellen. Was hiermit geschieht.
Zunächst einmal: Mit dem Parallel Advisor stellt Intel ein Tool zur Verfügung, das Entwicklern und Programmierern dabei helfen soll, Parallelisierungspotenzial ihrer Anwendungen zu identifizieren. Und das nicht per Trial-and-Error, sondern mit erprobten Messverfahren, die diejenigen Codeabschnitte ermitteln, bei denen sich das Multithreaden am ehesten lohnt. Hierfür unterstützt Parallel Advisor Lite diverse Ansätze:
Flexible Handhabung: Der Advisor kann zu jedem beliebigen Zeitpunkt der Anwendungsentwicklung laufen. Entscheidend ist nur, dass Microsoft Visual Studio 2005 oder 2008 samt einer C++-Entwicklungsumgebung und Parallel Studio zum Einsatz kommen.
Eingebaute Skalierbarkeit: Der Parallel Advisor sorgt für skalierende Anwendungen, die auf den kommenden Intel-Plattformen “mitwachsen”.
Einsatz von Industriestandards: Dank des Einsatzes von OpenMP und anderer Techniken orientiert sich Parallel Studio und damit auch der Parallel Advisor an anerkannten Industriestandards, was die Software-Entwicklung mit diesen Tools zukunftssicher macht.
Happy Birthday, Parallel Studio!
Gestern Abend (mitteleuropäischer Sommerzeit) erblickte Parallel Studio von Intel offiziell das Licht der Welt, und ich möchte es natürlich nicht versäumen, dem jüngsten Spross der Intel-Tools meine besten Glückwünsche auszusprechen. Wish you all the best, PS!
Zugegeben, ganz unvorbereitet bin ich nicht auf das gestrige Ereignis. So findet Parallel Studio auf dem Software Dev Blog schon seit dem 24. Oktober statt. Damals habe ich das Parallelisierungstool in einem Nebensatz zum ersten Mal erwähnt. Die erste echte Erwähnung fand das C++-Werkzeug am vorletzten Tag des Oktobers 2008, und zwar in Vorbereitung auf die Microsoft-Entwicklerkonferenz TechEd im schönen Barcelona. Tja, und einen Tag später habe ich dann ein wenig mehr verraten über Parallel Studio und habe es ziemlich kühn “Multicore-Turbo” genannt.
Seitdem folgten diverse Beiträge rund um das Entwicklertool, das sich nahtlos in Visual Studio 2005 und 2008 von Microsoft einbetten lässt. Highlights waren zweifellos zwei Interviews mit Steve Teixeira und Dariusz Parys von Microsoft, ein Vierteiler zu Parallel Studio mit ersten Einblicken in die Toolsuite (Teil 1, Teil 2, Teil 3 und Teil 4) und die Liveberichterstattung von der Intel Software Conference 2009 aus Salzburg.
Unerwähnt sollten aber auch nicht die zahlreichen Onlineseminare bleiben, die Intel rund um Parallel Studio im Angebot hatte bzw. noch hat.
Ach ja: Teil des Parallel Studio wird ein viertes Tool sein, der Parallel Advisor. Mit diesem Parallel-Studio-Add-On soll Software-Entwicklern dabei geholfen werden, ihre Anwendungen schneller, effizienter und mit weniger Aufwand zu parallelisieren. Da der Advisor erst mit der nächsten Version des Parallel Studio Teil der Suite wird, stellt Intel registrierten Mitgliedern des ISN den Advisor Lite als TechPreview auf Whatif.com zum kostenlosen Download zur Verfügung. Damit alle interessierten Entwickler und Programmierer schon mal damit herumspielen und ihr Feedback an Intel weiterleiten können. Mehr Infos zum Advisor gibt es morgen auf diesem Sender!
Analysetool für DirectX-Games für mehr Laptop-Performance
Es soll Leute geben, die gehen davon aus, dass bis zum Jahr 2013 dreimal so viele Notebooks mit integriertem Grafikchipsatz wie mit diskreter Grafikkarte verkauft werden. Diese Grafikchips sind zwar leistungsschwächer als Highend-Grafikkarten von Nvidia und Konsorten, bringen aber genug 3D-Power und sind darüber hinaus sehr akkuschonend.
Und was hat das alles mit Software-Entwicklung zu tun? Nun, für Spieleentwickler ergibt sich daraus ein wichtiger Aspekt: Wie kann ich dafür sorgen, dass meine Spiele auf den verschiedenen Plattformen gleichermaßen gut laufen, also auf diskreten Grafikkarten genauso wie auf integrierten Grafikchips. Und genau an diesem Punkt kommt Graphics Performance Analyzers von Intel zum Einsatz. Mit dieser Toolsuite können Spieleprogrammierer recht schnell und unkompliziert herausfinden, an welchen Schrauben sie drehen müssen, um ihre Spieletitel für sämtliche Computerplattformen zu optimieren.
Graphics Performance Analyzers (GPA) umfasst drei Einzeltools: den System Analyzer, das Frame Capture Tool und den Frame Analyzer. Damit lassen sich verborgene Bottlenecks und andere Hemmschuhe aufspüren, die das Spiel davon abhalten, auf einem Notebook mit integrierter Grafikkarte vernünftig zu laufen. Toll an GPA ist die Tatsache, dass die Analyse auf einem separaten System läuft, während sich das zu untersuchende Spiel auf einem eigenen Laptop befindet. Beide Rechner werden mit einem Netzwerkkabel verbunden und tauschen auf diesem Weg die notwendigen Daten aus.
Derzeit unterstützt GPA lediglich die Intel-G45- und Mobile-Intel-GM45-Express-Chipsatz-Familien und untersucht nur DirectX-basierte Spiele. Aber wie man Intel kennt, werden wohl weitere Chipsätze in Zukunft folgen.
An die Toolsuite kommt man auf zwei Wegen heran: Entweder registriert man sich für das kostenlose Visual Adrenaline Program, das vom Intel Software Network betrieben wird. Oder man begibt sich in den Onlineshop Intel Business Exchange und kauft die Tools für rund 300 US-Dollar.
Video-Tipp: In einem Video-Interview live von der GDC’09 in San Francisco beantwortet Aaron Davies von Intel zahlreiche GPA-Fragen.
Visual Studio 2010 Beta zum kostenlosen Download
Seit Montag können alle registrierten MSDN-Mitglieder die Beta 1 von Visual Studio 2010 samt .NET 4 ausgiebig testen. Und ab heute Abend steht die Betaversion der künftigen Entwicklerumgebung aus dem Hause Microsoft allen anderen zum Download zur Verfügung. Für diejenigen, die noch nicht genau wissen, was es mit Visual Studio 2010 und .NET 4 auf sich hat, folgen hier ein paar Lesetipps:
- Eine kleine Einführung in Sachen VS 2010 und .NET 4 von der Intel Software Conference 2009.
- Microsoft und Intel veranstalten im Juni 2009 rund um das Thema parallele Programmierung diverse Seminare, in denen es auch um VS2010 und .NET 4 gehen wird.
- Ein Interview mit Dariusz Parys von Microsoft zum Thema VS 2010 und dessen Multithread-Fähigkeiten.
- Ein Workshop live von der Multicore-Konferenz anlässlich des prio.powerday. Thema: “Parallele Programmierung unter .NET 3.5″, was erahnen lässt, was später unter .NET 4 alles möglich sein wird.
Intel will mittelständischen Softwarehäusern helfen
Leistungsfähige und nützliche Software zu entwickeln, ist eine Sache. Die Vermarktung derselben aber oft eine andere, die gerade für kleine und mittlere Softwarehäuser eine große Hürde darstellt. Denn neben der entsprechenden Verkaufsplattform fehlt es meist an Vertriebs- und Marketing-Know-how, wie sich das Softwareprodukt an den Mann oder die Frau bringen lässt.
Genau an diesem Punkt kommt der in Deutschland, Frankreich und Großbritannien neu geschaffene Onlineshop Intel Business Exchange ins Spiel. Mithilfe von Intel und dem IBX sollen vor allem kleinere und mittlere Softwarehäuser bei der Vermarktung ihrer Anwendungen professionelle Unterstützung erfahren. Dies beginnt bei der passenden Plattform, auf der IBX läuft, und endet bei speziellen Promotions, mit denen immer wieder auf den Softareshop hingewiesen werden soll. Darüber hinaus gewährleistet Intel, dass IBX kontinuierlich marketing- und PR-seitig begleitet wird.
Wer jetzt spontan sagt: “Mensch, das wäre doch etwas für uns!”, sollte nicht zögern und eine E-Mail an Intel schicken. Der zuständige Kontakt wird sich dann umgehend mit euch in Verbindung setzen. Auf dass sich eure Software in Zukunft größter Beliebheit erfreut …
Firefox-Multicore-Pläne auf MozillaWiki
Vermutlich wissen die Firefox-Entwickler von Mozilla schon länger, dass der Internet Explorer 8 und Google Chrome bereits in Teilen multithread-tauglich sind. Auf jeden Fall kann man auf dem MozillaWiki detailliert nachlesen, warum, wie und wann der Mozilla-Browser Multicore-Plattformen besser nutzen kann. Das zugehörige Projekt gliedert sich in vier Abschnitte:
Phase I: Bootstrap. Die erste Stufe soll rudimentär zeigen, wie der Firefox-Browser der Zukunft aussehen soll, und wird laut Wiki bereits Mitte Juli abgeschlossen sein.
Phase II: Parallel Improvements. In diesem zweiten Abschnitt geht es ums Parallelisieren des Firefox-Quellcodes. Die zwei wesentlichen Ziele hierbei lauten: Jedes Fenster und jeder Tab läuft als eigenständiger Prozess (Thread), was zu mehr Performance und mehr Stabilität führen soll. Außerdem soll auf diesem Weg die Sicherheit weiter erhöht werden, da einzelne Prozesse weniger angreifbar sind als eine einzige Anwendung. Phase II soll Anfang November dieses Jahres abgeschlossen sein.
Phase III: Extensions, compatibility, and performance. Hier geht es ans Eingemachte. Bestehende Erweiterungen müssen auf ihre Kompatibilität hin untersucht und mögliche Leistungsbremsen sollen eliminiert werden. Da kann man nur hoffen, dass Mozilla auf Tools wie Parallel Amplifier oder VTune zurückgreift. Aufgrund der Komplexität dieses dritten Abschnitts gibt es noch keine Zeitangabe, wann der Projektteil “Tuning” abgeschlossen sein wird.
Phase IV: Multiple content processes. Das wird wohl die Feinabstimmungsphase, in der herausgefunden werden soll, welche Prozesse zusammengeschaltet werden können und wie Speicherbereiche sinnvoll eingesetzt werden können. Laut dem zuständigen Entwickler wird dieser Abschnitt keine größeren Kopfschmerzen bereiten. Na, wenn er sich da mal nicht täuscht.
Erfolgsgeschichten in Sachen Intel-Softwaretools
Gerade habe ich auf dem Intel Software Network eine interessante Liste von Anwendungsfällen gefunden, die zeigen sollen, bei welchen Applikationen Intel-Softwaretools erfolgreich zum Einsatz gekommen sind. Dazu gehören unter anderem:
- Die Open-Source-Datenbank MySQL konnte dank der Intel C++ Compiler um 27 bis 42 Prozent schneller gemacht werden. Und zwar sowohl für Pentium-4- als auch Itanium-2-Prozessoren.
- Mithilfe des Intel-Fortran-Compilers gelang es der australischen Swinburne-Universität für Astrophysik, ihre HPC-basierten Anwendungen auf dem zugehörigen Supercomputer nochmals um 22 bis 31 Prozent zu beschleunigen.
- Die Datenbankanwendungen von Oracle laufen sowohl unter Linux als auch unter Windows schneller, da beide Versionen dank der Multicore-Optimierungen der entsprechenden Compiler noch mehr aus der Hardware herausholen.
- Das Erstellen von MP3-Songs mithilfe der Kodierungssoftware Musicmatch Jukebox geschieht dank des Intel C++ Compilers um 37 Prozent schneller als zuvor. Hierzu hat die Profiling-Software VTune Performance Analyzer allerdings auch einen Teil beigetragen.
Neben diesen compiler-basierten Verbesserungen hilft VTune immer mehr Software-Anbietern, ihre Anwendungen für Intel-Prozessoren zu optimieren. Dazu gehört bespielsweise Kaspersky Lab, das seine Antiviren-Software mithilfe des Intel-Tools verbessern konnte. Ebenso konnte Abaqus Inc. dank VTune seiner Simulationssoftware neues Leben einhauchen.
Wer mehr wissen will zu den einzelnen Erfolgsgeschichten, begebe sich auf die zugehörige Webseite. Dort finden sich auch sämtliche Fallstudien in PDF-Form zum Download.
Workshops und Tutorials für Parallelprogrammierer
Was mir als Software-Dev-Blogger wirklich am Herzen liegt, ist ein möglichst hoher Nutzwert, den meine Blog-Beiträge bieten sollen. Daher haben sich im Laufe der letzten gut sechs Monate einige Workshops und Tutorials angesammelt, die zeigen, wie die parallele Programmierung vonstattengeht. Und damit diese Tipps und Tricks nicht in Vergessenheit geraten, folgt jetzt die ultimative Tutorial-Sammelliste:
>> Los ging es mit den bekannten Multithreading-Konzepten OpenMP, APIs und Intel Threading Building Blocks und der Frage, welche der drei Methoden sich zum Threaden am besten eignet.
>> Dann folgten fünf Multicore-Programmierregeln, die zeigen sollen, mit welchen Anforderungen Programmierer und Software-Entwickler konfrontiert werden, wenn sie sequenziellen Code in parallele Anwendungen überführen wollen. Ich sage nur: Denke parallel!
>> Ein wichtiges, weil fundamentales Konzept der Multicore-Programmierung ist der Unterschied zwischen Daten- und Aufgabenparallelität. Diesen zu verstehen ist die erste Programmiererpflicht, wenn es darum geht, skalierbare Multithread-Anwendungen zu erstellen.
>> Wie viele Schritte muss man gehen, um aus seriellem Quellcode parallel ablaufenden zu machen? Genau vier. Rein abstrakt betrachtet zumindest. Auch hierfür habe ich den passenden Workshop parat, der die vier Stufen der Parallelprogrammierung genauer beleuchtet.
>> Was aber, wenn ich zwar weiß, wie ich parallel programmieren soll, ich aber keinen Schimmer davon habe, welche Stolperfallen dabei auf mich warten? Da heißt es dann meinen Beitrag lesen, welche Fehler bei der Parallelprogrammierung der Entwicklergemeinde drohen und wie sich diese (die Fehler, nicht die Entwickler) umgehen lassen.
Reminder: Webinar zum Thema Parallel Studio
Ende Mai soll es soweit sein: Parallel Studio kommt auf den Markt und aus diesem Grund bietet Intel seit Anfang März eine ganze Reihe passender Webinars, die kostenlos sind, zirka eine Stunde dauern und euch mit interessanten Infos und Einblicken in die zukünftige Entwicklerumgebung für parallelisierte Anwendungen versorgen.
Am heutigen Dienstag ist um 18:00 Uhr MESZ ein Online-Seminar dran, das sich an C-/C++-Programmierer richtet, die mithilfe von Parallel Studio und Visual Studio ihren Softwareprodukten paralleles Leben einhauchen wollen. Dabei geht es um die Fragen, an welchen Stellen, in welchem Umfang und mit welchen Mitteln Quellcode multithread-tauglich gemacht werden kann, damit er auf Multicore-Systemen optimal skaliert. Ach ja: Es wird empfohlen, ergänzend am Webinar mit dem Titel “Identify and Address Threading Opportunities” teilzunehmen, das für den 12. Mai anberaumt ist.
Also, dann nix wie zur Anmeldeseite hingesurft, schnell registrieren und für das Webinar eintragen. Dann könnt ihr heute Abend Punkt 18:00 Uhr am PC mehr zu Parallel Studio erfahren.


