Brauchen Software-Programmierer (keine) Thread-Checker?
Die Woche beginnen wir mal mit überraschenden Ergebnissen einer aktuellen Dr. Dobb’s Studie. Unter dem Titel „The Parallel Programming Landscape – Multicore has gone mainstream“ hat der renommierte Developer-Service am Ende des vergangenen Jahres knapp 300 namhafte Unternehmen aus dem Bereich Software-Entwicklung zu Zielen und Tools im Bereich „Parallel-Programmierung“ befragt. Dabei wurde eine erstaunliche Lücke zwischen den Ansprüchen und den tatsächlichen Vorgehensweisen sichtbar. So setzen beispielsweise zwei Drittel der befragten Unternehmen überhaupt keine Tools zur Thread-Kontrolle ein. Gleichwohl gaben 56 Prozent der Interviewten an, dass Parallel-Programmierung wichtig sei, und 26 Prozent erachten Parallel-Programmierung gar als entscheidend („critical“).
Diese Werte kann ich nur so deuten, dass eine steigende Zahl an Programmierern das Thema „Parallel Programmierung“ nun auf der Agenda hat (erfreulich), um leistungsfähige und zeitgemäße Anwendungen für Unterhaltung, Business oder Forschung und Lehre zu schreiben (sehr erfreulich!) ohne zu wissen, welche Tools dabei tatsächlich wertvolle Dienste leisten (sehr ernüchternd).
Immerhin: 11 Prozent der Befragten kennen und nutzen den Intel Inspector XE, der unter den Thread-Checker-Tools damit den Spitzenplatz einnimmt gefolgt von Micro Focus Boundschecker (9%) und Helgrind (6%). Andere Tools wurden von 8 Prozent der Befragten genannten. Und ebenso viele gaben vor, nicht zu wissen, ob und welche Programme zum Einsatz kämen.
Fazit: Noch immer nutzt der Großteil der Parallel-Programmierer gar kein Hilfsmittel, sondern sucht Code-Fehler per Hand oder Log-Analyse. Unfassbar.
„Ihr lieben Leute“, möchte man ihnen zurufen, „das erfordert nicht nur immenses Know-how, sondern kostet Zeit und ist fehleranfällig. Verschwendet doch nicht die Zeit eurer besten Programmierer mit Aufgaben, die professionelle Tools schneller, effizienter und gewissenhafter erledigen. Lasst eure Developer wieder kreativ sein, und übergebt die Routine-Aufgaben den Programmier-Anwendungen. Ein Marco Reus soll in Gladbach auch nicht die Vitrinen putzen, sondern Tore für den nächsten Titel schießen (und vorbereiten natürlich).“
Weitere Ergebnisse. 30 Prozent der Befragten nutzen Visual Studio 2010. Das Tool ist damit Marktführer. Die meist genannten Antworten auf die Frage „Warum optimieren Sie Ihren Code für Mehrkern-Systeme?“ lauten sinngemäß „Um die Performance der Programme zu verbessern“ und „Besserer Stellenwert beim Kunden/Käufer“.
Aufgrund dieser Ergebnisse beschleicht mich irgendwie das Gefühl, dass wir im vergangen Jahr nicht ausreichend die Werbetrommel für Intel Parallel Studio XE gerührt oder aber die falschen Leute adressiert haben. IT-Entscheider wüssten ansonsten, dass sie mit diesem Paket sowohl erstklassige Compiler erhalten als auch eine Reihe wirklich effizienter Analyse-Tools, die beim Coden einiges an Arbeit sparen – vor allem bei der Suche nach Fehlern oder Optimierungspotenzial. Nun denn…
Zum Wochenstart noch ein wirklich klasse Video (das rein gar nichts mit der zuvor zitierten Umfrage zu tun hat)
Im August und September des letzten Jahres war Intel unter dem Motto „3D Erlebnis“ in Deutschland unterwegs. Für diejenigen, die leider nicht dabei sein konnten (wie ich), hat Intel im Video einige Eindrücke zusammengestellt. Und ich verspreche euch: Lohnt sich! Viel Spaß!
Großes Kino: Intel Software TV neu gestaltet!
Wir bringen Sie zum Film! Denn Intel hat sein Video-Portal für Developer, Intel Software TV, für Sie erneuert. Freuen Sie sich über ein neues Web-Design, eine große Zahl an HD-Videos und einen cleveren Player, der die Clips automatisch passend skaliert – sowohl für kleine Smartphones-Displays als auch Fernsehschirmgroße Monitore.
Und Sie finden genau die Videos, die Sie interessieren, ab sofort schneller anhand übersichtlicher Themengebiete Von besonderer Bedeutung ist dabei sicherlich die Kategorie „Parallel Programming“. Diese Reihe ist brandaktuell: Beispielsweise finden Sie reihenweise Clips von der SC11, der „International Conference for High Performance Computing, Networking, Storage and Analysis“, die vom 12.11 – 18.11.2011 in Seattle stattfand. Auf dieser Konferenz erläuterten Intel-Experten im Interview beispielsweise, welche Chancen der Cloud-Hype Parallel-Programmierern eröffnet, wie sich Vektorberechnungen schneller ausführen lassen und wie Intel-Hardware sogar das Wetter beeinflusst (na ja, fast jedenfalls).
Neugierig geworden? Hier geht es zur Übersicht.
Übrigens: Wenn Sie die mitunter sehr ausführlichen Videos lieber offline als online ansehen: Kein Problem: Wir haben eine Download-Option für Sie. Sie können jeden Clip als MP4-File auf der Festplatte speichern.
Zwei kostenlose Webinare: So verbessere ich die Performance meiner Applikationen
Über das Optimierungstool Intel VTune Amplifier XE habe ich ja schon das ein oder andere Mal berichtet. Dazu passt ganz gut ein Eintrag auf software.intel.com, der auf eine zweiteilige Webinar-Reihe aufmerksam macht, die Intel interessierten Entwickler kostenlos zur Verfügung stellt. Hierzu müssen Sie sich einmal registrieren, um anschließend beide Online-Trainings in voller Länge konsumieren zu können.
Teil 1 der virtuellen Kurse beschäftigt sich vor allem mit der Frage, wie sich Anwendungen, die auf den aktuellen Prozessoren von Intel (Stichwort: Sandy Bridge) laufen, so optimiert werden können, damit sie noch besser und performanter auf dem Rechner ausgeführt werden. Hierzu bietet VTune Amplifier XE eine eigene Funktion, mit der sich die Anwendung analysieren und auf Hotspots und ähnliche Bremsklötze untersuchen lässt.
Teil 2 der Webinar-Reihe zeigt, welche Hemmschuhe in einer Anwendung vorkommen können und wie sie mit Hilfe von Sandy-Bridge-Funktionen wie AVX behoben werden können. Natürlich lernen Sie auch, wie sich diese Funktionen optimal einsetzen lassen und weiter optimiert werden können.
Und wem das noch nicht genügt, dem möchte ich die zwei Videos ans Herz legen, die sich mit dem Thema Performance-Analyse ausführlich beschäftigen. Für das Abspielen der Videoclips müssen Sie sich übrigens nicht anmelden.
Alle Infos und den Anmeldelink finden Sie auf der zugehörigen Webseite auf dem Intel Software Network.
[Videochat] Manuel Wille von Nik Software zu Multicore-Optimierungen, AVX und Parallel Studio XE
Hoch droben über den Dächern von Dubrovnik bekam ich ihn vor die HD-Kamera, inklusive Wind und Meerrauschen: Manuel Wille, seines Zeichen Vice President Engineering bei der Nik Software GmbH.
Manuel spricht in unserem Interview über die Optimierungen, die Nik Software an HDR Efex Pro vorgenommen hat. Die Rede ist aber auch von den Leistungssteigerungen, die das Lübecker Unternehmen dank des Einsatzes von AVX-Operationen erzielen konnte. Manuel spricht dabei von 30 bis 40 Prozent.
Und zu guter Letzt geht es noch um die Frage, welche Intel-Tools Nik Software zur Multicore-Optimierung seiner Anwendungen einsetzt. Die zugehörige Antwort fand ich dann doch einigermaßen überraschend. Doch seht am besten selbst…
[Videochat] James Reinders von Intel über Entwicklertools, 2012 und MeeGo
Auf der diesjährigen Intel Software Conference im wundervollen Dubrovnik hatte ich die Gelegenheit, mit Chief Evangelist James Reinders von Intel ein paar Worte zu wechseln. Dabei ging es um vier schlichte Fragen, die er allesamt recht ausführlich beantwortet hat.
Zusammengefasst kann man sagen, dass Entwickler ein oder zwei Augen auf die neuen Intel Array Building Blocks werfen sollten, mit deren Hilfe mathematische Operationen in Zukunft recht einfach auf mehreren Prozessorkernen parallel ausgeführt werden können. Darüber hinaus nahm er sich sogar die Zeit, das Konzept hinter den verwandten Intel Threading Building Blocks zu erläutern.
Darüber hinaus verfolgt Intel mit MIC eine interessante Strategie: dieser Quasi-Nachfolger von Larrabee wird wohl im nächsten Jahr auf den Markt kommen und von sämtlichen Tools unterstützt werden, die es jetzt auch schon gibt. Nur in angepasster und verbesserter Form, natürlich.
Aber auch zu MeeGo und den passenden Entwicklertools hatte James eine dedizierte Meinung, wie sich anhand der Beispiele für künftige MeeGo-Gerätschaften erkennen lässt: so nennt er Tablet-PCs an Nummer Eins, aber auch Handhelds, In-Car-Infotainment- und andere Gadgets werden in Zukunft mit MeeGo laufen. Sagt zumindest Chefentwickler James Reinders.
OOP 2011: Stephen Blair-Chappell über die Parallelisierung von Anwendungen
Während der OOP 2011 in München hatte ich die Gelegenheit mit Stephen Blair-Chappell zu sprechen, der auf der Entwicklerkonferenz am zweiten Tag seinen Vortrag hielt. Die Präsentation lief unter dem Titel “Introducing parallelism into legacy code: Three case studies”. Kurz danach stand uns Stephen für drei kurze Fragen parat:
In welche Fallen tappen Software-Entwickler gemeinhin, wenn sie versuchen, seriell programmierte Anwendungen zu parallelisieren?
Gibt es Fälle, in denen es keinen Sinn macht, Teile einer Software-Anwendung zu parallelisieren?
Existieren gute Beispiele für erfolgreiche und erfolglose Versuche, bestehenden Code zu parallelisieren?
Na, dann viel Spaß mit dem Videointerview!
OOP 2011 – Ralph de Wargny zu Multicore, Manycore, Intel Parallel Studio und mehr
Während der OOP 2011 in München hatte ich die Gelegenheit, mit Ralph de Warny von Intel dieses Videointerview zu führen. Ralph erzählte mir ein wenig über seinen Vortrag, den er auf der OOP gehalten hat, über die Themen Multicore und Manycore und die Tools Parallel Studio und Parallel Studio XE. Außerdem gewährte er eine kurzen Einblick in die Zukunft der Parallelprozessoren.

