Sämtliche Beiträge des Monats April 2010

Web-Tipp: Parallel programmieren in Java

veröffentlicht von am 30. April 2010 (1) Kommentar

Gerade in Zeiten der Endlosdiskussionen “Offene versus geschlossene Systeme” (also zum Beispiel Android versus iPhone) sollte man sich die offenen Systeme mal genauer ansehen, was sie denn in Sachen Multicore-Programmierung zu bieten haben. Bei der Recherche für diesen Blog-Eintrag bin ich dann prompt auf einen Online-Kurs von Sun gestoßen, in dem es zwar nicht sehr detailliert, aber dafür recht anschaulich und verständlich um das Thema “Concurrency” geht. Allerdings gibt es gleich zu Anfang einen Hinweis, der (a) verwirrend und (b) inhaltlich nicht ganz  richtig ist:

The Java platform is designed from the ground up to support concurrent programming, with basic concurrency support in the Java programming language and the Java class libraries. Since version 5.0, the Java platform has also included high-level concurrency APIs.

Verwirrend daran ist die Tatsache, dass davon die Rede ist, Java sei von Hause aus für die Parallelprogrammierung konzipiert worden. Das stimmt natürlich nicht, was im zweiten Satz auch klargestellt wird. Und der Hinweis auf die grundlegende Unterstützung in Sachen Multithreading in Java macht es ebenfalls deutlich: Java bietet zwar Multicore-Support, der ist aber nicht trivial anzuwenden und erfordert sicherlich mehr Informationen als die Lektion “Concurrency”, die auf der Sun-Seite zur Verfügung gestellt wird.

Nichtsdestotrotz ist dieser kleine Workshop ein guter Einstieg in die Welt der Java-Multicore-Programmierung. Es wird anhand kurzer Codebeispiele gezeigt, wie sich …

  • Threads erzeugen und starten lassen
  • Threads per Sleep Messages() temporär anhalten lassen
  • Threads unterbrechen lassen
  • Threads anhalten lassen, damit sie auf einen anderen Thread warten.

weiterlesen…

Kategorien : Multicore Tags : , ,

Visual Studio 2010 jetzt auf Deutsch verfügbar

veröffentlicht von am 28. April 2010 (1) Kommentar

Vor gut zwei Wochen hat Microsoft Visual Studio 2010 vorgestellt, und heute schon hat Kay Giza auf seinem Blog gemeldet, dass die deutschsprachigen Varianten des Entwickler-Tools samt dem neuen Framework .NET 4 zum Download bereit stehen. Da es sich allerdings um diverse Pakete handelt, habe ich mir die wichtigsten Infos mal genauer angesehen und fasse sie für euch übersichtlich zusammen.

  • Zunächst einmal unterscheidet Microsoft in Sachen VS-2010-Download zwischen registrierten und nicht-registrierten Entwicklern. Alle, die also ein MSDN-Abo ihr eigen nennen, können sich Visual Studio 2010 und .NET 4 downloaden.
  • Auch nicht-registrierte Anwender kommen in den Genuss von VS 2010, allerdings nur in der Testversion, die sich für 90 Tage auf dem Rechner installieren lässt. Dafür kostet die Trial-Variante natürlich nix. Test-Willige können dabei zwischen diversen Varianten wählen: Ultimate, Professional und Test Professional, und das entweder als ISO-Datei oder per Webinstaller. Außerdem braucht ihr noch die .NET-4-Laufzeitumgebung sowie diverse Tools, mit denen ihr eure Applikationen testen könnt. Dazu gehören die F#-Runtime, die Office-Runtime, der Team Foundation Server 2010 und der Team Explorer.

Ach ja, Kays Blogbeitrag hält noch weitere nützliche Infos bzw. Links zu Visual Studio 2010 parat: den Hinweis auf ein Einführungsvideo, die Empfehlung eines E-Books zum Thema VS-Migrierung, einen Workshop zum Erstellen von Cloud-Anwendungen mit VS 2010 und viele andere gute Tipps und Internet-Links. Also, ein Besuch des Giza-Blogs lohnt sich.

Ach ja: Für Visual Studio 2010 wird gerade die nächste Version der Multicore-Suite Parallel Studio entwickelt. Wer dabei als Betatester fungieren möchte, sollte mal hier vorbeischauen.

Kategorien : Multicore Tags : , ,

Event-Hinweis: Multicore-Konferenz in San Jose

veröffentlicht von am 27. April 2010 (1) Kommentar

Zugegeben, nach San Jose sind es ein paar Meter zu fahren, aber alle Multicore-Interessierten und -Programmierer sollte die nächsten Tage zumindest virtuell gen Westen der USA schauen. Denn dort finden gleich zwei Events statt: ESC Silicon Valley 2010 und die darin eingebettete Multicore Expo 2010, die bereits zum fünften Mal stattfindet.

Einer der Hauptsponsoren auf dieser 2-in-1-Veranstaltung ist Wind River, ein Multicore-Spezialist und seit Mitte vergangenen Jahres zu Intel gehörend. Der Zusammenschluss von Intel und Wind River hat ja einen recht trivialen Hintergrund: Mit dem Embedded-Spezialisten Wind River sichert sich Intel einen riesigen Fundus an Multicore-, Linux- und Mobile-Gadgets-Wissen, das jetzt schon in diverse Tools und Lösungen einfließt, aber auch in künftige wie Smartphones und andere Gerätschaften, die Intel noch möglichst in diesem Jahr auf den Markt bringen will.

Aber zurück zum Multicore-Event: Dort gibt es ab heute bis Donnerstag Infos satt rund um die Themen Parallelprogrammierung, Multithreading und Co. Jeder Tag bietet drei Slots, die unterteilt sind in die Bereiche “Applying Multicore to Networking and Telecom”, “Resolving Multicore Debug Challenges”, “Parallelization and Application Partitioning”. Also geht es letztlich um das Verteilen, Testen und Implementieren von Multicore-Techniken.

Natürlich findet man auf der Multicore Expo 2010 alles, was man von solch einer Veranstaltung erwarten kann: ausführliche Workshops und TechTalks, Keynote Sessions, Sponsored Sessions und Paneldiskussionen. Dabei geht es um Themen wie “Simplifying Multicore”, “Software Development: the Key to Multicore Success” und “Community Creation for Embedded Multicore Processors & Applications”. Es stehen aber auch Dinge wie die mögliche Parallelprogrammierung für Atom-Prozessoren, Multicore und Cloud Computing und virtualisierte Multicore-Plafttformen auf der Agenda.

Und für alle, die nicht in San Jose dabei sein können, gibt es auf der Event-Seite im Anschluss an die Veranstaltung wieder sämtliche Präsentationen zum Download. Das hat voriges Jahr allerdings 150 Dollar gekostet, wenn man selbst nicht dabei war.

Kategorien : Multicore Tags : ,

Multicore-Guide, Teil 2 ist verfügbar

veröffentlicht von am 22. April 2010 (0) Kommentare

Mitte März hatte ich über eine ausführliche Sammlung gebloggt, in der es sehr ausführlich um das Thema Multicore-Programmierung geht. Und jetzt habe ich dazu passend eine E-Mail des Intel-Service “Software Dispatch” erhalten. Diese Mail verweist nämlich auf den zweiten Teil des großen Multicore-Guides. Darin geht es auf gut 50 Seiten unter anderem um folgende Dinge:

  • das richtige Speicher-Management beim Threaden von Anwendungen

und

Toll an diesem Programmier-Leitfaden ist die sehr ausführlich Darstellung möglicher Szenarien und wie sich diese richtig behandeln lassen. Dazu gibt es eine Menge nützlicher Diagramme und Code-Beispiele.

Allerdings hat Intel vor den Download dieser digitalen Broschüre eine kleine Registrierung gestellt, die aber nur aus einem Namen und einer E-Mail-Adresse besteht. Anschließend könnt ihr sogar auswählen, welche Themen und Broschüren euch besonders interessieren. Im Falle der Multithreading-Anleitungen solltet ihr “Intel Software Dispatch” anklicken. Viel Spaß beim Lesen!

Kategorien : Multicore Tags : , ,

Beta-Tester von Parallel Studio werden

veröffentlicht von am 21. April 2010 (0) Kommentare

Vor gut einer Woche war es also soweit: Microsoft stellte mit einigem Brimborium und Livecast sein lang ersehntes Entwicklertool Visual Studio 2010 inklusive .NET 4 vor. Was aber bedeutet das, wenn man beispielsweise Parallel Studio für das Multithreaden seiner Anwendung innerhalb von Visual Studio einsetzt? Denn bisher wurden nur Visual Studio 2005 und 2008 von Parallel Studio unterstützt.

Nun, um an der Gestaltung der für Visual Studio 2010 optimierten Version von Parallel Studio teilzunehmen, könnt ihr euch für das zugehörige Beta-Programm registrieren. Allerdings handelt es sich dabei erst mal nur um eine Bewerbung. Ob man dann tatsächlich beim Beta-Test der nächsten Version von Parallel Studio dabei ist, entscheidet ein entsprechendes Gremium. Seid also sorgfältig beim Ausfüllen des Bewerbungsformulars, in dem Dinge abgfragt werden wie der Zeitraum des geplanten Umstiegs auf VS 2010, welche Programmiersprachen zum Einsatz kommen und ob die zu entwickelnden Anwendungen ausschließlich unter Windows laufen – oder auch nicht.

Doch was werden Software-Entwickler von der Kombination Parallel Studio/Visual Studio 2010 alles haben? Dazu gehören folgende Dinge:

  • Eine äußerst leistungsstarke Speicher- und Thread-Analyse, die sowohl parallelen als auch sequenziellen Quellcode nach möglichen Flaschenhälsen und Fehlern untersucht.
  • Der in Parallel Studio integrierte C++-Compiler ist vollständig kompatibel mit Microsoft Visual C++. Darüber hinaus ermöglicht der Intel-Compiler neue Vektormodelle und identifiziert sogar Bereiche innerhalb der Anwendung, die mithilfe einiger Handgriffe effizienter laufen, wenn man dort spezielle Vektoroperationen einbaut.
  • Aber auch die Intel Integrated Performance Primitives (IPP) sind bereits jetzt vollständig kompatibel mit Visual Studio 2010. Die IPP sind unter anderem wichtig bei der Programmierung von Multimedia-, Bildbearbeitungs- und Kommunikationstools.

Also, worauf wartet ihr noch? Als möglicher Beta-Tester seht ihr nicht nur als erster die nächste Version von Parallel Studio, sondern könnt sogar aktiv die Auswahl neuer Features mitbestimmen. Wenn das mal nix ist …

Kategorien : Multicore Tags : , ,

Fazit: Intel Software-Konferenz 2010

veröffentlicht von am 15. April 2010 (1) Kommentar

Die Intel Software-Konferenz 2010 zu Barcelona ist schon wieder Geschichte. Zeit also für ein kurzes Resümee der Veranstaltung, die ganz im Zeichen der Parallelprogrammierung stand, aber auch für Software-Entwickler mobiler Anwendungen einiges zu bieten hatte.

James Reinders in seiner Funktion als Chef-Entwickler bei Intel erzählte in seinen Vorträgen eine Menge über Parallel Studio und über geplante Projekte, die im Laufe der nächsten Monate realisiert werden. Aber auch Peter Norfolk von Bloor Research hatte das ein oder andere zu dem Thema zu sagen (mein Lieblingsspruch: “A fool with a tool is still a fool!”). Norfolk verwies in seiner Präsentation unter anderem auf den (bekannten) Effekt, dass bei der Anschaffung neuer (Multicore-)Systeme die vorhandene Software meist nicht skaliert und im Vergleich zur vorherigen Installation sogar schlechter laufen könnte. Und das macht natürlich niemandem Spaß.

Vor allem nicht im Business-Umfeld, auf das sich Norfolk bezog. Aber selbst wenn die Software an die neuen Multicore-Maschinen angepasst wurde (Stichwort: Multithreading), ergeben sich laut Norfolk möglicherweise auch Verstimmungen, wenn das Optimieren der Anwendungen nicht richtig geschehen ist (was beim Multithreaden durchaus vorkommt). Genauso wichtig wie das Parallelisieren von Business-Software ist laut Peter Norfolk aber auch das Parallelisieren der Geschäftsprozesse, damit sich diese auch auf die entsprechenden Algorithmen abbilden lassen. Das ist speziell im Business-Umfeld von entscheidender Bedeutung.

Eine weitere wichtige Erkenntnis der Intel Software-Konferenz 2010 lautet: Intel treibt die Software-Gemeinde weiter an und hilft ihr, Probleme besser und besser zu lösen. Das schafft der Prozessorhersteller einerseits mithilfe ständig verbesserter und neuer Tools, die beispielsweise bei der Parallelprogrammierung notwendig und hilfreich sind. Aber auch Projekte wie Intel Concurrent Collections oder Intel Cluster OpenMP zeigen stets neue Wege auf, wie Software-Entwickler ihre Produkte noch effizienter und eleganter in den Markt bringen können.

Eine weitere gute Nachricht: Intel bietet für die verschiedenen Stufen der Software-Entwicklung die passenden Tools, die sich Programmierer zu eigen machen können. Denn das eine, perfekte Werkzeug für sämtliche Aufgaben gibt es laut James Reinders nicht. Schade eigentlich …

Ach ja: Für die mobilen Entwickler hatte Uli Dumschat von Intel ebenfalls eine Menge nützlicher Infos und Tipps dabei. Aber das ist eine ganze andere Geschichte, die ich hier hoffentlich sehr bald veröffentlichen werde.

Kategorien : Multicore Tags : ,

Intel Software-Konferenz 2010 hat begonnen

veröffentlicht von am 13. April 2010 (0) Kommentare

Vorige Woche hatte ich es ja bereits angekündigt, heute ist es tatsächlich soweit: Im offensichtlich verregneten Barcelona scharrt Intel wie jedes Jahr Software-Entwickler aus ganz Europa um sich. Der Zweck dieser Zusammenkunft: Welche Veränderungen in Sachen Multicore-Programmierung sind in diesem Jahr zu erwarten und was tun andere, um diesen Trend mitzugehen? Zwar bin ich selbst nicht vor Ort, aber die KollegInnen des SoftTalk-Blogs sind auf der Konferenz und werden ausführlich darüber berichten. Und hier erfahrt ihr alles Wissenswerte über das Intel-Event in komprimierter Form.

Wie sich das auf solchen Veranstaltungen gehört, gebührt das erste Wort dem Gastgeber, und das ist nun mal Ober-Parallel-Guru James Reinders, der gleich allen Anwesenden die Schuld für die Notwendigkeit der Parallelprogrammierung gab: “We are all guilty! We love data!” Und diese Sammelwut führt laut Reinders zwangsläufig dazu, dass sich die zu verarbeitende Datenmenge in den den nächsten Jahren exponentiell vervielfachen wird (Experten denken heute schon in Exabyte, also einer Trillion Byte). Und dieser Datenwust macht es unumgänglich, dass Daten möglichst parallel verarbeitet werden sollten. Hierfür benötigt man aber nicht nur schnelle Rechner und leistungsfähige Infrastrukturen, sondern auch hochoptimierte Anwendungen.

>> Den Rest des Originalbeitrags lesen …

Im zweiten Teil seines einleitenden Vortrags wurde James ein gutes Stück konkreter: Es ging im einzelnen um Parallel Studio, Cilk, Ct und daten-optimierte Intel-Compiler. Zu Parallel Studio hat er wohl nur so viel verraten, dass die nächste Version der Parallelisierungssuite für das gestern vorgestellte Visual Studio 2010 optimiert sein wird.

Mit der Übernahme von Cilk im Sommer 2009 hat sich Intel großes Know-how in Sachen task-basiertes Multithreading ins Haus geholt. Gerade sind Cilk- und Intel-Ingenieure dabei, ihre Produkte mehr und mehr zu verschmelzen, sodass in Zukunft noch eine ganze Menge aus dieser gemeinsamen Schmiede zu erwarten ist.

Aber auch mit der Ct-Technik geht es weiter voran, wie Reinders in seinem Vortrag darstellte. Ct basiert auf einem daten-konzentrischen Ansatz und soll die Methoden der Parallelprogrammierung in diesem Bereich maßgeblich verändern. Dazu gehören neue Techniken wie SWAR-Vektorisierung (SIMD within a register), die Unterstützung künftiger Hybridprozessoren und vieles mehr.

>> Den Rest des Originalbeitrags lesen …

Kategorien : Multicore Tags : , ,

Intel Software-Konferenz 2010: Parallel und mobil

veröffentlicht von am 8. April 2010 (0) Kommentare

Im vorigen Jahr zog die Karawane ins österreichische Salzburg, heuer ist das katalanische Barcelona dran: Die Rede ist von der alljährlichen Intel Software Conference, auf der sich bekannte Namen der Branche eine Bühne teilen und über die neuesten Entwicklungen in Sachen Software-Entwicklung berichten.

Lag der Schwerpunkt 2009 auf der Parallelprogrammierung (es stand ja das Intel Parallel Studio kurz vor der Veröffentlichung), beschäftigt sich die iSTEP in diesem Jahr mit einer ganzen Reihe interessanter Themen. Dazu gehört natürlich eine genauere Betrachtung von Visual Studio 2010 (was ja bald auf den Markt kommt). Diesen Part wird unser guter Bekannter Steve Teixeira übernehmen, der zu den Vätern von VS 2010 gehört.

Aber auch über die generellen Probleme der Parallelprogrammierung wird zu reden sein. So verschafft David Norfolk von Bloor Research allen Anwesenden einen guten Überblick zum Thema “Mainstream Market” und wird hoffentlich die Frage beantworten, wohin die Reise geht und was Software-Entwickler in Sachen Multicore-Programmierung künftig beachten sollten.

Wenn Alexandre Jenny die Bühne betritt, wird es pragmatisch. Monsieur Jenny ist Gründer und CEO von Kolor, einem französischen Software-Unternehmen, das sich auf die Erstellung von Panoramabildern spezialisiert hat (und das seit 2004). Schon seit dieser Zeit sind Alexandre und sein Team äußert penibel darauf bedacht, mithilfe fest definierter Richtlinien das Multithreaden ihrer Software-Produkte bereits vom ersten Tag an permanent zu verbessern. Und das wohl mit großem Erfolg: Mithilfe ihrer Software gelang es Kolor, Paris in Form eines 26-Gigapixel-Bildes rundum abzubilden. Was hierfür alles notwendig ist und war, wird Alexendre eigens auf der iSTEP erzählen.

weiterlesen…

Kategorien : Multicore Tags : ,