Sämtliche Beiträge des Monats November 2008

Fünf Multicore-Programmierregeln auf einen Blick

veröffentlicht von am 28. November 2008 (0) Kommentare

Oft hört man die Frage, was beim parallelen Programmieren alles zu beachten sei. Deshalb folgen an dieser Stelle die fünf wichtigsten Multicore-Regeln für angehende Parallel-Entwickler:

Multicore-Regel Nummer 1: Denke parallel! Am allerbesten ist ein paralleles Konzept von Anfang an. Dies vermeidet ein nachträgliches Implementieren parallelen Quellcodes, wie das beispielsweise mit den Intel Threading Building Blocks möglich ist. Optimalerweise legen Sie sich eine Strategie zurecht, wie Sie Schritt für Schritt zu einer multicore-optimierten Anwendung kommen.

Multicore-Regel Nummer 2: Entwickle task-orientiert! Parallel programmierter Code skaliert am besten, wenn er nicht für eine bestimmte Zahl an Prozessoren programmiert wurde, sondern sich an der bestmöglichen Zahl an parallel ausführbaren Aufgaben orientiert. Denken Sie daher nicht in Threads, dass erledigen Tools wie die Intel TBB für Sie. Deren Scheduler verteilt die auszuführenden Aufgaben auf die vorhandenen Prozessorkerne. Und je mehr davon zur Verfügung stehen, desto paralleler läuft die Anwendung.

Multicore-Regel Nummer 3: Auf die Tools kommt es an! Parallele Threads auf Basis von POSIX oder Windows-APIs programmieren zu wollen, ist ein hartes Brot, denn Sie müssen sich selbst um die Parallelisierung des Quellcodes kümmern. Viel einfacher ist es, mit den richtigen Tools der Anwendung paralleles Leben einzuhauchen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Fehler im Multithread-Code aufspüren: Thread Checker

veröffentlicht von am 27. November 2008 (0) Kommentare

Beim Erstellen von parallel programmiertem Quellcode treten im Gegensatz zu seriellem Sourcecode zwei mögliche Probleme sehr viel häufiger auf: Race Conditions und Dead Locks. Beide sind mit herkömmlichen Mitteln nicht aufspürbar, so dass ein spezielles Tool erforderlich ist, dass diese Aufgaben erledigen kann. Dieses Software-Werkzeug nennt sich Thread Checker und ist Bestandteil des VTune Performance Analyzer, der sich wiederum vollständig in Visual Studio integrieren lässt.

Damit steht der Thread Checker in der bekannten Entwicklungsumgebung zur Verfügung. Eine Einschränkung gibt es allerdings: Es lassen sich nur nativ programmierte Anwendungen mit dem Thread Checker überprüfen, also nur C++ und Visual Fortran. .NET-Entwickler bleiben derzeit leider außen vor. Dies wird sich allerdings mit Visual Studio 2010 ändern, das ja Ende nächsten Jahres auf den Markt kommen soll.

Exkurs: Race Conditions und Dead Locks
Race Conditions treten vor allem dann auf, wenn ein parallel programmiertes Programm zur Laufzeit zwei Thread generiert, die beide auf ein gemeinsames Datum zugreifen und davon nichts wissen. So erzeugt Thread A beispielsweise ein Datum X und speichert es, was Thread B genauso tut, ohne darüber Bescheid zu wissen, dass Thread A das Datum X gerade geändert. Dies kann natürlich zu unvorhergesehenen Problemen und Fehlern im weiteren Programmablauf führen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Jetzt Beta-Tester des Intel Parallel Composer werden

veröffentlicht von am 26. November 2008 (1) Kommentar

Ende Oktober hatte ich schon mal über das Intel Parallel Studio berichtet. Hierbei handelt es sich um eine komplette Entwicklungsumgebung für C++-Projekte, die mithilfe von Microsoft Visual Studio realisiert werden. Parallel Studio erlaubt es, vorhandenen oder neuen Code so zu tunen, dass er maximale Parallelität aufweist und somit optimal auf Multiprozessor-Systemen wie dem Intel Core i7 skaliert.

Einer der vier Teilprogramme von Parallel Studio nennt sich Parallel Composer, der es Software-Entwicklern dank vorgefertigter Bibliotheken, Funktionen und Programmschnipseln relativ einfach machen soll, ihrem Quellcode paralleles Leben einzuhauchen. Und mit dem gestrigen Tag wurde das Beta-Programm für den Parallel Composer gestartet. Wer also unter C++ programmiert, hierfür Windows Visual Studio 2005 oder 2008 einsetzt und seine Anwendungen für Intel-Multicore-CPUs optimieren will, sollte sich eine Beta-Version des Parallel Composers besorgen.

Neben dem Beta-Programm für den Parallel Composer stellt Intel eine Menge Hilfe, Tipps und Tricks rund um das parallele Programmieren mit dem neuen Tool zur Verfügung. Ob das Hilfestellungen bei Installationsproblemen sind oder nützliche Tipps, wie sich der Intel C++-Compiler innerhalb des Microsoft Visual Studio Team Foundation Server einsetzen lässt – hier findet man eine Menge Antworten auf seine Fragen rund um den Intel Parallel Composer.

Hinweis: Ich muss noch eines klar stellen: Die Beta-Phase des Intel Parallel Studio hat entgegen früherer Ankündigungen noch nicht begonnen, was aber nur einen kurzen Aufschub bedeutet. Daher wird das Ganze mit einem Teilprogramm, dem Parallel Composer, gestartet.

Videotipp: Wer mehr in Bild und Ton zum Intel Parallel Studio im Speziellen und zum parallelen Programmieren unter Windows im Allgemeinen lernen will, sollte sich mal die Videochats mit Ralph de Wargny von Intel und Steve Teixeira, Parallel-Guru von Microsoft, ansehen.

Kategorien : Multicore Tags : , , , ,

3D-Demo “Smoke” zeigt das wahre Core i7-Potenzial

veröffentlicht von am 25. November 2008 (0) Kommentare

Was funktioniert am allerbesten, wenn man eine neue Technologie oder ein neues Produkt präsentieren will? Richtig, eine Live-Demo. Zwar ist ein Videoclip nicht wirklich live, aber wenn es eindeutig ist, dass am Inhalt nicht herumgeschraubt wurde, ist die Beweiskraft dieses Mediums sehr hoch.

So verhält es sich auch mit der 3D-Demo, die ich gerade auf der ISN-Webseite gefunden habe. Ihr Name: Smoke. Ihr Ziel: das Leistungspotenzial des neuen Core i7 Prozessors demonstrieren. Die Zutaten: eine hochkomplexe 3D-Szene mit einem brennenden Haus und diversen AI-Objekten wie herumfliegenden Vögeln, im Wind schwankenden Bäumen und einigem mehr.

Das Beeindruckende an der Demo ist deren Skalierbarkeit: Ausgelegt auf einen Core i7 Quadcore-Prozessor laufen gleichzeitig acht Threads ab, und das mit nahezu voller Auslastung. Sobald sieben der acht Threads abgeschaltet werden, geht die 3D-Szene erkennbar in die Knie: Das Feuer verkommt zu Pixelwolken, sämtliche AI-Objekte wirken schlagartig unnatürlich und mit dem 3D-Erlebnis ist insgesamt Schluss.

weiterlesen…

Kategorien : Multicore,Visual Computing Tags : , ,

Mehr Multithread-Leistung mit dem Intel Core i7 Prozessor

veröffentlicht von am 24. November 2008 (0) Kommentare

Mit dem erst gerade vorgestellten Core i7 Prozessor von Intel bekommt das Thema parallele Programmierung eine ganze neue Bedeutung. Denn selten zuvor steckte in einer Intel-CPU so viel Parallelität wie in diesem neuen Mikroprozessor. Daher sollte man sich als Software-Entwickler unbedingt die Mühe machen, den Core i7 genauer zu erforschen. Hier mal ein paar wichtige Leistungsdaten:

  • Sämtliche verfügbaren Prozessorkerne samt der zugehörigen Threads, Caches und Schnittstellen werden dynamisch verwaltet und ermöglichen somit ein Maximum an Rechen- und Systemleistung.
  • Die Intel Hyperthreading-Technologie erlaubt verbessertes Multithreading bei gleichzeitig optimiertem Energieverbrauch. Darüber hinaus lassen sich in Zukunft pro Prozessorkern zwei Threads gleichzeitig verarbeiten, was bei einem Core i7 mit vier CPU-Kernen acht parallele Threads bedeutet.
  • Die Intel Streaming SIMD Extensions 4 (SSE4) konnten erneut verbessert werden, vor allem in Sachen XML-Verarbeitung.
  • Verglichen mit den aktuellen Xeon-Prozessoren bietet der Core i7 dank seiner QuickPath-Architektur eine Bandbreite, die bis zu viermal so groß ist.
  • Ein verbessertes Power Management erlaubt es Software-Entwicklern, ihre Anwendungen noch exakter auf die SSE4-Befehlssätze abzustimmen.

Da diese Infos aber nur einen kleinen Ausschnitt dessen wiedergeben, wozu der Core i7 im Stande ist, empfehlen wir weitere Informationen, die einen guten Überblick geben. Hierzu gehört beispielsweise ein Videoclip, der den neuesten Highend-Prozessor von Intel anschaulich erklärt, genauso wie ein Whitepaper, das im Detail auf die neue Mikroprozessor-Architektur eingeht, die hinter dem Core i7 steckt.

Gerade für Entwickler sind auch die SSE4-Infos wichtig: Diese zeigen, wie man Videokodierung mithilfe spezieller SSE4-Befehle optimiert, wie sich dank SSE4 der Speicherdurchsatz erhöhen lässt und wie man die XML-Verarbeitung beschleunigen kann, indem man die neuen SSE4-Befehle richtig einsetzt. Aber auch die PDF-Gesamtübersicht ist sehr hilfreich, wenn man alles über sämtliche neuen SSE4-Befehle wissen will.

Kategorien : Multicore Tags : , ,

Multithreading-Konzepte: OpenMP, APIs und Intel TBB

veröffentlicht von am 21. November 2008 (0) Kommentare

Für die parallele Programmierung bieten sich diverse Alternativen an, von denen hier drei vorgestellt werden sollen: OpenMP, Threading-APIs und Intel Threading Building Blocks.

OpenMP: Diese Threading-Methode ist relativ simpel zu handhaben, da in den Quellcode sogenannte Pragmas eingebaut werden, die der jeweilige Compiler richtig interpretieren kann – oder auch nicht. OpenMP eignet sich vor allem für die Parallelisierung einfacher Schleifenkonstrukte und prozeduraler Datenstrukturen. Aufgrund seiner Historie lässt sich OpenMP gut in nativen Programmierumgebungen (C++ und Fortran) einsetzen, dafür leider gar nicht in managed Code (C#, .NET).

Threading-APIs: Spezielle Threading-APIs wie Win32- oder POSIX eignen sich nicht so gut zum Implementieren von Parallel-Code. Dabei werden die Multithreading-Konstrukte in eigenen Funktionen verpackt. Die Ergebnisse werden dann als Pointer übergeben, und hier steckt die Schwierigkeit bei der Arbeit mit Threading-APIs: Funktionsprototypen und Datenstrukturen müssen aufwendig modifiziert werden, was häufig die Abstraktion des Codes und das Programmdesign zerstört. Außerdem muss man sich als Programmierer selbst um das Erzeugen, Verwalten und Synchronisieren der Threads kümmern, was sehr mühsam ist. Daneben unterstützen Threading-APIs C++ nur sehr schlecht und oft gar nicht.

Intel Threading Building Blocks: Hierbei handelt es sich um eine C++-Bibliothek, die ähnlich wie die Standard Template Library eines herkömmlichen Compilers aufgebaut ist. Die Intel TBB stellen hochentwickelte Abstraktionsmodelle zur Verfügung, um eine flexible Programmierung zu ermöglichen. Das bedeutet, dass beispielsweise Iteratoren, die in Container verpackt sind, mithilfe der Intel TBB relativ einfach parallelisiert werden können.

Die Idee hierbei ist recht simpel: Anstatt Threads spezifiziert man einzelne Aufgaben (Tasks), die der TBB Scheduler auf die vorhandenen Hardware-Threads abbildet. Man muss sich also nicht mehr um die Synchronisation der Threads und ähnliches kümmern. Außerdem skaliert eine mithilfe der Intel TBB parallelisierte Anwendung sehr gut, da je nach verfügbaren Prozessorkernen und damit verbundenen Threads die Software um ein Vielfaches schneller ausgeführt werden kann.

Kategorien : Multicore Tags : , , ,

Intel auf der Microsoft Technical Summit 2008 [Upd]

veröffentlicht von am 20. November 2008 (0) Kommentare

Heute und morgen findet in Berlin eine große Entwicklerkonferenz von Microsoft statt, die auf den Namen Technical Summit 2008 hört. Wie es sich für ein solches Gipfeltreffen geziemt, werden viele neue Dinge zu hören und zu sehen sein.

Dazu gehört beispielsweise ein Blick in die parallele Zukunft, die Steve Teixeira während seiner heutigen Keynote gewähren wird (mit Steve durften wir letzte Woche während der Tech-Ed EMEA 2008 in Barcelona zu diesem Thema ein Video-Interview führen). Dabei geht es vor allem um die geplante Version 10 von Visual Studio, bei der das Thema paralleles Programmieren in den Vordergrund rücken wird.

Was liegt da also näher, als dass Intel auf der Tech Summit vertreten ist (und das sogar als Gold-Sponsor), um über seine eigenen Bemühungen hinsichtlich der Software-Entwicklung für Multicore-Plattformen zu sprechen. So wird Ralph de Wargny am morgigen Freitag über die verschiedenen Aspekte reden, die es zu beachten gilt, wenn man unter Windows seriellen Programmcode parallelisieren will. Er wird also über die Intel Softwaretools reden wie den Intel VTune Performance Analyzer, aber auch über die zukünftige Parallelisierungs-Suite Intel Parallel Studio, die als Plugin für Microsoft Visual Studio fungieren wird.

weiterlesen…

Kategorien : Multicore Tags : , ,

Kostenlose Webcasts zur Multicore-Programmierung

veröffentlicht von am 19. November 2008 (0) Kommentare

Die SOS Software Service GmbH vertreibt und distribuiert Software namhafter Hersteller wie Adobe, Filemaker, Microsoft und vieler anderer. Auf der Kundenliste steht auch Intel, deren Entwicklungs-Tools das Unternehmen aus Augsburg vertreibt.

Etwas ganz besonderes hat sich SOS Software Service GmbH gemeinsam mit Intel für den Oktober/November ausgedacht, und zwar eine exklusive Webcast-Reihe auf Deutsch (!) zum Thema Multicore-Programmierung und -Optimierung. Diese Reihe ist in vier Teile gegliedert und umfasst die folgenden Abschnitte:

1. Programmierung für Multicore-Prozessoren – Einführung in Methoden zur Parallelisierung von Anwendungen unter Microsoft Windows mit Intel Software Entwicklungswerkzeugen

2. Analyse von parallelen Windows-Anwendungen mit Intel Thread Checker und Intel Thread Profiler

3. Multi-Threading mit den Intel Threading Building Blocks und Visual Studio 2008

4. Optimierung von Microsoft Windows Anwendungen auf Multi-Core Architekturen mit dem Intel VTune Performance Analyzer

Webcast Nummer eins zeigt, wie sich Programme analysieren lassen, um so herauszufinden, welche Programmteile für die Parallelisierung geeignet sind. Dies geschieht mithilfe der Intel Threading Tools, OpenMP und der Intel Threading Building Blocks.

Webcast zwei stellt die zwei wichtigsten Intel-Tools zum Aufspüren möglicher Datenkollisionen und Blockaden (Dead Locks) genauer vor: Intel Thread Checker und Intel Thread Profiler. Es werden typische Probleme beim Parallelisieren von Programmen aufgezeigt und wie man diese mithilfe der beiden Tools behebt.

weiterlesen…

Kategorien : Multicore Tags : ,

Top-Entwickler werden und 10.000 Dollar kassieren

veröffentlicht von am 18. November 2008 (0) Kommentare

Über das Intel Software Partner Program (Intel SPP) haben wir ja Ende Oktober schon mal berichtet. Und kamen dabei zu dem Schluss, dass es sich durchaus lohnt, Unterstützung seitens Intel anzufordern, wenn es darum geht, die eigenen Anwendungen für Intel-Plattformen zu optimieren.

Jetzt setzt Intel aber dem Ganzen noch ein Sahnehäubchen auf, indem es besonders fleißige und transparente Software-Entwickler dafür belohnt, dass sie über ihre Projekte berichten. Das nennt sich dann Intel Ignite 2008 und soll wohl funkelnde Tränen der Rührung und Begeisterung in die Augen der teilnehmenden Firmen zaubern.

Dies kann nämlich den sieben Gewinnern blühen, die Intel monatlich ermittelt und diese mit einem recht lukrativen Preis bedenkt. Besonders lukrativ sind die 10.000 US-Dollar, die einem Software-Unternehmen oder einem einzelnen Entwickler winken, falls sein Projekt von Intel als das beste des Monats ausgewählt wird.

Aber auch eine der sechs Referenzgeschichten, in deren Genuss man kommen kann, ist nicht weniger attraktiv. Intel kümmert sich übrigens bei den Case Studies um das Verfassen und das Veröffentlichen der Erfolgsgeschichten, und in drei Fällen sogar mir Videokamera. So etwas dürfte Ihrem Namen und Ruf bestimmt nicht zum Nachteil gereichen.

Jetzt werden Sie sich bestimmt fragen, was zu tun ist, um an das schöne Geld oder den Anwenderbericht zu kommen? Nun, erstens müssen Sie Teil des Intel Software Partner Programs werden, was relativ einfach ist. Dann sollten Sie möglichst bald – nämlich von heute an bis zum 31. Dezember 2008 – Ihr Software-Projekt fertigstellen und eine Beschreibung des Ganzen via SPP-Webseite an Intel schicken. Und drittens muss die Software bereits auf dem Markt verfügbar resp. einsetzbar sein.

Dann sind Sie vielleicht bald mit ein wenig Glück um 10.000 Dollar oder eine Referenzgeschichte reicher. Was Ihnen auf jeden Fall dräut sind drei schwarze Poloshirts, die mit dem Intel SPP-Logo verziert sind. Also, worauf warten Sie noch?!

Kategorien : Multicore Tags : , ,

Plaudereien, Videos und Multicore-Infos auf der Tech-Ed’08

veröffentlicht von am 17. November 2008 (0) Kommentare

Wir haben es geschafft: Die Microsoft Tech-Ed EMEA Developers 2008 ist Geschichte und wir sind wieder heil in München angekommen. Etwas erschöpft zwar, aber doch sehr zufrieden nach einer Woche Entwicklerkonferenz auf spanischem Boden. Wir hatten eine Menge Spaß in Barcelona, haben viel technisches Wissen preisgegeben, haben lehrreiche Videos gedreht und veröffentlicht und durften erleben, dass ein HP-Notebook eine große Anziehungskraft ausübt.

So ging es richtig gut los mit Freibier am letzten Montag, steigerte sich dann in Form von Techsessions und Interviews von Dienstag bis Donnerstag und mündete im großen Interview mit Steve Teixeira, der bei Microsoft als einer der Gurus in Sachen paralleles Programmieren gilt. Und was Intel mit dem schwarzen Gürtel zu tun hat, haben wir ebenfalls in Wort und Bild festgehalten.

Für uns war die Microsoft Tech-Ed EMEA 2008 sehr erfolgreich, was für Intel nach eigenen Aussagen genauso gilt. Und wir haben die Zeit in Barcelona genossen und gelernt, dass Tapas nicht gleich Tapas sind und dass Wein auch schon mal wie Honig schmecken kann. Wir freuen uns auf jeden Fall schon auf die Tech-Ed 2009. Hasta la vista, Barcelona! Man sieht sich nächstes Jahr wieder. Spätestens!

Kategorien : Multicore Tags : , ,

Videochat: So wird man Träger des schwarzen Intel-Gürtels

veröffentlicht von am 14. November 2008 (0) Kommentare

Neben den Videointerviews mit Ralph und Edmund von Intel hatten wir während der Microsoft Tech-Ed EMEA 2008 auch die Chance mit Beatrice Frädrich zu reden, die uns tiefe Einblicke in die Seele des Intel Software Network gewährte und die Frage beantwortete, wie man Träger des schwarzen Intel-Gürtels wird.

So hörten wir beispielsweise von Beatrice, dass das ISN eine anerkannte Quelle für Software-Entwickler ist, die es einem erlaubt, mit Intel-Spezialisten in Kontakt zu treten. Daneben findet man Blogs, Foren, Tools und vieles mehr rund um die Themen Multicore und Visual Computing, Virtualisierung und so fort. Aber auch Online-Trainings, Webinars und diverse Wettbewerbe findet man auf ISN. Und natürlich eine jeweils ausführliche Berichterstattung zu einzelnen Events wie diesem hier aus Barcelona.

weiterlesen…

Kategorien : Multicore,Visual Computing Tags : , ,

Videosession: Multicore-Programmierung mit Intel-Tools

veröffentlicht von am 14. November 2008 (0) Kommentare

Über Ralphs Techsession während der Microsoft Tech-Ed EMEA Developers 2008 hatten wir ja schon ausführlich gesprochen. Und heute können wir endlich das dazu passende Video nachliefern. Damit lernen Sie wichtige Dinge über paralleles Codieren innerhalb von Windows-Programmierumgebungen. Viel Spaß dabei!

Kategorien : Multicore Tags : , ,

Video-Tutorial: Windows-Programme richtig parallelisieren

veröffentlicht von am 13. November 2008 (0) Kommentare

Der dritte Tag der Microsoft Entwicklerkonferenz Tech-Ed EMEA 2008 fand mit der technischen Präsentation von Edmund Preiss ein würdiges Ende. Edmund arbeitet bei Intel in München/Feldkirchen in der Abteilung “Software & Services”.

Der Vortragsbereich war ziemlich gut gefüllt: Mehr als 80 Leute lauschten interessiert Edmunds Ausführungen bezüglich der Frage, wie man mithilfe geeigneter Tools seriellen Quellcode in parallel ablaufende Anwendungen transformiert. Auf dass sie automatisch skalieren, sobald die Software nicht mehr von zwei Prozessorkernen ausgeführt wird, sondern von 8, 12 oder mehr.

weiterlesen…

Kategorien : Multicore Tags : , ,

Videochat: So wird aus seriellem paralleler Code

veröffentlicht von am 13. November 2008 (0) Kommentare

Wenige Minuten vor seiner Präsentation auf der Microsoft Tech-Ed EMEA 2008 hatten wir die Gelegenheit, mit Edmund Preiss zu sprechen, der für die Intel Software & Services Group in München/Feldkirchen tätig ist. Unsere Fragen lauteten wie folgt:

1. Worum geht es denn in deinem Vortrag?

2. Mit welchen Software-Tools lässt sich serieller Quellcode parallelisieren?

3. Wie hilft das Intel Parallel Studio Windows-Entwicklern?

Edmunds Antwort auf die erste Frage war so überraschend nicht: Die Transformation von seriellem Programmcode in eine Anwendung, die auf mehreren Prozessorkernen optimal skaliert, gelingt mit den richtigen Tools recht einfach.

So zeigt er während seines Vortrags anhand eines kurzen, aber offensichtlichen Beispiels, wie sich die Berechnungszeit der Zahl Pi mit Hilfe der Intel Thread Analysis Tools halbieren lässt. Hierzu setzt man zunächst den Intel Thread Checker ein, der unter anderem Data Races aufspürt, die im schlimmsten Fall einen Bluescreen hervorrufen können.

weiterlesen…

Kategorien : Multicore Tags : , ,

Tech-Ed’08-Videochat: Intel Multicore-Tools

veröffentlicht von am 12. November 2008 (0) Kommentare

Während seines Vortrags auf der Microsoft Tech-Ed EMEA 2008 entführt Ralph de Wargny vom Intel-Software-Team seine Zuschauer in die Welt der parallelen C++-Programmierung. Denn leider gibt es immer noch genügend Softwaretitel, die “seriell” programmiert sind und damit die Chance verspielen, auf leistungsfähigen Prozessoren vernünftig zu skalieren.

So nutzt beispielsweise die nächste Intel-Mikroprozessor-Architektur Core i7 vier und mehr Prozessorkerne, was acht und mehr parallel stattfindende Threads ermöglicht. Dies erfordert natürlich Anwendungen, die mit der zunehmenden Zahl an Prozessoren skalieren, damit sie möglichst automatisch 16, 32 oder mehr CPU-Kerne nutzen, sobald diese zur Verfügung stehen.

Genug Gründe also für Ralph, über wichtige Aspekte des parallelen Programmierens zu sprechen. So stellt er sehr kompakt die verfügbaren Intel Softwaretools vor, die Entwicklern dabei helfen sollen, Multithread-Anwendungen zu programmieren. Die Rede ist vom geplanten Intel Parallel Studio und dem zugehörigen Beta-Programm, von den Intel Performance Libraries, Intel TBB, Intel Thread Checker, Intel VTune Performance Analyzer und Intel Thread Profiler.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Videochat mit Steve Teixeira, Microsoft-Parallel-Guru

veröffentlicht von am 12. November 2008 (0) Kommentare

Am zweiten Tag der Tech-Ed EMEA Developers 2008 hatten wir die Gelegenheit, mit dem Parallel-Guru Steve Teixeira von Microsoft ein Interview zu führen. Unsere Fragen waren investigativ und herausfordernd zugleich:

1. Welche Anstrengungen unternimmt Microsoft, um das parallele Programmieren noch besser zu unterstützen?

2. Wie sieht die Zusammenarbeit zwischen Intel und Microsoft in Sachen paralleles Programmieren aus?

3. Wie profitieren Intel Parallel Studio und Microsoft Visual Studio voneinander?

4. Wann werden wir neue Microsoft-Anwendungen und Tools in Sachen parallele Programmierung sehen?

5. Wie werden Software-Entwickler in Microsofts Beta-Programme einbezogen?

weiterlesen…

Kategorien : Multicore Tags : , ,

Tech-Ed’08-Video: Wissen beweisen und HP-Laptop abgreifen

veröffentlicht von am 11. November 2008 (0) Kommentare

Dass es auf der Microsoft Tech-Ed EMEA Developers 2008 nicht nur um harten Fakten, sondern auch um Spaß geht, erfährt man während eines Besuchs am Intel-Stand. Dort gibt es neben den Informationen rund um Multicore-Programmierung, Intel Software Tools und das künftige C++-Entwicklertool Intel Parallel Studio einen attraktiven Preis zu gewinnen: das HP-Notebook Compaq 6830s, das vor allem durch sein 17 Zoll großes Display besticht, seinen schnellen Intel Core 2 Duo Prozessor und den Rest seiner Ausstattung.

Allerdings hat Intel vor den Lohn die Arbeit gestellt, denn um in den Besitz des schicken HP-Laptops zu kommen, muss man vier von sechs Fragen richtig beantworten. Diese Fragen haben unter anderem mit der C++-Library Intel Threading Building Blocks zu tun, mit dem Deadock-Detektiv Intel Thread Checker, mit den Herausforderungen der richtigen Speicherbelegung, mit Lambda-Funktionen des Intel C++ Compilers in der elften Version, der Vermeidung von unvorhersehbaren Data Races und von dem Ort, an dem jeder Programmierer wichtige Infos rund um das Thema Multicore-Programmierung findet.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Tech-Ed’08: Erste Videoeindrücke und Freibier

veröffentlicht von am 11. November 2008 (0) Kommentare

Gestern, überpünktlich um 19:00 MEZ, hat die große Entwicklerkonferenz Microsoft Tech-Ed EMEA Developers 2008 in Barcelona ihre Pforten geöffnet. Es war ziemlich schnell ziemlich voll, was aber sicherlich nicht nur am Freibier lag. Denn allein der große Microsoft-Stand, der die komplette Halle okkupiert, bietet Themen en masse.

Aber natürlich auch der Intel-Stand läd zum Verweilen ein: Ob wegen der netten Kollegen, die mit Sachverstand die vielen Fragen beantworten, oder wegen des Gewinnspiels, bei dem man ein schickes HP-Notebook gewinnen kann – es gibt in der Tat viele gute Gründe für den Besuch der Microsoft Tech-Ed EMEA 2008.

Und so richtig los gehen tut es ohnehin erst heute. Auch bei uns …

Kategorien : Multicore Tags : , , ,

Microsoft Tech-Ed EMEA 2008, wir kommen!

veröffentlicht von am 10. November 2008 (0) Kommentare

Sodala, jetzt sitze ich hier in der S-Bahn gen Flughafen, um in den Flieger einzusteigen, der mich und meinen Videocaster Tom nach Barcelona auf die große Entwicklerkonferenz Microsoft Tech-Ed EMEA 2008 bringen wird. Unsere Mission: Intel dabei begleiten, wie dessen Software & Marketing Spezialisten über das Thema Multicore-Programmierung in Windows-Umgebungen sprechen werden.

Dabei geht es vor allem um das im Frühjahr nächsten Jahres erscheinende Tool Intel Parallel Studio. Es handelt sich um ein Plugin für Microsofts Entwicklungsumgebung Visual Studio. Parallel Studio soll vor allem C++-Entwicklern dabei helfen, ihre Anwendungen im Hinblick auf Multicore-Prozessoren wie den Intel Core 2 Duo zu optimieren.

Daher werden wir unter anderem C++-Programmierer vor der Kamera zu Wort kommen lassen, die sich für Parallel Studio begeistern können. Aber auch die Intel-Vorträge zu diesem Thema werden wir in Ton und Bewegtbildern festhalten und hier online stellen. Und klar, um ein wenig “Atmo” geht es auf der Tech-Ed EMEA 2008 natürlich auch. Mal sehen, was uns dort alles erwartet.

Apropos: Die Besucher der Intel-Vorträge, die im Presentation Pavillon in der Nähe des Intel-Standes (E5/E6) jeweils nachmittags (DI, MI und DO) stattfinden werden, sollten gut aufpassen. Denn es gibt im Falle richtig beantworteter Fragen ein Notebook mit Dual-Core-Proezessor zu gewinnen. Wenn das mal kein Anreiz ist! Und was sich hinter dem Intel Black Belt Software Developer verbirgt, erfahren Sie am Intel-Stand ebenfalls. Man sieht sich also …

Kategorien : Multicore Tags : , ,

Quellcode-Schwachstellen mit Intel VTune aufspüren

veröffentlicht von am 7. November 2008 (3) Kommentare

Ich kann mich noch gut an eine Programmieraufgabe während meines Informatikstudiums erinnern. Da haben wir geschlagene zwei Tage nach einem Winzfehler im Quellcode gesucht. Dabei handelte es sich nur um einen nicht zurückgesetzten Pointer.

Ok, das ist jetzt mehr als 15 Jahre her und wir hatten auch keine vernünftige Testumgebung zur Verfügung, aber das gute Trial-and-Error wird beim Aufspüren von Programmierfehlern immer noch gerne eingesetzt. Doch spätestens bei großen Projekten, die hunderte von Manntagen umfassen, greifen solche Ansätze nicht mehr.

Wie gut, dass es hierfür Tools wie den Intel VTune Performance Analyzer gibt, der Schwachstellen und Fehler aufspürt, was das Debuggen und Testen von Quellcode erheblich vereinfacht und beschleunigt. Hierzu bedient sich VTune verschiedener Ansätze, die bei der Fehlersuche angewandt werden:

  • Ereignis-basiertes Sampling findet Flaschenhälse und Engpässe, die sich in den Quellcode eingeschlichen haben, ohne dabei unnötigen Overhead zu generieren. Solche Ereignisse sind Fehltreffer bei Cache-Zugriffen, falsche Vorhersagen bei Funktionsaufrufen und unzureichende Busbandbreiten.
  • Der VTune Performance Analyzer identifiziert darüber hinaus exakt die Stellen innerhalb des Quellcodes, die bei der Ausführung am meisten Zeit benötigen. Damit lassen sich falsche Funktionsaufrufe und ähnliche Konstrukte relativ einfach bestimmen und wahlweise eliminieren oder optimieren.
  • Mithilfe von Call Graph werden Funktionsaufrufe grafisch dargestellt und der jeweils zugehörige kritische Pfad ermittelt. Das hilft sehr intuitiv beim Aufspüren möglicher Engpässe und Problemstellen. Außerdem ermittelt VTune auf diesem Weg zeitintensive Funktionen.
  • VTune Performance Analyzer ermittelt außerdem leistungshemmenden Quellcode auf Systemebene, indem mithilfe des Counter Monitors sämtliche Systemaktivitäten und die benötigten Ressourcen zur Laufzeit überprüft werden. Damit lässt sich beispielsweise feststellen, welche Programmteile unverhältnismäßig viel Speicher vereinnahmen.

weiterlesen…

Kategorien : Multicore,Visual Computing Tags : ,