Interview: Visual Studio 2010 und seine Multicore-Fähigkeiten

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

Während der OOP 2009 gab es die Möglichkeit, mit Microsoft zusammenzusitzen und ein wenig über Visual Studio 2010 und das zugehörige .NET Framework 4.0 zu plaudern. So der Plan! Leider kam es anders, was dazu führte, dass ich am vorigen Mittwoch via Festnetz mit einem der Technikgurus, Dariusz Parys, über diverse Aspekte der Parallelprogrammierung mithilfe des .NET-Framework in der Version 4.0 sprach. Und das ist dabei herausgekommen.

Wie unterstützt das .NET Framework 4.0 die parallele Programmierung?
Hierfür gibt es diverse Komponenten. Es wird sowohl für den Bereich “Managed Applications” – also C# und Konsorten – als auch für native Programmiersprachen (Fortran, C++ etc.) Bibliotheken und ähnliche Dinge geben. Für beide Programmiermodelle wurde die Concurrency Runtime entsprechend aufgebohrt.

Für die .NET-Entwickler gibt es dann zwei neue Modelle, und zwar die Task Parallel Library (TPL) und PLING. Mit der TPL lassen sich Aufgaben abstrahieren, was unter der Oberfläche und mithilfe der Concurrency Runtime zu Threads führt, um deren Verteilung auf die einzelnen Prozessorkerne sich der Entwickler nicht mehr kümmern muss. PLINQ stellt eine parallelisierte Erweiterung von LINQ dar. Und LINQ wiederum ist “eine Komponente von Microsofts .NET-Framework, mit der SQL-, XLink- und XQuery-Anfragen direkt in .NET-Programmiersprachen wie C# 3.0 oder VB.Net 9.0 als Code statt als String eingebunden werden können” (Quelle: Wikipedia).

Aber auch bei den nativen Sprachen gibt es neue Ansätze bezüglich der Concurrency Runtime: Dies ist zum einen die Parallel Pattern Library, die sich mit den Intel Threading Building Blocks vergleichen lässt. Zum anderen bietet Visual Studio 2010 eine Agent Library für C++ und Co, die bestimmte Aufgaben verwalten und ausführen kann.

Was sagen Sie Entwicklern, wenn Sie mit ihnen über die parallele Programmierung reden?
Das hängt davon ab, mit wem ich spreche. Entwickler, die sich zum Beispiel schon länger mit serviceorientierten Anwendungen beschäftigen, in denen separate Aufgaben durch Dienste erledigt werden, verstehen das Konzept der parallelen Programmierung oft schneller als Programmierer, die nur die rein serielle Entwicklung kennen. Wichtig dabei ist die Erkenntnis, dass es in den meisten Anwendungen Programmteile gibt, die man loslösen kann von der restlichen Programmlogik. Ein Beispiel hierfür ist die parallele Speicherung von Daten.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Intel Parallel Studio ab sofort als Beta erhältlich

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

Seit Ende November gibt es eine Light-Variante des Intel Parallel Studio, nämlich den Parallel Composer als Beta, die man sich als interessierter Entwickler auf seinen Rechner ziehen kann, um damit schon mal ein wenig Paralleles Programmieren zu üben.

Tja, und ab sofort steht das komplette Paket Parallel Studio zum Beta-Testen bereit. Das Tool besteht aus den drei Programmteilen Composer, Inspector und Amplifier. Was der Composer kann, muss ich nicht noch mal erklären. Der Inspector untersucht ähnlich wie der Thread Checker parallelisierten Code auf mögliche Fehler hin. Das sind vor allem schlimme Dinge wie Deadlocks und Race Conditions, die sich meist erst zur Laufzeit erkennen geben und mit herkömmlichen Testmethoden oder Debuggern kaum aufspürbar sind.

Der Amplifier schließlich ist für das Finetuning der parallelisierten Anwendung zuständig. So findet er beispielsweise selbstständig seriellen Quellcode, der noch parallelisiert werden könnte. Aber auch Engstellen im Programmablauf, die sich durch die Parallelisierung ergeben haben, stöbert der Amplifier auf.

Um am Betaprogramm von Parallel Studio teilnehmen zu können, sollte man Microsoft Visual Studio 2005 oder 2008 einsetzen (außer Express), in C oder C++ programmieren, und das unter Windows XP, Vista, Windows Server 2003 oder 2008. Mac- und Linux-Anwender bleiben leider (erst mal) außen vor.

Und hier geht es zur Teilnahme am Betaprogramm (für die Anmeldung ist lediglich eine gültige E-Mail-Adresse erforderlich). Viel Spaß beim Testen!

Kategorien : Multicore Tags : , ,

BASTA! Spring 2009: C#4.0, Visual Studio 2010 und mehr

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

Software & Support Media gibt einen Tag vor Heilig Abend feierlich bekannt: Die BASTA! Spring 2009 findet im kommenden Frühjahr vom 23. bis 27. Februar in Darmstadt statt. Schwerpunkte der Entwicklerkonferenz werden unter anderem sein: Windows Azure, Windows 7, Oslo, C# 4.0, Visual Studio 2010 und dynamische Sprachen.

Natürlich wird es wieder ganz viele Tipps & Tricks rund um das Thema .NET geben. Darüber hinaus geht es auf der BASTA! um das Thema parallele Programmierung. Dafür werden schon alleine die VS 2010-Sessions sorgen.

Für den Blick hinter die Kulissen hat Software & Support Media wieder ganz viele Experten eingeladen, die mithilfe anschaulicher Beispiele und “Best Practices” .NET näher bringen wollen. Zu diesen Fachleuten gehören beispielsweise Christian Binder (Microsoft), André Krämer (CSC), Neno Loje (AIT), Peter Nowak (T-Systems) und Dr. Holger Schwichtenberg (IT-Visions).

Neben den geplanten Vorträgen wird es parallel zur BASTA! vier Themenspecials geben, die sich mit C#, SharePoint, Architekturen und Visual Basic beschäftigen werden. Daneben besteht die Möglichkeit, anhand der angebotenen Sessions und Workshops sein ganz individuelles Konferenzprogramm zusammenzustellen.

Die Tech-Sessions sind in unterschiedliche Technologie-Tracks gegliedert und dauern jeweils 75 Minuten. Außerdem können in ganztägigen “Power-Workshops” spezielle Themen sehr detailliert besprochen und vertieft werden. Sämtliche Konferenzinhalte können bereits heute online abgerufen werden.

Preistipp: Wenn Sie sich bis zum 22. Januar 2009 für die BASTA! Spring 2009 anmelden, können Sie als “Early Bird” richtig Geld sparen. Also, worauf warten Sie noch?!

Kategorien : Multicore Tags : , ,

Jetzt Beta-Tester des Intel Parallel Composer werden

veröffentlicht von Michael Hülskötter 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 : , , , ,