<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Dev Blog &#187; Michael Hülskötter</title>
	<atom:link href="http://www.software-dev-blog.de/author/mhuelskoetter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.software-dev-blog.de</link>
	<description>Multicore-Programmierung, Multithreading &#38; Visual Computing</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:35:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Intel Threading Challenge 2010: Von Katzen und Pokerkarten</title>
		<link>http://www.software-dev-blog.de/intel-threading-challenge-2010-von-katzen-und-pokerkarten/09/2010/</link>
		<comments>http://www.software-dev-blog.de/intel-threading-challenge-2010-von-katzen-und-pokerkarten/09/2010/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 10:39:01 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Wettbewerb]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1443</guid>
		<description><![CDATA[Anfang Juni war es so weit: Intel startete seinen nächsten Parallel-Programmier-Wettbewerb, der sich aus zwei Phasen und insgesamt sechs Aufgaben zusammensetzt. Mittlerweile hat der Contest Phase 2, Aufgabe 3 erreicht, und wieder gibt es schöne Preise zu gewinnen. Allerdings hat Intel vor den Gewinn das Denken gesetzt, und so kommt man auch bei der dritten [...]]]></description>
			<content:encoded><![CDATA[<p>Anfang Juni war es so weit: Intel startete seinen nächsten <a href="http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/">Parallel-Programmier-Wettbewerb</a>, der sich aus zwei Phasen und insgesamt sechs Aufgaben zusammensetzt. Mittlerweile hat der Contest Phase 2, Aufgabe 3 erreicht, und wieder gibt es schöne Preise zu gewinnen.</p>
<p>Allerdings hat Intel vor den Gewinn das Denken gesetzt, und so kommt man auch bei der dritten Aufgabe der zweiten Phase nicht umhin, seine Parallelprogrammierkünste unter Beweis zu stellen. Dass es sich dabei um eine Aufgabe aus der Welt des Pokers handelt, ist (a) natürlich sehr amerikanisch und (b) sehr populär, da sich Poker schon lange größter Beliebtheit erfreut &#8211; und das nicht nur in den USA.</p>
<p>Dass es sich bei der zu Grunde liegenden Pokerart um die bei uns eher unbekannte Variante <a href="http://en.wikipedia.org/wiki/Pai_gow_poker" target="_blank">Pai Gow Poker</a> handelt, spielt keine wirkliche Rolle. Alleine die Anzahl der zum Spiel gehörenden Karten (7 vs. 5 beim regulären Poker) variiert, der Rest ist wie immer. Die Aufgabe besteht darin, ein parallel programmiertes Tool zu entwicklen, das so schnell wie möglich heraus findet, mit welchen Kartenkombinationen ein einzelnen Spieler gegen die Bank gewinnen kann, welches das zweitbeste Blatt ist, das drittbeste, usw.</p>
<p>Die komplette Beschreibung und sämtliche Parameter findet ihr <a href="http://software.intel.com/en-us/contests/threading-challenge-students-2010/codecontest.php" target="_blank">auf der Contestseite</a>. Dort ist auch den Hinweis hinterlegt, dass zur Ermittlung des Gewinners die notwendige Zeit herangezogen wird, die das programmierte Tool verbraucht, bis es sämtliche Kartenkombinationen herausgefunden hat. Auf dieser Seite könnt ihr das Ergebnis eures Schaffens einreichen.</p>
<p>Ach ja: &#8220;Pai Gow&#8221; ist lediglich der Einsteiger-Wettbewerb des Intel Threading Challenge 2010. Beim Master-Challenge geht es um ein Spiel, das sich <a href="http://software.intel.com/en-us/contests/threading-challenge-prof-2010/codecontest.php" target="_blank">Katze und Hund nennt</a>. Falls ihr also die echten Herausforderungen schätzt, solltet ihr dort auf jeden Fall auch mal vorbei schauen.</p>
<p>Für beide Aufgaben gilt, dass ihr sie bis spätestens 11. Oktober, 24:00 Uhr (PDT) eingereicht haben müsst. Und was ihr alles gewinnen könnt, erfahrt ihr <a href="http://software.intel.com/en-us/articles/intel-threading-challenge-2010-contest-prizes/" target="_blank">auf dieser Seite</a>. Und um das Lösen der Aufgaben ein wenig zu erleichtern, bietet Intel allen Teilnehmern Zugriff auf das <a href="http://software.intel.com/en-us/articles/intel-threading-challenge-2010-tools-and-downloads/" target="_blank">Intel Manycore Testing Lab und die notwendigen Software-Tools</a>. Damit kommen auch all diejenigen in den Genuss eines Multicore-Rechners, die keinen zuhause rumstehen haben.</p>
<p>Und jetzt: viel Spaß mit der 3. Aufgabe der 2. Phase der Intel Threading Challenge 2010!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-threading-challenge-2010-von-katzen-und-pokerkarten/09/2010/&via=sw_devtwits&text=Intel Threading Challenge 2010: Von Katzen und Pokerkarten&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-threading-challenge-2010-von-katzen-und-pokerkarten/09/2010/&via=sw_devtwits&text=Intel Threading Challenge 2010: Von Katzen und Pokerkarten&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-threading-challenge-2010-von-katzen-und-pokerkarten/09/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mit Intel Adivsor schrittweise parallel programmieren</title>
		<link>http://www.software-dev-blog.de/mit-intel-adivsor-schrittweise-parallel-programmieren/09/2010/</link>
		<comments>http://www.software-dev-blog.de/mit-intel-adivsor-schrittweise-parallel-programmieren/09/2010/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 13:09:51 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[IDF10]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1442</guid>
		<description><![CDATA[Zurück von der großen Intel Entwickler-Konferenz &#8211; auch IDF (Intel Developer Forum) genannt &#8211; gibt&#8217;s hier Stück für Stück viele nützliche Infos und News aus der Welt des Parallel &#38; Visual Computing. Soll heißen, dass ihr über all die Dinge etwas erfahrt, die ich mir in San Francisco angehört und angesehen habe. Also dann, viel [...]]]></description>
			<content:encoded><![CDATA[<p>Zurück von der großen Intel Entwickler-Konferenz &#8211; auch <a href="http://www.intel.com/idf/" target="_blank">IDF (Intel Developer Forum)</a> genannt &#8211; gibt&#8217;s hier Stück für Stück viele nützliche Infos und News aus der Welt des Parallel &amp; Visual Computing. Soll heißen, dass ihr über all die Dinge etwas erfahrt, die ich mir in San Francisco angehört und angesehen habe. Also dann, viel Spaß damit!</p>
<p>Den Anfang macht ein kleines, unscheinbares Tool, dass sich Intel Parallel Advisor nennt, Teil des <a href="http://software.intel.com/en-us/intel-parallel-studio-home/" target="_blank">Intel Parallel Studio 2011</a> ist und Software-Entwicklern dabei helfen soll, nativ programmierten Code schneller, effizienter und einfacher zu parallelisieren. Dabei geht der Advisor sehr systematisch vor, um die bestmöglichen Ergebnisse in Sachen parallelisierter Quellcode zu erreichen. Hierzu sind fünf Schritte notwendig:</p>
<p><strong>1. Survey Target:</strong> Im ersten Schritt wird der Quellcode auf mögliche Hotspots untersucht und dabei festgestellt, welche Abschnitte innerhalb des Programms besonders für eine Parallelisierung in Frage kommen.</p>
<p><strong>2. Annotate Sources:</strong> Anschließend fügt der Advisor in die identifizierten Quellcodestellen sogenannte Annotationen ein, also entsprechende Pseudo-Befehle, die das Parallelisieren ermöglichen sollen. Dieser Abschnitt ist als eine Art Experiment zu sehen, mit dessen Hilfe man die bestmöglichen Ansätze für Parallelcode finden soll.</p>
<p><strong>3. Check Suitability:</strong> Nachdem man die Annotationen in den seriellen Quellcode eingefügt hat, macht sich der Parallel Advisor per Mausklick daran, die vorgenommenen Änderungen des Programms auf Machbarkeit hin zu überprüfen. Hierbei wird vor allem festgestellt, was die Veränderungen zur Laufzeit tatsächlich bringen, ob sich ein Parallelisieren an dieser Stelle also überhaupt lohnt.</p>
<p><strong>4. Check Correctness:</strong> Der vierte Schritt hat vor allem mit möglichen Speicherproblemen zu tun. Dabei überprüft der Parallel Advisor wiederrum per Mausklick, welche Dead Locks, Data Races und andere möglichen Probleme anhand der vorgenommenen Änderungen des ursprünglich seriellen Quellcodes zu erwarten sind. Dies ist bei der Umstellung von seriell auf parallel ein kritischer Punkt, den man auf keinen Fall unterschätzen darf. Mögliche Speicherfehler lassen sich nämlich mit herkömmlichen Testverfahren oder Debuggern nur ganz schwer oder gar nicht aufspüren.</p>
<p><strong>5. Add Parallel Framework:</strong> Sobald der Parallelcode keine Fehler mehr aufweist und sämtliche Speichertests ohne Probleme durchgeführt werden konnten, müssen nur noch sämtliche Annotationen durch entsprechende Konstrukte und Funktionsaufrufe ersetzt werden. Dabei kann man aus einer Reihe von unterstützten Programmiermodellen wie <a href="http://www.threadingbuildingblocks.org/" target="_blank">Intel Threading Building Blocks</a>, <a href="http://software.intel.com/en-us/articles/intel-cilk-plus/" target="_blank">Intel Cilk Plus</a> und anderen auswählen &#8211; je nachdem, welches Modell besser zum ausgewählten Quellecodeabschnitt passt.</p>
<p>Ach ja: Bilder und weitere Erklärungen zum Intel Parallel Advisor bekommt ihr noch diese Woche auf dem Software Dev Blog. So, stay tuned&#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mit-intel-adivsor-schrittweise-parallel-programmieren/09/2010/&via=sw_devtwits&text=Mit Intel Adivsor schrittweise parallel programmieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mit-intel-adivsor-schrittweise-parallel-programmieren/09/2010/&via=sw_devtwits&text=Mit Intel Adivsor schrittweise parallel programmieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/mit-intel-adivsor-schrittweise-parallel-programmieren/09/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acht nützliche Tipps zum Parallelisieren</title>
		<link>http://www.software-dev-blog.de/acht-nutzliche-tipps-zum-parallelisieren/09/2010/</link>
		<comments>http://www.software-dev-blog.de/acht-nutzliche-tipps-zum-parallelisieren/09/2010/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 17:08:37 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1441</guid>
		<description><![CDATA[Aufmerksamen Lesern des Software Dev Blogs wird es nicht entgangen sein: es war hier in letzter Zeit ein wenig ruhiger, was mit vielen anderen Aktivitäten meinerseits zu tun hatte. Ich war viel unterwegs, hab viele neue Themen recherchiert und gesammelt, saß mit Leuten zusammen, etc. Und der Output wird sich sehen lassen können: Das reicht [...]]]></description>
			<content:encoded><![CDATA[<p>Aufmerksamen Lesern des Software Dev Blogs wird es nicht entgangen sein: es war hier in letzter Zeit ein wenig ruhiger, was mit vielen anderen Aktivitäten meinerseits zu tun hatte. Ich war viel unterwegs, hab viele neue Themen recherchiert und gesammelt, saß mit Leuten zusammen, etc. Und der Output wird sich sehen lassen können: Das reicht von Exklusivinfos direkt vom Intel Developer Forum in San Francisco bis hin zu neuesten Beiträge <a href="http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/">rund um das Thema Cilk</a> und Co, die ich mit dem Kollgen Deilmann von Intel gemeinsam erarbeiten werde.</p>
<p>Den Anfang macht heute ein Online-Artikel des werten Kollegen Edmund Preiss, der es sich <a href="http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/">mal</a> <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">wieder</a> <a href="http://www.software-dev-blog.de/surftipp-parallel-studio-artikel-kostenlos-downloaden/06/2009/">zur Aufgabe</a> <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">gemacht</a> hat, die Parallelprogrammierung ein wenig näher zu begutachten. Herausgekommen sind acht sehr nützliche Tipps, die ich hier zusammenfassen will. Den kompletten Beitrag findet ihr <a href="http://www.elektroniknet.de/embedded/technik-know-how/entwicklungs-tools-fuer-hard-und-software/article/29131/0/8_Tipps_zum_Parallelisieren_und_Debuggen_von_Multicore-Applikationen/" target="_blank">auf elektroniknet.net</a>.</p>
<p><strong>Tipp 1: In parallelen Strukturen denken und entwickeln</strong> &#8212; Hiefür bietet sich für C++-Entwickler beispielsweise das Intel-Tool <a href="http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/">Parallel Advisor</a> an, das dabei hilft, in einem seriellen Programm parallel Strukturen aufzuspüren. Hierzu gibt es nächste Woche mehr Infos direkt vom IDF, die ich mit vielen Bildern garnieren werde.</p>
<p><strong>Tipp 2: Höhrere Abstraktionsgrade erlauben thread-sichere Programme</strong> &#8212; Hierfür bieten sich spezielle <a href="http://www.software-dev-blog.de/parallel-bibliotheken-helfen-bei-der-software-entwicklung/02/2009/">Bibliotheken</a> an, aber auch Programmiermodelle wie <a href="http://software.intel.com/en-us/articles/cluster-openmp-for-intel-compilers/" target="_blank">OpenMP</a> oder <a href="http://software.intel.com/en-us/intel-tbb/" target="_blank">Intel Threading Building Blocks</a>. Ganz neu am Start in diesem Zusammenhang sind die Intel Array Building Blocks. Auch hierzu gibt es nächste Woche dedizierte Infos.</p>
<p><strong>Tipp 3: Denke und programmiere in Tasks, nicht in Threads</strong> &#8212; Dieser Tipp hilft, die Skalierbarkeit auf mehreren Prozessorkernen deutlich zu verbessern</p>
<p><strong>Tipp 4: Arbeite mit so wenig Locks wie möglich, aber mit so vielen wie nötig</strong> &#8212; Hier geht es um Data Races, die beim Umgehen von Locks entstehen können. Und mit Tools wie dem <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Intel Parallel Inspector</a> kann man mögliche Data Races und Dead Locks identifizieren lassen.</p>
<p><strong>Tipp 5: Skalierbare Speicker-Allokatoren</strong> helfen, Speicherzuweisung bei parallelen Programmen zu optimieren.</p>
<p><strong>Tipp 6: Erhöhe die parallele Auslastung, um den seriellen Anteil an Code zu verringern</strong> &#8212; Dies hat mit der Erkenntnis zu tun, dass Anwendungen nur mit ihrem Anteil an parallelen Ausführungen signifikant schneller werden. Daher sollte man mit den passenden Tools nach Programmbereichen suchen, die sich gut multithreaden lassen. Hierzu gehören beispielsweise Schleifenkonstrukte.</p>
<p><strong>Tipp 7: Teste parallelisierte Programmabschnitte im seriellen Modus auf mögliche Bugs hin</strong> &#8212; Hierzu gibt es zwei Möglichkeiten: Entweder das &#8220;Abschalten&#8221; parallelisierter Codeabschnitte mithilfe bestimmter Schalter oder der Einsatz der <a href="http://www.software-dev-blog.de/paralleltesten-mit-visual-studio-parallel-debugger-extension/07/2009/">Intel Parallel Debugger Extensions</a>, die Teil des Intel Parallel Composer sind.</p>
<p><strong>Tipp 8: Software-Tools helfen</strong>, während der einzelnen Entwicklungsschritte (Design, Kompilieren, Debuggen, Verifikation und Leistungsverbesserung), die richtigen Dinge zu tun. Hierzu gehört die Entwicklersuite <a href="http://software.intel.com/en-us/intel-parallel-studio-home/" target="_blank">Intel Parallel Studio</a>, die Entwicklern nativ programmierter Programme genau dabei hilft.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/acht-nutzliche-tipps-zum-parallelisieren/09/2010/&via=sw_devtwits&text=Acht nützliche Tipps zum Parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/acht-nutzliche-tipps-zum-parallelisieren/09/2010/&via=sw_devtwits&text=Acht nützliche Tipps zum Parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/acht-nutzliche-tipps-zum-parallelisieren/09/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das war die GDCE 2010: Videointerviews und mehr, Teil 3</title>
		<link>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-3/08/2010/</link>
		<comments>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-3/08/2010/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 12:13:07 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDCE10]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1438</guid>
		<description><![CDATA[Sodala, nachdem Teil 1 und Teil 2 der GDCE-2010-Rückschau draußen sind, folgt jetzt das dritte und letzte Kapitel meiner Trilogie in Sachen Spieleentwicklung. Den Abschluss soll ein Dreiteiler bilden (sic!), der sich mit der Analysetool-Suite Intel Graphics Performance Analyzers beschäftigt. Den Anfang macht der System Analyzer, mit dem sich in Echtzeit analysieren lässt, was während [...]]]></description>
			<content:encoded><![CDATA[<p>Sodala, nachdem <a href="http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/">Teil 1</a> und <a href="http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/">Teil 2</a> der GDCE-2010-Rückschau draußen sind, folgt jetzt das dritte und letzte Kapitel meiner Trilogie in Sachen Spieleentwicklung. Den Abschluss soll ein Dreiteiler bilden (sic!), der sich mit der Analysetool-Suite <a href="http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/">Intel Graphics Performance Analyzers</a> beschäftigt.</p>
<p><a href="http://www.youtube.com/watch?v=RiCCA-Osflw" target="_blank">Den Anfang macht der <strong>System Analyzer</strong></a><strong>,</strong> mit dem sich in Echtzeit analysieren lässt, was während des Gameplays alles passiert. Um das Testsystem von rechenintensiven Aufgaben zu befreien, läuft der System Analyzer auf einem anderen Rechner als das zu testende Spiel. Dabei stehen verschiedene Funktionen wie die CPU-Diagnose, das Ermitteln der Anzahl der Locks per Frame und der Framerate selbst sowie andere wichtige Parameter zur Verfügungung.</p>
<p>Praktisch am System Analyzer sind die vorhandenen Hardware-Diagnose-Tools, mit denen sich auf Intel-Systemen Dinge wie die Auslastung der vorhandenen Execution Units untersuchen lassen. Aber auch bestimmte Ansichten auf die aktuelle Spielszene erlauben das Analysieren des Spiels. So lassen sich beispielsweise mit der Gitterdarstellung verborgene Objekte entdecken, die dort gar nicht hingehören und nur überflüssige Rechenzeit verbraten.</p>
<p><a href="http://www.youtube.com/watch?v=KtF9zPxXvK8" target="_blank">Der </a><strong><a href="http://www.youtube.com/watch?v=KtF9zPxXvK8" target="_blank">Frame Analyzer</a></strong> geht dann richtig in die Tiefe und lässt jedes einzelne Bild eines Spiels analysieren. So kann man anhand der DirectX-Drawcalls feststellen, welche Bereiche eines Frames besonders viel Rechenzeit beanspruchen und diese Bereiche gegebenenfalls optimieren. So zeigen beispielsweise versteckte Objekte hohes Optimierungspotenzial, da sie zum Gameplay nichts beitragen, aber trotzdem Rechenzeit kosten. Um die möglichen &#8220;Störenfriede&#8221; zu eliminieren, kann man aber auch experimentell vorgehen, indem man einzelne Parameter ausschaltet um zu sehen, wie sich das auf die Szene und die Renderleistung auswirkt.</p>
<p>Das dritte Tool schließlich, <strong><a href="http://www.youtube.com/watch?v=KjHd36UeS1A" target="_blank">Platform View</a></strong>, ist zum einen &#8220;neu&#8221; in der Version 3.0 von Intel GPA und bietet zum anderen einen detaillierten Blick auf den Parallelisierungsgrad des Spiels. Dabei kann man sich sämtliche Threads anzeigen lassen, die gerade aktiv sind und diese in der Detailansicht genau analysieren. So lässt sich beispielsweise herausfinden, warum die CPU auf die GPU warten muss oder auch anders herum.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-3/08/2010/&via=sw_devtwits&text= Das war die GDCE 2010: Videointerviews und mehr, Teil 3&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-3/08/2010/&via=sw_devtwits&text= Das war die GDCE 2010: Videointerviews und mehr, Teil 3&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-3/08/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das war die GDCE 2010: Videointerviews und mehr, Teil 2</title>
		<link>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/</link>
		<comments>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 07:05:09 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[GDCE10]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1436</guid>
		<description><![CDATA[Wie ich gestern versprochen habe, folgt heute der zweite Teil des großen GDCE-2010-Rückblicks. Waren gestern die Havok Physics Engine, das Multithreaden von Games mithilfe von DirectX 11, Netbook-Games und Intel GPA dran, folgen heute Erkenntnisse rund um die nächste Version von Intel GPA, um das Parallelisieren von Spielen mithilfe von Intel TBB und einer Task-Stealing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/">Wie ich gestern versprochen habe</a>, folgt heute der zweite Teil des großen <a href="http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/">GDCE-2010-Rückblicks</a>. Waren gestern die Havok Physics Engine, das <a href="http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/">Multithreaden von Games mithilfe von DirectX 11</a>, Netbook-Games und <a href="http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/">Intel GPA</a> dran, folgen heute Erkenntnisse rund um die nächste Version von Intel GPA, um das Parallelisieren von Spielen mithilfe von <a href="http://software.intel.com/en-us/intel-tbb/">Intel TBB</a> und einer Task-Stealing Engine der Marke Eigenbau.</p>
<p>Zum Thema &#8220;Nächste GPA-Version&#8221; konnte wir den dafür zuständigen Intel-Mann Aaron Davies überreden, <a href="http://www.youtube.com/watch?v=FMKsNJzUZ1I" target="_blank">vor der Kamera ein wenig in seine Glaskugel zu blicken</a>. So verriet er uns, dass die nächste Version Anfang kommenden Jahres zur GDC 2011 in San Francisco vorgestellt wird. Dass Intel GPA 4.0 für die nächste Prozessorgeneration Sandy Bridge optimiert sein wird, überrascht genauso wenig wie die Tatsache, dass das Analysetool die noch in der Beta-Phase befindliche Platform View integrieren wird, da es sehr postives Feedback seitens der Entwickler gab. Die gute Nachricht: Intel GPA und andere Tools von Intel bleiben kostenlos für Entwickler, da der Chiphersteller seine große Fangemeinde weiterhin mit dieser Art der Dienstleistung beglücken will.</p>
<p>Von der Zukunft zurück in die Gegenwart ging es dann mit Mario Deilmann, der es sich zum Ziel gesetzt hatte, die anwesende Entwicklerschar <a href="http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/">während seiner Techsession</a> davon zu überzeugen, dass mit Intel TBB ein Tool zur Verfügung steht, mit der sich Spieletitel an vielen Stellen parallelisieren lassen. Wie er anschließend <a href="http://www.youtube.com/watch?v=glkGtaEm8b0">vor unserer Kamera verriet</a>, lieben Spieleentwickler Open-Source-Tools wie Intel TBB, da sie die gesamte Kontrolle über den Sourcecode des Tools haben. Auf der anderen Seite gibt es natürlich eine kommerzielle Version von Intel TBB für diejenigen, die auf Support nicht verzichten wollen.</p>
<p>Gut an Intel TBB ist aus Marios Sicht vor allem, dass sich der zu parallelisierende Code nicht mehr als Low-Level-Threads, sondern als abstrahierte Tasks darstellen lässt, was die Parallelisierung von Spielen erheblich vereinfacht. Aber auch die verschiedenen Abstraktionsebenen machen aus Intel TBB ein echtes Gaming-Dev-Tool. So kann man mit Konstrukten wie Concurrent Container und Concurrent Allocator genauso arbeiten wie mit Low-Level-APIs wie dem TBB Scheduler, um damit die besten Ergebnisse zu erzielen. Einen weiteren Pluspunkt sieht Mario in der Plattformunabhängigkeit von Intel TBB, das von Windows, Mac OS und anderen Betriebssystemen und Plattformen unterstützt wird.</p>
<p>Last but not least hatten wir gegen Ende der GDCE 2010 die Gelegenheit mit Dierk Ohlerich zu reden. Dierk ist Head of Technology bei <a href="http://www.49games.de/" target="_blank">49Games</a> aus Hamburg, die sich vor allem auf Konsolentitel aus dem Bereich Sportsimulationen konzentrieren. <a href="http://www.youtube.com/watch?v=B6x_BcopCPA" target="_blank">In seinem Videointerview</a> erzählt er uns, dass er seine eigene Task-Stealing Engine geschrieben hat, mit deren Hilfe Spiele optimal auf unterschiedlichen Multicore-Systemen skalieren.</p>
<p>Das Hauptziel seines Projekts ist die Integration einer solchen Task-Stealing Engine in die Rendering Pipeline. Dabei galt es jedoch diverse Klippen zu umschiffen wie das genaue Vorhersagen des Datenaufkommens, wofür dynamische Datenspeicher notwenig sind. Aber auch die richtige Reihenfolge beim &#8220;Zeichnen&#8221; einer Spielszene stellt laut Dierk ein echte Herausforderung dar, wenn es um das Parallelisieren der Render Engine geht.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/&via=sw_devtwits&text= Das war die GDCE 2010: Videointerviews und mehr, Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/&via=sw_devtwits&text= Das war die GDCE 2010: Videointerviews und mehr, Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-2/08/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das war die GDCE 2010: Videointerviews und mehr, Teil 1</title>
		<link>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/</link>
		<comments>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:20:03 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[GDCE10]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1435</guid>
		<description><![CDATA[Letzte Woche war ich ja auf der Game Developers Conference Europe, und daher ist es jetzt an der Zeit, eine große Rückschau zu halten. Das geschieht in drei Teilen, damit ihr euch das Ganze Stück für Stück einverleiben könnt. Viel Spaß beim Angucken der Videos, die wir an den drei Tagen in Köln gedreht, geschnitten [...]]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche war ich ja auf der <a href="http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/" target="_blank">Game Developers Conference Europe</a>, und daher ist es jetzt an der Zeit, eine große Rückschau zu halten. Das geschieht in drei Teilen, damit ihr euch das Ganze Stück für Stück einverleiben könnt. Viel Spaß beim Angucken der Videos, die wir an den drei Tagen in Köln gedreht, geschnitten und online gestellt haben.</p>
<p>Am ersten Tag ging es gleich mal sehr animationsmäßig los und wir hatten die Gelegenheit, uns die <a href="http://www.youtube.com/watch?v=-K-hjJP3CeY" target="_blank">Havok Physics Engine näher anzusehen</a>, mit deren Hilfe Spieleentwickler recht einfach und schnell bestimmte Effekte in ihre Games einbauen können. Dazu gehören Dinge wie <a href="http://www.youtube.com/watch?v=CgXBVmByJs4" target="_blank">Deformationen, berstende Gegenstände</a>, etc. Und auch <a href="http://www.youtube.com/watch?v=9HwgqbByjJI" target="_blank">vollanimierte Kleidungsstücke</a> lassen sich mit Havok generieren, ohne dass der Entwickler genau wissen muss, wie das funktioniert. Dass es funktioniert, belegen die zugehörigen Videos sehr gut.</p>
<p>Das Thema Spiele beschäftige uns natürlich weiterhin (sic!). So konnten wir mit <a href="http://www.youtube.com/watch?v=jMdkfHzYqWw" target="_blank">Jerome Muffat-Meridol von Intel über seine Techsession reden</a>, in der es um das Thema <a href="http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/">Multithreading von 3D-Spielen mithilfe von DirectX 11</a> ging. Dabei zeigte er anhand der so gennanten Nulstein-Demo, dass sich Spiele sehr gut parallelisieren lassen, wenn man den richtigen Taskscheduler und DirectX 11 für die einzelnen Phasen beim Erzeugen von 3D-Bildern dazu einsetzt, das ganze System so gut wie möglich zu parallelisieren. Und das skaliert dann problemlos auf 12 Threads, ohne dass der Entwickler große Dinge vollführen muss.</p>
<p>Weiter ging&#8217;s dann mit einem ganz anderen Thema, das auf dem IT-techBlog sehr viel besser aufgehoben wäre: <a href="http://www.it-techblog.de/gdce-2010-netbook-games-richtig-und-effizient-entwickeln/08/2010/" target="_blank">Netbook-Games</a>. <a href="http://www.youtube.com/watch?v=HNZ1TfeIISQ" target="_blank">Hierzu zerrten wir Leigh Davies vor die Kamera</a>, um ihm drei schlaue Fragen zu stellen. Dabei kam heraus, dass Leigh in seiner Session etwas darüber verraten hatte, wie sich Spiele für Netbooks verkaufen lassen und wie man Netbook-Games für die GPU und CPU optimieren kann.</p>
<p>Natürlich durfe auch der Hinweis nicht fehlen, dass sich Netbooks weiterhin gut verkaufen und dass Intel bis zum Jahr 2013 mit zirka 140 Millionen verkauften Mininotebooks rechnet. Es ging außerdem auch um technische Aspekte wie die eingeschränkte Auflösung (1024*600) und die daraus resultierenden Konsequenzen. So rät Leigh zum Einsatz von Icons statt Text. Darüber hinaus sollte man sich als Spieleentwickler klar machen, dass ein Netbook wegen der guten bis sehr guten Akkulaufzeiten und des geringen Gewichts in höchstem Maße mobil ist. Auch das gilt es beim Gamedesign zu berücksichtigen.</p>
<p>Aber nicht nur Spiele für tragbare Computer standen bei Intel auf de GDCE 2010 auf dem Programm. Auch die neuesten Version des Analysetools <a href="http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/">Intel Graphics Performance Analyzers</a> wurde vorstellt, und hierum kümmerte sich Steve Hughes von Intel, der uns ein bisschen was <a href="http://www.youtube.com/watch?v=aMGRyX-sdpg" target="_blank">über die neuen Features von Intel GPA 3.0 erzählte</a>, wie man damit Flaschenhälse und andere Verklemmungen in 3D-Spielen findet und wie Entwickler die Toolsuite optimal für ihre Zwecke einsetzen können. Besonders begeistert zeigte er sich von der neuen Platform View, die systemübergreifend zeigt, wie gut ein Spiel auf einer Multicore-Maschine skaliert.</p>
<p>So, das war`s erstmal, Teil 2 und Teil 3 folgen morgen. Darin wird es um die nächste Version von Intel GPA gehen, um das <a href="http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/">Parallelisieren von Spielen mithilfe der Intel TBB</a>, um einen selbstgezimmerten Taskscheduler mit Taskstealing und um eine Live-Demo, die anhand von drei Teilen genau zeigt, wie sich Intel GPA einsetzen lässt.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/&via=sw_devtwits&text=Das war die GDCE 2010: Videointerviews und mehr, Teil 1&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/&via=sw_devtwits&text=Das war die GDCE 2010: Videointerviews und mehr, Teil 1&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-die-gdce-2010-videointerviews-und-mehr-teil-1/08/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDCE 2010: Erster Tag mit Intel GPA, Netbook-Games und Havok Physics-Engine</title>
		<link>http://www.software-dev-blog.de/gdce-2010-erster-tag-mit-intel-gpa-netbook-games-und-havok-physics-engine/08/2010/</link>
		<comments>http://www.software-dev-blog.de/gdce-2010-erster-tag-mit-intel-gpa-netbook-games-und-havok-physics-engine/08/2010/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 16:06:41 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDCE10]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1433</guid>
		<description><![CDATA[Der erste Tag hier auf  der Game Developers Conference Europe 2010 ist schon wieder fast Geschichte. Daher folgt eine Zusamenfassung der ersten Sessions, Erkenntnisse und der Havok-Demo. Die erste Intel Techsession hielt Steve Hughes, der über Intel Graphics Performance Analyzers sprach. Diese Toolsuite hilft Entwicklern, ihre Spiele und Anwendungen zu analysieren und mögliche Flaschenhälse und [...]]]></description>
			<content:encoded><![CDATA[<p>Der erste Tag hier auf  der <a href="http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/">Game Developers Conference Europe 2010</a> ist schon wieder fast Geschichte. Daher folgt eine Zusamenfassung der ersten Sessions, Erkenntnisse und der Havok-Demo.</p>
<p>Die erste Intel Techsession hielt <a href="http://www.flickr.com/photos/46502668@N00/4897349485/" target="_blank">Steve Hughes</a>, der über <a href="http://software.intel.com/en-us/articles/intel-gpa/">Intel Graphics Performance Analyzers</a> sprach.  Diese Toolsuite hilft Entwicklern, ihre Spiele und Anwendungen zu analysieren und mögliche Flaschenhälse und andere nervige Dinge aufzuspüren und zu eliminieren. Steve sprach auch über <a href="http://www.flickr.com/photos/46502668@N00/4897940846/" target="_blank">die neuen Features vin Intel GPA 3.0</a>, zeigte, wie sich die drei Werkzeuge (<a href="http://www.flickr.com/photos/46502668@N00/4897941934/" target="_blank">System Analyzer</a>, <a href="http://www.flickr.com/photos/46502668@N00/4897347261/" target="_blank">Frame Analyzer</a>, <a href="http://www.flickr.com/photos/46502668@N00/4897349915/" target="_blank">Platform View</a>) richtig einsetzen lassen und wie man mit diesen Tools <a href="http://www.flickr.com/photos/46502668@N00/4897335895/" target="_blank">Veränderungen an einzelnen Frames unmittelbar sehen</a> kann</p>
<p>Darüber hinaus haben wir gelernt, dass Intel GPA ein <a href="http://www.flickr.com/photos/46502668@N00/4897348519/" target="_blank">SDK und ein Capture-Tool umfasst</a>, dass Intel GPA als <a href="http://www.flickr.com/photos/46502668@N00/4897941562/" target="_blank">Client-Server-Anwendung</a> läuft, um die Testplattform so wenig wie möglich mit den notwendigen Berechnungen zu belasten und dass man mit Intel GPA <a href="http://www.flickr.com/photos/46502668@N00/4897941200/" target="_blank">einfach und schnell ganz tief in sein Spiel blicken kann.</a></p>
<p>Techsession Nummer zwei hielt Leigh  Davies, der ebenfalls für Intel arbeitet. Sein Vortrag nannte sich &#8220;Building Games for Netbooks&#8221; und war randvoll mit interessanten Erkenntnissen wie diesen:</p>
<ul>
<li><a href="http://www.flickr.com/photos/46502668@N00/4897465079/" target="_blank">Ad-hoc-Gaming</a> für Netbooks ist mit dem Intel Laptop TDK ziemlich einfach.</li>
<li>So <a href="http://www.flickr.com/photos/46502668@N00/4898048430/" target="_blank">aktiviert man die APIs des Intel Laptop TDK</a>.</li>
<li>So maximiert man die Rechenleistung des Intel Atom Prozessor <a href="http://www.flickr.com/photos/46502668@N00/4898047686/" target="_blank">mithilfe von Threading und SSE-Befehlen</a>.</li>
<li>Diese <a href="http://www.flickr.com/photos/46502668@N00/4898046966/" target="_blank">Vektorisieringsoptionen</a> können für den Intel Atom-Prozessor angewendet werden.</li>
<li>Mit den <a href="http://www.flickr.com/photos/46502668@N00/4897450379/" target="_blank">richtigen Compiler-Einstellungen</a> optimiert man seine Spiele für die Intel Atom-CPU.</li>
<li>Und <a href="http://www.flickr.com/photos/46502668@N00/">vieles mehr</a></li>
</ul>
<p>Darüber hinaus hatten wir die Gelegenheit, mit den Jungs von <a href="http://de.wikipedia.org/wiki/Havok_%28Software%29" target="_blank">Havok</a> zu reden, die sich den Demostand mit Intel teilen. Zu diesem Zweck haben wir unsere Videokamera aufgebaut und uns die Havok-Demo zeigen lassen, die aus drei Teilen besteht: die Havok Physics im <a href="http://www.youtube.com/watch?v=-K-hjJP3CeY" target="_blank">Allgemeinen</a>, zu <a href="http://www.youtube.com/watch?v=CgXBVmByJs4" target="_blank">&#8220;Zerstörungszwecken&#8221;</a> und <a href="http://www.youtube.com/watch?v=9HwgqbByjJI">für das Rendern von Kleidung </a>und Ähnlichem in Echtzeit. So, dann einfach nur auf den jeweiligen Link geklickt und das Video angeschaut. Viel Spaß dabei!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-erster-tag-mit-intel-gpa-netbook-games-und-havok-physics-engine/08/2010/&via=sw_devtwits&text=GDCE 2010: Erster Tag mit Intel GPA, Netbook-Games und Havok Physics-Engine&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-erster-tag-mit-intel-gpa-netbook-games-und-havok-physics-engine/08/2010/&via=sw_devtwits&text=GDCE 2010: Erster Tag mit Intel GPA, Netbook-Games und Havok Physics-Engine&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdce-2010-erster-tag-mit-intel-gpa-netbook-games-und-havok-physics-engine/08/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDCE 20X: Games mit DirectX 11 und Intel TBB parallelisieren</title>
		<link>http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/</link>
		<comments>http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 13:23:13 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDCE10]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1431</guid>
		<description><![CDATA[Genau in drei Tagen beginnt die Game Developers Conference Europe 2010 in Köln. Dort werden von Montag bis Mittwoch Spiele-Entwickler Dutzende von Techsessions besuchen. Vier dieser technischen Präsentationen werden von Intel Software-Ingenieuren gehalten, die eine Menge interessanter Dinge rund um das Thema Spiele-Programmierung und -Entwicklung zu erzählen haben. Über zwei dieser Vorträge habe ich bereits ausführlicher [...]]]></description>
			<content:encoded><![CDATA[<p>Genau in drei Tagen beginnt die <a href="http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/">Game Developers Conference Europe 2010</a> in Köln. Dort werden von Montag bis Mittwoch Spiele-Entwickler Dutzende von Techsessions besuchen. Vier dieser technischen Präsentationen werden von Intel Software-Ingenieuren gehalten, die eine Menge interessanter Dinge rund um das Thema Spiele-Programmierung und -Entwicklung zu erzählen haben. Über zwei dieser Vorträge habe ich bereits ausführlicher gebloggt (<a href="http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/">Session #1</a> und <a href="http://www.it-techblog.de/gdce-2010-netbook-games-richtig-und-effizient-entwickeln/08/2010/" target="_blank">Session #2</a>), und heute folgt eine Vorschau der Dienstag-Sessions. Diese handeln vor allem davon, wie man 3D-Spiele parallelisiert, damit sie optimal auf Mehrkernprozessor-Systemen laufen.</p>
<p>Der erste Vortrag am Dienstag dauert von 9:00 bis 9:50 Uhr, wird von Jerome Muffat-Meridol gehalten, und trägt den originellen Titel &#8220;UFO Invasion: DX11 and Multicore to the Rescue&#8221;. Der Tenor seiner Präsentation lautet: Mit welchen Bordmitteln von DirectX 11 lassen sich 3D-Games so optimieren, dass sie parallel auf Multicore-Maschinen ausgeführt werden. Jeromes Techsession findet im 4. Stock im Nördlichen Sitzungszimmer statt.</p>
<p>Jerome wird unter anderem darüber reden, wie sich Drawcalls gleichzeitig auf mehrere Threads verteilen lassen, was eure Spiele besser und effizienter parallelisiert. Und da Sehen besser als nur Hören ist, hat Jerome eine erst kürzlich veröffentlichte Demo-Game-Engine dabei, mit deren Hilfe Multicore-optimierte Spiele implementiert werden können. Diese Game-Engine nennt sich <a href="http://software.intel.com/en-us/articles/do-it-yourself-game-task-scheduling/">Nulstein</a> und verteilt den vorhandenen Spielecode task-basiert auf die vorhandenen Ressourcen. Das sorgt für ein optimal ausgewogenes Spieleerlebnis, da sämtliche vorhandenen CPU- und GPU-Ressourcen optimal ausgenutzt werden.</p>
<p>Die zweite Techsession hält der geschätzte Kollege <a href="http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/">Mario Deilmann</a>, dessen Vortrag von 14:20 bis 15:10 Uhr geht, wiederum im Nördlichen Sitzungszimmer stattfindet und von den <a href="http://software.intel.com/en-us/intel-tbb/">Intel Threading Building Blocks</a> handelt. Mario wird dabei zeigen, wie sich mit dieser Runtime-Bibliothek Thread-sichere Spiele programmieren lassen, und zwar mithilfe von Lambda-Funktionen und anderen Parallelkonstruktionen. Darüber hinaus geht Mario auf diverse <a href="http://www.software-dev-blog.de/tag/tool/">Intel-Tools</a> ein, mit denen sich seriell und parallel programmierte Applikationen analysieren lassen. Auf diesem Wege sollen Laufzeit-kritische Engpässe gefunden und möglichst eliminiert werden.</p>
<p>Mario wird ebenfalls auf die wichtigsten Features der aktuellen Version der Intel TBB näher eingehen. Dazu gehören der verbesserte Taskscheduler und die effizientere Speicherverwaltung, der verbesserte Support von Lambda-C++0x-Funktionen und die erhöhte Kompatibilität hinsichtlich <a href="http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/">Visual Studio 2010</a> und dessen neuen Komponenten.</p>
<p>Die gute Nachricht: Ihr lernt nicht nur interessante Dinge von Steve, Leigh, Jerome and Mario, sondern wir werden vor Ort auch darüber <a href="http://twitter.com/sw_devtwits" target="_blank">twittern</a> und bloggen. Und für weitere Infos zu ihren Vorträgen werden die Jungs vor unsere Kamera treten, um uns und euch mit tiefergehenden Details zu versorgen. Also, man sieht sich &#8211; entweder live in Köln oder <a href="http://www.software-dev-blog.de/tag/gdce10/">hier</a> oder auf dem <a href="http://www.IT-techBlog.de" target="_blank">IT-techBlog</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/&via=sw_devtwits&text=GDCE 20X: Games mit DirectX 11 und Intel TBB parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/&via=sw_devtwits&text=GDCE 20X: Games mit DirectX 11 und Intel TBB parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdce20-x-games-mit-directx-11-und-intel-tbb-parallelisieren/08/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDCE 2010-Techsession: So setzt man Intel Graphics Performance Analyzers richtig ein</title>
		<link>http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/</link>
		<comments>http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 13:50:58 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDCE10]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1427</guid>
		<description><![CDATA[Wie ich gestern gebloggt habe, werden wir nächste Woche auf die Game Developers Conference 2010 fahren, die vom 16. bis 18. August 2010 stattfindet. Und wie üblich werden wir wieder voll bepackt sein mit allerlei Hardware wie unseren Notebooks, der Videokamera, den Scheinwerfern, Mikros und so manchem mehr. Unsere Mission: Live-Twittering, Live-Blogging und Live-Interviewing von [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich <a href="http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/">gestern gebloggt</a> habe, werden wir nächste Woche auf die <a href="http://software.intel.com/en-us/articles/gdc-europe-2010/" target="_blank">Game Developers Conference 2010</a> fahren, die vom 16. bis 18. August 2010 stattfindet. Und wie üblich werden wir wieder voll bepackt sein mit allerlei Hardware wie unseren Notebooks, der Videokamera, den Scheinwerfern, Mikros und so manchem mehr. Unsere Mission: <a href="http://twitter.com/SW_DevTwits/" target="_blank">Live-Twittering</a>, Live-Blogging und Live-Interviewing von einem der größten Entwickler-Events, das die Gaming-Industrie vorzuweisen hat.</p>
<p>Natürlich werden wir nicht alleine in Köln herumspringen, da sich auch ein paar Intel-Leute dort aufhalten werden, um coole Software-Demos (sprich Tools) auf dem Intel-Stand zu zeigen und darüber hinaus über verschiedene Dinge in Form von Techsessions zu reden. Und wie ich ja gestern versprochen habe, gibt es heute ein paar weitere Infos, was ihr von den Intel-Vorträgen auf der <a href="http://www.gdceurope.com/" target="_blank">GDCE 2010</a> erwarten könnt.</p>
<p>Die erste Präsentation findet am <strong>Montag um 10:10 Uhr statt</strong>, dauert 50 Minuten, wird von Steve Hughes gehalten und trägt den Titel &#8220;PC Profiling Made Easy with  Intel Graphics Performance Analyzers&#8221;. Steve ist Senior Application  Engineer bei Intel und seiner Techsession kann man im Nördlichen  Sitzungszimmer im vierten Stock beiwohnen.</p>
<p>Sein Votrag beschäftigt sich unter anderem mit den Hauptmerkmalen der Toolsuite <a href="http://software.intel.com/en-us/articles/intel-gpa/">Intel Graphics Performance Analyzers (IGPA)</a> und wie man damit Echtzeit-Analysen von 3D-Spielen durchführen kann, ohne die Runtime-Engine unnötig aufzublasen. Zu diesem Zweck bietet IGPA diverse Profiling-Ansichten, mit denen die Leistungsdaten des gesamten Systems erfasst werden können. Aber auch von Visualisierungstools, einem Frame-Analyzer, einem Debugger und einem Multithreading-Testtool wird die Rede sein.</p>
<p>Während seiner Präsentation wird Steve also zeigen, wie man mithilfe von IGPA eine Menge Zeit sparen und nervige Flaschenhälse sowohl auf CPU- als auch auf GPU-Seite finden und eliminieren kann. Das bedeutet für euch als Entwickler, dass ihr euch mehr um euren Code und weniger um die Fehleranalyse und deren Behebung kümmern müsst. So könnt ihr mit IPGA zum Beispiel recht einfach herausfinden, wieviele Drawcalls pro Szene stattfinden, wieviel Bandbreite die eingesetzten Texturen beanspruchen und wieviel Rechenzeit die verschiedenen Shader vom Gesamtsystem abzwacken.</p>
<p>So ist es bestimmt eine gute Idee, Steves Vortrag auf der GDCE 2010 auf keinen Fall zu verpassen. Wenn er auf dem Intel-Stand sein wird, gibt er euch bestimmt auch eine kostenlose IGPA-Demo. Und was die anderen Intel-Leute auf der GDCE 2010 erzählen werden, erfahrt ihr morgen.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/&via=sw_devtwits&text=GDCE 2010-Techsession: So setzt man Intel Graphics Performance Analyzers richtig ein&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/&via=sw_devtwits&text=GDCE 2010-Techsession: So setzt man Intel Graphics Performance Analyzers richtig ein&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdce-2010-techsession-so-setzt-man-intel-graphics-performance-analyzers-richtig-ein/08/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GDCE 2010: Techsession-Infos und mehr</title>
		<link>http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/</link>
		<comments>http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 17:52:20 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDCE10]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1426</guid>
		<description><![CDATA[In knapp einer Woche, genauer gesagt am Montag, den 16. August, beginnt in Köln eine der größten Entwicklerkonferenzen für Spiele-Programmierer, die Game Developers Conference Europe 2010. Mit von der Partie ist auch dieses Mal wieder Intel, genauer gesagt die Software-Abteilung, die sich den ganzen Tag Gedanken macht, wie Software-Titel externer Entwickler besonders gut auf einem [...]]]></description>
			<content:encoded><![CDATA[<p>In knapp einer Woche, genauer gesagt am Montag, den 16. August, beginnt in Köln eine der größten Entwicklerkonferenzen für Spiele-Programmierer, die <a href="http://www.gdceurope.com/" target="_blank">Game Developers Conference Europe 2010</a>. Mit von der Partie ist auch dieses Mal wieder Intel, genauer gesagt die Software-Abteilung, die sich den ganzen Tag Gedanken macht, wie Software-Titel externer Entwickler besonders gut auf einem PC mit Intel-Prozessor laufen.</p>
<p>Um das Thema Software-Optimierung für Game-Entwickler optimal darstellen zu können, betätigt sich Intel als einer der Hauptsponsoren dieses Mega-Events, was zur Folge hat, dass man diverse Intel-Vorträge besuchen kann, wenn man möchte. Zudem wird Intel auf der GDCE 2010 mit einem eigenen Stand vertreten sein, auf dem man eine Menge über diverse Entwicklerwerkzeuge wie die <a href="http://software.intel.com/en-us/articles/intel-gpa/" target="_blank">Intel Graphics Performance Analyzers</a> lernen kann &#8211; Live-Demo inklusive.</p>
<p>Die Vorträge, die am Montag und Dienstag stattfinden werden, sind derer vier. Der Zeitplan sieht folgende Techsessions vor:</p>
<ul>
<li><strong>Montag, 10:10 &#8211; 11:00 Uhr:</strong> PC Profiling Made Easy with Intel Graphics Performance Analyzers von und mit Steve Hughs, der wohl auch wieder die Live-Demo am Intel-Stand vorführen wird.</li>
</ul>
<ul>
<li><strong>Montag, 14:20 &#8211; 15:10 Uhr:</strong> Building Games for Netbooks von und mit Leigh Davies</li>
</ul>
<ul>
<li><strong>Dienstag, 9:00 &#8211; 9:50 Uhr:</strong> UFO Invasion: DX11 and Multicore to the Rescue von und mit Jerome Muffat-Meridol</li>
</ul>
<ul>
<li><strong>Dienstag, 14:20 &#8211; 15:10 Uhr:</strong> Turbo Charge your Game with Intel Threading Building Blocks von und mit Mario Deilmann</li>
</ul>
<p>Klar, dass die Intel-Experten vor und nach den Vorträgen und später am Stand euren Fragen Rede und Antwort stehen werden. Kommt also Zuhauf in die Sessions und auf den Intel-Stand während der GDC2010. Es lohnt sich!</p>
<p>Ach ja, und wen es interessiert, was sich hinter den einzelnen Vorträgen verbirgt, sollte hier morgen wieder vorbei kommen. Und übermorgen. Und am Freitag. Und natürlich nächste Woche, wenn wir live vor Ort sind und <a href="http://twitter.com/SW_DevTwits/" target="_blank">twittern</a>, bloggen und <a href="http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/">Videointerviews</a> führen und diese auf Youtube stellen. So, watch this space!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/&via=sw_devtwits&text=GDCE 2010: Techsession-Infos und mehr&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/&via=sw_devtwits&text=GDCE 2010: Techsession-Infos und mehr&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdce-2010-techsession-infos-und-mehr/08/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Baue eigene 3D-Games &#8211; for free und Multicore-optimiert</title>
		<link>http://www.software-dev-blog.de/baue-eigene-3d-games-for-free-und-multicore-optimiert/07/2010/</link>
		<comments>http://www.software-dev-blog.de/baue-eigene-3d-games-for-free-und-multicore-optimiert/07/2010/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 16:07:36 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Unreal]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1424</guid>
		<description><![CDATA[Dass Intel die Software-Gemeinde schon seit vielen Jahren mit Entwicklertools, Know-how und einer eigenen Gemeinde unterstützt, ist ja nichts Neues. Dass man aber als Spiele-Entwickler die geballte Kraft des UDK (Unreal Developer Kit) kostenlos bekommt, ist schon etwas ganz Besonderes. Finde ich. Das UDK bietet so ziemlich alles, was man als ambitionierter Spieleentwickler braucht. Neben [...]]]></description>
			<content:encoded><![CDATA[<p>Dass Intel die Software-Gemeinde schon seit vielen Jahren mit Entwicklertools, Know-how und <a href="http://software.intel.com/en-us/" target="_blank">einer eigenen Gemeinde </a>unterstützt, ist ja nichts Neues. Dass man aber als Spiele-Entwickler die geballte Kraft des UDK (Unreal Developer Kit) <a href="http://software.intel.com/en-us/articles/unreal-development-kit-download/" target="_blank">kostenlos bekommt</a>, ist schon etwas ganz Besonderes. Finde ich.</p>
<p>Das UDK bietet so ziemlich alles, was man als ambitionierter Spieleentwickler braucht. Neben <a href="http://www.unrealtechnology.com/" target="_blank">Unreal Engine 3</a> bietet es beispielsweise das integrierte Beleuchtungsmodell Lightmass, mit dem sich Lichteffekte wie Reflektionen von Glanzlichtern und verstreute Lichtquellen im Offline-Modus, also vorab, berechnen lassen. Und da UE3 höchst Multicore-optimiert ist, profitieren Game-Entwickler bei der Berechnung von Spielszenen und -Leveln von den schnellen 8- oder 12-Core-Prozessor-Maschinen, in denen eine Intel-CPU werkelt.</p>
<p>Aber auch die Möglichkeit, mithilfe von Unreal Swarm komplexe 3D-Berechnungen nicht nur von einem, sondern von einem ganzen Rechnernetzwerk durchführen zu lassen, spricht für Unreal Engine 3, respektive Unreal Developer Kit. Und auch weitere Features wie das Unreal Build Tool, Navigation Meshes und der Content Browser machen aus Unreal Engine 3 eine extrem leistungsfähige Entwicklerplattform für aufwändige 3D-Spiele. Und das alles für umsonst?! Kaum zu glauben&#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/baue-eigene-3d-games-for-free-und-multicore-optimiert/07/2010/&via=sw_devtwits&text=Baue eigene 3D-Games - for free und Multicore-optimiert&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/baue-eigene-3d-games-for-free-und-multicore-optimiert/07/2010/&via=sw_devtwits&text=Baue eigene 3D-Games - for free und Multicore-optimiert&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/baue-eigene-3d-games-for-free-und-multicore-optimiert/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video: So lassen sich Spiele mit Intel GPA optimieren</title>
		<link>http://www.software-dev-blog.de/video-so-lassen-sich-spiele-mit-intel-gpa-optimieren/07/2010/</link>
		<comments>http://www.software-dev-blog.de/video-so-lassen-sich-spiele-mit-intel-gpa-optimieren/07/2010/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 12:16:48 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1422</guid>
		<description><![CDATA[Zugegeben, die Develop 2010 ist mittlerweile über eine Woche alt, und doch tauchen immer wieder nützliche Infos rund um das Thema Spieleprogrammierung auf. So auch heute auf dem SoftTalk Blog, auf dem ich ein interessantes und informatives Video gefunden habe. In diesem Fast-Fünfminüter spricht Leigh Davies neben seinem Job bei Intel vor allem über die [...]]]></description>
			<content:encoded><![CDATA[<p>Zugegeben, die <a href="http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/">Develop 2010</a> ist mittlerweile über eine Woche alt, und doch tauchen immer wieder <a href="http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/">nützliche Infos</a> rund um das Thema Spieleprogrammierung auf. So auch heute auf dem <a href="http://softtalkblog.com/" target="_blank">SoftTalk Blog</a>, auf dem ich ein interessantes und informatives Video gefunden habe. In diesem Fast-Fünfminüter spricht Leigh Davies neben seinem Job bei Intel vor allem über die Toolsuite <a href="http://software.intel.com/en-us/articles/intel-gpa/" target="_blank">Intel Graphics Performance Analyzers</a> und wie sich damit PC-Spiele verbessern und optimieren lassen. So lernt man anhand des Videos folgende Dinge:</p>
<ul>
<li>Intel GPA steht derzeit in der dritten Version kostenlos zum Download bereit, was lediglich mit einer <a href="https://ssl.software.intel.com/en-us/register/visual-adrenaline/" target="_blank">kurzen Registrierung</a> verbunden ist.</li>
</ul>
<ul>
<li>Mit Intel GPA lassen sich DirectX-Spiele untersuchen (DirectX 9 und 10), aber auch das PC-System kann zur Spiele-Laufzeit untersucht werden. Damit lassen sich beispielsweise CPU-Lasten ermitteln und wie das Spiel auf Basis der vorhandenen Ressourcen skaliert.</li>
</ul>
<ul>
<li>Mit Intel GPA lassen sich aber auch einzelne Spielszenen (Frames) untersuchen und herausfinden, wie sich diese in Sachen Funktionsaufrufe, etc. verhalten. Damit weiß man ziemlich genau, an welchen Stellen es &#8220;klemmt&#8221; und auf dieser Erkenntnis kann man probehalber einzelne Prozessorkerne &#8220;abschalten&#8221;, neue oder aufwändigere Texturen laden oder den Shader &#8220;umschreiben&#8221;, um somit eine optimierte Variante der betreffenden Szene zu erhalten. Denn oft sind es Kleinigkeiten, die ein 3D-Game ausbremsen.</li>
</ul>
<ul>
<li>Mit Intel GPA lässt sich zwar nicht nur Intel-Grafikhardware adressieren, aber aufgrund der architektonischen Unterschiede gelingt dies natürlich am besten. Damit kann man genau messen, wieviel Bandbreite die verwendeten Texturen beanspruchen, wie viel Rechenzeit die Shader verbraten, etc. Damit weiß man ganz genau, an welchen Stellen es klemmt &#8211; und was man tun sollte, um diese Flaschenhälse zu beseitigen.</li>
</ul>
<p>Tja, und den Rest schaut ihr euch am besten selbst an. Film ab!</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="312" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/YJ16yCkkoqQ&amp;hl=de_DE&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="312" src="http://www.youtube.com/v/YJ16yCkkoqQ&amp;hl=de_DE&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/video-so-lassen-sich-spiele-mit-intel-gpa-optimieren/07/2010/&via=sw_devtwits&text=Video: So lassen sich Spiele mit Intel GPA optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/video-so-lassen-sich-spiele-mit-intel-gpa-optimieren/07/2010/&via=sw_devtwits&text=Video: So lassen sich Spiele mit Intel GPA optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/video-so-lassen-sich-spiele-mit-intel-gpa-optimieren/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Infos zur Spieleprogrammierung für Netbook und Co.</title>
		<link>http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/</link>
		<comments>http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 11:22:33 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1420</guid>
		<description><![CDATA[Erst letzte Woche habe ich über die Develop 2010 berichtet. Auf dieser Spiele-Entwickler-Konferenz, die im englischen Brighton stattfand, ging es in rund 80 Techsessions um das Thema 3D-Games und wie Software-Entwickler davon profitieren können. Zu den Sponsoren gehörte unter anderem Intel, die natürlich auch eigene Sessions abhielten. Über eine dieser Sessions habe ich letzten Freitag [...]]]></description>
			<content:encoded><![CDATA[<p>Erst letzte Woche habe ich <a href="http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/">über die Develop 2010 berichtet</a>. Auf dieser Spiele-Entwickler-Konferenz, die im englischen Brighton stattfand, ging es in rund 80 Techsessions um das Thema 3D-Games und wie Software-Entwickler davon profitieren können. Zu den Sponsoren gehörte unter anderem Intel, die natürlich auch eigene Sessions abhielten.</p>
<p>Über eine dieser Sessions habe ich letzten Freitag <a href="http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/">schon berichtet</a>, und heute erreichte mich die Nachricht, dass es zu den Intel-Aktivitäten eine <a href="http://software.intel.com/en-us/articles/develop-2010/" target="_blank">eigene, kleine Webseite</a> gibt, auf der sich weitere Infos zur Develop 2010 befinden. Dazu gehören unter anderem die Präsentationen in Form von Folien, die die Vorträge kurz und knackig abbilden. Hierunter sind folgende Themen:</p>
<ol>
<li>Building Games for Netbooks</li>
<li>PC Profiling Made Easy with Intel Graphics Performance Analyzers (Folien)</li>
<li>Vectors of Performance in Gaming (Folien)</li>
</ol>
<p>Zu Nummer eins habe ich selber schon <a href="http://www.it-techblog.de/iphone-apps-auf-netbooks-portieren/04/2010/" target="_blank">das ein oder andere gesagt</a> und sogar schon einen eigenen Vortrag gehalten. Zu Nummer zwei gibt es hier auf diesem Blog ebenfalls <a href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">weiterführende Infos</a> und einen <a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Videobeitrag</a>. Tja, und Nummer drei handelt von solch technischen Dingen wie SIMD, <a href="http://software.intel.com/en-us/articles/performance-tools-for-software-developers-intel-compiler-options-for-sse-generation-and-processor-specific-optimizations/" target="_blank">SSE4</a>, <a href="http://software.intel.com/en-us/avx/" target="_blank">Intel AVX</a> und einiges mehr.</p>
<p>Also, ihr Spieleentwickler da draußen, besorgt euch die Präsentationen und schaut, wie ihr das Ganze in eure eigene Arbeit einfließen lassen könnt!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/&via=sw_devtwits&text=Infos zur Spieleprogrammierung für Netbook und Co.&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/&via=sw_devtwits&text=Infos zur Spieleprogrammierung für Netbook und Co.&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/infos-zur-spieleprogrammierung-fur-netbook-und-co/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie sich 3D-Spiele optimieren lassen</title>
		<link>http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/</link>
		<comments>http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 07:36:07 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Webtipp]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1418</guid>
		<description><![CDATA[Ja doch, die Fußball-WM 2010 ist Geschichte, hat einen neuen Weltmeister gekürt und England war mal wieder verdammt früh Zuhause. Das hat aber den Kollegen Leigh Davies von Intel UK nicht davon abgehalten, seine Techsession anlässlich der Develop 2010 mit einem Fußballspiel-Beispiel zu eröffnen. Er hatte nämlich seinerzeit mit einem echten Problem zu kämpfen: Warum [...]]]></description>
			<content:encoded><![CDATA[<p>Ja doch, die Fußball-WM 2010 ist Geschichte, hat einen neuen Weltmeister gekürt und England war mal wieder verdammt früh Zuhause. Das hat aber den Kollegen Leigh Davies von Intel UK nicht davon abgehalten, seine Techsession anlässlich der <a href="http://www.develop-conference.com/" target="_blank">Develop 2010</a> mit einem Fußballspiel-Beispiel zu eröffnen.</p>
<p>Er hatte nämlich seinerzeit mit einem echten Problem zu kämpfen: Warum ist dieses Soccer-Game, das er gerade entwickelte, nur so langsam? Also haben er und seine Kollegen nach und nach alles ausgeblendet, was auszublenden war: Stadium, Spieler, etc. Bis einer von den Programmierern auf die Idee kam, sich den Ball mal genauer anzusehen, und siehe da: Das runde Leder (das ja eigentlich gar nicht rund ist) bestand aus 5.000 Polygonen! Und das in einer Zeit, als sich 3D-Objekte eher aus 300 Polygonen zusammensetzten. Tja, damit war der Schuldige also gefunden (wie so oft der Ball).</p>
<p>Und, was lehrt uns das? Dass es beim Optimieren von 3D-Spielen oft mit dem Teufel zugeht und man auf den ersten und zweiten Blick gar nicht erkennt, warum bestimmte Spielsequenzen ruckeln oder auf einem Netbook beispielsweise gar nicht laufen. Wie gut, dass es mittlerweile für solche Herausforderungen Tools gibt wie die Intel-Suite <a href="http://software.intel.com/en-us/articles/intel-gpa/" target="_blank">Graphics Performance Analyzers</a>.</p>
<p>Das Gute an Intel GPA ist ihre Flexibilität: Egal, ob man sein 3D-Spiel auf einem Core-i3- oder i5-System mit integrierter Grafik testen will oder gar auf einer diskreten Grafikkarte &#8211; das Toolset unterstützt beide Spielarten. Intel GPA besteht übrigens aus drei Teilen: System Analyzer, Frame Analyzer und Platform View. Mit dem System Analyzer lassen sich grundlegende Dinge wie die Framerate, Prozessorauslastung, Vertex-Lock-Zeiten und einiges mehr herausfinden.</p>
<p>Mit dem Frame Analyzer begibt man sich dann auf die eingegrenzte Fehlersuche, indem man beispielsweise eine spezielle Szene herausgreift und diese genau analysieren lässt und somit den Fehler (hoffentlich) findet. Und mithilfe von Platform View lernt man alles über die im Hintergrund laufenden Threads, die sich zur Laufzeit ergeben. Dies schärft das Verständnis für das Spiel &#8220;unter der Haube&#8221; und erlaubt eine genaue Analyse, wo es klemmen könnte. Hierfür muss man allerdings ein paar Zeilen Quellcode einfügen, im Gegensatz zum System und Frame Analyzer.</p>
<p>So, und wer jetzt mehr wissen will über Intel GPA, dem sei <a href="http://softtalkblog.com/2010/07/15/develop-2010-pc-profiling-made-easy-with-intel-graphics-performance-analyzers/" target="_blank">dieser englischsprachige Artikel empfohlen</a> oder <a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">dieses Video von der GDC09</a>. Oder ihr wartet auf unsere <a href="http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/">Berichterstattung live von der GDC 2010</a>, die vom 16. bis 18. August in Köln stattfinden wird. Dort wird Intel GPA ebenfalls vertreten sein.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/&via=sw_devtwits&text=Wie sich 3D-Spiele optimieren lassen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/&via=sw_devtwits&text=Wie sich 3D-Spiele optimieren lassen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/wie-sich-3d-spiele-optimieren-lassen/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spiele-Entwickler auf der GDC 2010: Start your engines!</title>
		<link>http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/</link>
		<comments>http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 13:20:28 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC10]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1416</guid>
		<description><![CDATA[Heute habe ich meine Presseakkreditierung in Sachen GDC 2010 beantragt. Und da ich dann schon mal so schön beim größten europäischen Entwicklerevent der Gaming-Branche bin, werde ich natürlich mal wieder darüber berichten, was sich  in Köln vom 16. bis 18. August 2010 so alles tut. Also, um es gleich (wieder) klar zu machen: Ich fahre [...]]]></description>
			<content:encoded><![CDATA[<p>Heute habe ich meine Presseakkreditierung in Sachen <a href="http://www.gdceurope.com/index.html" target="_blank">GDC 2010</a> beantragt. Und da ich dann schon mal so schön beim größten europäischen Entwicklerevent der Gaming-Branche bin, werde ich natürlich mal wieder darüber berichten, was sich  <a href="http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/">in Köln vom 16. bis 18. August 2010</a> so alles tut.</p>
<p>Also, um es gleich (wieder) klar zu machen: Ich fahre <a href="http://www.software-dev-blog.de/tag/gdc09/" target="_self">wie jedes Jahr für Intel</a> auf die GDC, um vor Ort alle relevanten Themen abzubilden, die aus Intel-Sicht wichtig sind. Zu diesem Zweck begebe ich mich nicht alleine nach Köln, sondern habe wie so oft Tom Papadhimas dabei, der mir seine Video-Expertise zur Verfügung stellen wird. Soll heißen, dass wir drei Tage lang interessante und bekannte Leute vor die Kamera holen, ihnen ein Mikro unter die Nase halten und ihnen schlaue Fragen stellen werden. <a href="http://www.software-dev-blog.de/tag/video/">So wie immer halt</a>.</p>
<p><a href="http://www.software-dev-blog.de/tag/video/"></a>Dieses Jahr schickt Intel wieder einen Schwung eigener Leute nach Köln, die unter anderem über folgende Dinge reden werden:</p>
<ul>
<li><a href="http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/">Leigh Davies</a> wird zeigen, wie sich Spiele für Netbooks konzipieren und entwickeln lassen. Hierzu gibt es <a href="http://software.intel.com/en-us/intel-sdp-home/" target="_blank">diverse Tools</a>, eine <a href="http://appdeveloper.intel.com/" target="_blank">komplette Community</a> und sogar einen <a href="http://www.intel.com/appup/index.htm" target="_blank">eigenen App Store</a>, wo man das Netbook-Game einstellen und verkaufen kann.</li>
</ul>
<ul>
<li><a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Steve Hughes</a> demonstriert während seiner Techsession, wie sich mithilfe der Tool-Suite <a href="http://software.intel.com/en-us/articles/intel-gpa/" target="_blank">Intel Graphics Performance Analyzer</a> Flaschenhälse und ähnliche Dinge innerhalb eines Spiels aufspüren und eliminieren lassen. Darüber hinaus erlaubt Intel GPA das Optimieren von 3D-Games für unterschiedlichste Plattformen &#8211; vom Netbook bis Highend-Laptop.</li>
</ul>
<ul>
<li><a href="http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/" target="_self">Mario Deilmann</a> hat die Intel Threading Building Blocks im Gepäck und wird zeigen, wie sich mit dieser Threading-Bibliothek hochkomplexe Spiele at-its-best optimieren lassen. Natürlich geht es dabei auch um <a href="http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/">die neuen Features der Version 3.0</a>.</li>
</ul>
<ul>
<li>Jerome Muffat-Meridol kümmert sich verstärkt um das Thema <a href="http://www.microsoft.com/games/en-us/aboutgfw/pages/directx.aspx" target="_blank">DirectX 11</a> und warum es mit der Grafik-API von Microsoft einfacher wird, parallel ablaufende Spiele zu programmieren, und das rein mit DirectX-Bordmitteln.</li>
</ul>
<p>Ja, diese Jungs werden wir auf jeden Fall zu ihren Techsessions vor Ort befragen und herausfinden, wie Spiele-Entwickler davon profitieren können. Und natürlich gibt es auf diesem Kanal in den nächsten Wochen mehr und mehr Infos rund um die GDC 2010.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/&via=sw_devtwits&text=Spiele-Entwickler auf der GDC 2010: Start your engines!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/&via=sw_devtwits&text=Spiele-Entwickler auf der GDC 2010: Start your engines!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/spiele-entwickler-auf-der-gdc-2010-start-your-engines/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Artikelempfehlungen rund um Parallelprogrammierung</title>
		<link>http://www.software-dev-blog.de/artikelempfehlungen-rund-um-parallelprogrammierung/07/2010/</link>
		<comments>http://www.software-dev-blog.de/artikelempfehlungen-rund-um-parallelprogrammierung/07/2010/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 13:35:23 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[Webtipp]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1413</guid>
		<description><![CDATA[Heute gibt es auf dem Sofware Dev Blog vier Artikelempfehlungen, die sich mit dem Thema Multicore und Parallelprogrammierung beschäftigen. Die Beiträge sind stellenweise zwar nicht mehr ganz taufrisch, haben aber an Aktualität nichts eingebüßt. Im Gegenteil. Der Beitrag Programmiermodelle für moderne Mehrkernarchitekturen geht ganz rudimentär auf die verschiedenen Ansätze ein, wie aus sequentiell programmierten Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p>Heute gibt es auf dem Sofware Dev Blog vier Artikelempfehlungen, die sich mit dem Thema Multicore und Parallelprogrammierung beschäftigen. Die Beiträge sind stellenweise zwar nicht mehr ganz taufrisch, haben aber an Aktualität nichts eingebüßt. Im Gegenteil.</p>
<p>Der Beitrag <a href="http://software.intel.com/en-us/articles/programmiermodelle-fr-moderne-mehrkernarchitekturen-article-in-german/" target="_blank">Programmiermodelle für moderne Mehrkernarchitekturen</a> geht ganz rudimentär auf die verschiedenen Ansätze ein, wie aus sequentiell programmierten Anwendungen parallel ablaufende Applikationen werden. Dabei zeigt der Autor die Unterschiede auf, die es unter anderem bei OpenMP, Thread-Bibliotheken, Java, C# zu berücksichtigen gilt. Ein guter Einstieg in die Welt der Parallelprogrammierung.</p>
<p>Der <a href="http://software.intel.com/en-us/articles/openmp-und-inkrementelle-parallelisierung-article-in-german/" target="_blank">zweite Artikel</a> setzt dort an, wo der erste quasi aufhört: bei einem dieser Modelle, und zwar <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a>. Dabei will der Autor allerdings keine umfängliche Darstellung von OpenMP leisten, sondern den praktischen Nutzen darstellen. Dies geschieht mithilfe vieler nützlicher Beispiele. Und natürlich werden auch mögliche Stolperfallen wie Data Races besprochen.</p>
<p>Der dritte Artikel <a href="http://software.intel.com/en-us/articles/parallelisierung-mit-der-posix-thread-bibliothek-article-in-grman/" target="_blank">Parallelisierung mit der POSIX Thread Bibliothek </a>beschäftigt sich mit einem Thema, das hochkomplex, aber auch sehr fundamental ist: Wie multithreade ich eine Anwendung mithilfe plattformunabhängiger Pthreads? Dieses Konzept ist zwar nicht mehr State-of-the-Art, bietet dafür aber die Möglichkeit, hochperformante, parallel ablaufende Anwendungen zu programmieren. Und das Verständnis rund um das Thema Parallelprogrammierung wird mithilfe der Pthread-Kenntnisse ebenfalls geschärft.</p>
<p>Tja, und auf den vierten Artikel habe ich bereits letzte Woche <a href="http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/">aufmerksam gemacht</a>. Na dann, viel Spaß beim Lesen!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/artikelempfehlungen-rund-um-parallelprogrammierung/07/2010/&via=sw_devtwits&text=Artikelempfehlungen rund um Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/artikelempfehlungen-rund-um-parallelprogrammierung/07/2010/&via=sw_devtwits&text=Artikelempfehlungen rund um Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/artikelempfehlungen-rund-um-parallelprogrammierung/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallelprogrammieren lernen mit Schach</title>
		<link>http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/</link>
		<comments>http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 14:42:11 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1411</guid>
		<description><![CDATA[Der werte Kollege Deilmann von Intel hat mir ein paar Internetlinks zukommen lassen, deren Inhalte sich mit dem Thema Parallelprogrammierung beschäftigen. Ein Beitrag hierzu ist auf den ersten Blick zwar ziemlich oberflächlich, bietet aber auf den zweiten Blick viele nützliche Infos zum Thema Multicore und Multithreading. In Form eines 34-seitigen pdfs wird nämlich das N-Queens-Problem [...]]]></description>
			<content:encoded><![CDATA[<p>Der werte Kollege <a href="http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/">Deilmann von Intel</a> hat mir ein paar Internetlinks zukommen lassen, deren Inhalte sich mit dem Thema Parallelprogrammierung beschäftigen. <a href="http://software.intel.com/en-us/articles/solve-the-n-queens-problem-in-parallel/" target="_blank">Ein Beitrag hierzu</a> ist auf den ersten Blick zwar ziemlich oberflächlich, bietet aber auf den zweiten Blick viele nützliche Infos zum Thema Multicore und Multithreading. In Form eines 34-seitigen pdfs wird nämlich das N-Queens-Problem detailliert dargestellt und gezeigt, wie sich dieses per Parallelprogrammierung lösen lässt.</p>
<p>Zur Erinnerung: das sogenannte <a href="http://de.wikipedia.org/wiki/Damenproblem" target="_blank">&#8220;Damenproblem&#8221;</a> stammt aus der Mathematik und beschäftigt sich mit der Frage, wie viele Damen auf einem Schachbrett so aufgebaut werden können, dass sie sich gemäß der Schachregeln nicht gegenseitig schlagen können. Auf einem 8&#215;8-Schachbrett gibt es übrigens 12 eindeutige Lösungen.</p>
<p>Nur, wie lässt sich das für eine größere Zahl n berechnen, und wie geschieht das auf einem Parallelrechner möglichst schnell? Genau damit beschäftigt sich der pdf-Workshop, der sehr anschaulich und anhand vieler Codebeispiele mögliche Ansätze und Konzepte miteinander vergleicht und natürlich auch verrät, welche Lösung die beste ist, wenn man solche Probleme möglichst elegant und parallel lösen möchte.</p>
<p>Der <a href="http://software.intel.com/en-us/articles/solve-the-n-queens-problem-in-parallel/" target="_blank">Download ist kostenlos</a> und jedem Einsteiger in die Parallelprogrammierung sehr zu empfehlen.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/&via=sw_devtwits&text=Parallelprogrammieren lernen mit Schach&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/&via=sw_devtwits&text=Parallelprogrammieren lernen mit Schach&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/parallelprogrammieren-lernen-mit-schach/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Infos aus erster Hand zu Cilk</title>
		<link>http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/</link>
		<comments>http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 07:40:41 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Cilk]]></category>
		<category><![CDATA[OpenMP]]></category>
		<category><![CDATA[Tasks]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1408</guid>
		<description><![CDATA[Wie ich ja kürzlich per Twitter vermeldet habe, saß ich am Dienstag mit Mario Deilmann von Intel beisammen, um über ein paar mögliche Themen für das Software Dev Blog zum Thema Multicore-Programmierung zu reden. Und so haben wir diverse Themen evaluiert und identifiziert, und als erstes Ergebnis veröffentliche ich heute ein paar Infos zu Cilk, [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich ja kürzlich <a href="http://twitter.com/mhuelskoetter/status/17321418946" target="_blank">per Twitter vermeldet</a> habe, saß ich am Dienstag mit Mario Deilmann von Intel beisammen, um über ein paar mögliche Themen für das Software Dev Blog zum Thema Multicore-Programmierung zu reden. Und so haben wir diverse Themen evaluiert und identifiziert, und als erstes Ergebnis veröffentliche ich heute ein paar Infos zu <a href="http://www.software-dev-blog.de/cilk-parallele-programmierung-mit-intelligenten-ansatzen/08/2009/">Cilk</a>, die mir Mario in mein iPhone diktiert hat. Und so gibt es dann nach und nach zu Cilk und den anderen Themen weitere interessante Informationen.</p>
<p>Die Idee von Cilk ist recht einfach: Man erhält ein serielles Programm, wie man das schon von <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a> kennt. Allerdings kann das mit OpenMP &#8220;unterwandert&#8221; werden, indem man Abhängigkeiten in den Code einbaut. Bei Cilk hingegen werden die zu parallelisierenden Codeteile einfach mithilfe bestimmter Spawn-Konstrukte ausgelagert. Zudem können die so parallelisierten Abschnitte wieder serialisiert werden, indem man die Spawn-Befehle einfach wieder aus dem Code herausnimmt. Daneben gibt es ein weiteres Cilk-Konstrukt, das mittels einer for-Methode Schleifen parallelisiert.</p>
<p>Das Tolle an Cilk ist der zugeghörige Scheduler, der sehr schlau ist und task-orientiert arbeitet, und nicht wie bei OpenMP thread-basiert. Dabei werden stets möglichst viele Tasks an den Scheduler übergeben, der diese mit einem intelligenten Algorithmus auf die vorhandenen Thread-Ressourcen verteilt. Der Scheduler ist übrigens derart skalierend, dass auch große Rechensysteme optimal ausgenutzt werden.</p>
<p>So skalierte ein cilk-optimiertes Schachprogramm auf einem Rechner mit 512 Kernen so gut, dass es den dritten Platz in einem großen Schachturniert belegte. Der Trick des Cilk-Schedulers besteht übrigens darin, dass die Tasks per Zufall auf die Threads verteilt werden und nicht nach &#8220;menschlichen&#8221; Kriterien. Ach ja: Das Work Stealing hat seinen Ursprung im Cilk-Scheduler und wurde sukzessive in die <a href="http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/">Microsoft-Scheduler</a> eingebaut.</p>
<p>Daneben muss mit Cilk nicht darauf geachtet werden, dass die zu parallelisierenden Aufgaben (Tasks) logisch angeordnet sind. Einzige Voraussetzung für eine cilk-basierte Parallelisierung ist die Unabhängigkeit der Tasks zueinander, so dass jeder Task eine Spawn-Methode zugewiesen werden kann. Darüber hinaus dürfen die jeweiligen Codeabschnitte nicht von globalen Variablen abhängen beziehungsweise diese nicht modifizieren. Ansonsten bekommt man es ganz leicht mit Data Races zu tun.</p>
<p>Allerdings ist zu berücksichtigen, dass es mit Cilk wie bei OpenMP, TPL und PPL vor allem um eine Lastverteilung geht, und nicht um eine Verteilung von Funktionalitäten auf die vorhandenen Ressourcen.</p>
<p>Schön an Cilk ist auch die einfache Handhabung: Außer den beiden Spawn- und For-Konstrukten muss man nichts lernen, sodass selbst ungeübte C- und C++-Entwickler Cilk ziemlich schnell einsetzen können. Das Gute an Cilk ist auch seine Vorhersehbarkeit: Sobald das cilk-optimierte Programm vorliegt, kann man anhand der gegebenen Parameter genau berechnen, was die Parallelisierung in Sachen Rechenleistung bringen wird.</p>
<p>Eine Besonderheit an Cilk sind die sogenannten Hyperobjects, mit denen ein parallelisierter Codeabschnitt seine eigene Sicht auf globale Variablen bekommt. Soll heißen, dass jeder Thread seinen eigenen Zugriff auf die globalen Variablen erhält, ohne diese zu verändern, so dass es nicht zu Data Races kommen kann. Dabei wird das Ganze lock-frei realisiert, da für jeden Thread eine eigene Speicherzelle angelegt wird, deren Inhalte am Schluss wieder zusammen geführt werden, so dass das richtige Ergebnis in der globalen Variable steht. Praktisch an Hyperobjects ist auch die Tatsache, dass man eigene anlegen kann. Damit ist Cilk ein ganzes Stück flexibler als OpenMP oder TBB.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/&via=sw_devtwits&text=Infos aus erster Hand zu Cilk&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/&via=sw_devtwits&text=Infos aus erster Hand zu Cilk&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/infos-aus-erster-hand-zu-cilk/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil 2</title>
		<link>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/</link>
		<comments>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 09:47:19 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1407</guid>
		<description><![CDATA[Zugegeben, die dotnetpro.powerdays sind schon wieder eine Woche her, was mich aber nicht davon abhalten soll, den zweiten Teil meiner Rückschau zu veröffentlich. Sorry Leute, ich bin einfach nicht früher dazu gekommen. War ziemlich viel los seitdem. Nach der Keynote-Session von Mario Deilmann (mit dem ich übrigens gestern zusammen saß, neuer Geschichten wegen) waren Bernd [...]]]></description>
			<content:encoded><![CDATA[<p>Zugegeben, die dotnetpro.powerdays sind schon wieder eine Woche her, was mich aber nicht davon abhalten soll, den zweiten Teil meiner Rückschau zu veröffentlich. Sorry Leute, ich bin einfach nicht früher dazu gekommen. War ziemlich viel los seitdem.</p>
<p>Nach der <a title="Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil 1" href="http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/">Keynote-Session von Mario Deilmann</a> (mit dem ich übrigens gestern zusammen saß, neuer Geschichten wegen) waren Bernd Marquardt und Volker Jungbluth an der Reihe, die eine Menge über PPL, TPL und OpenMP zu erzählen hatten.</p>
<p>Bernd begann mit seiner <strong>PPL-Session</strong>, die sich mit der <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Parallel Pattern Library</a> beschäftigte. PPL richtet sich an native Programmierer und soll die Parallelprogrammierung deutlich vereinfachen, da sich Entwickler nicht um das Verteilen des parallelisierten Quellcodes auf die zugehörigen Threads kümmern müssen. Dabei sollte man laut Bernd aber trotzdem sicher stellen, dass der seriell erstellte Code fehlerfrei läuft, bevor man sich ans Parallelisieren macht. Ach ja: Die PPL lässt sich nur mit <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Visual Studio 2010</a> einsetzen.</p>
<p>Die PPL besteht vor allem aus thread-sicheren Algorithmen, Containern, Objekten und der Task-Parallelisierung. Ein wesentlicher Bestandteil dabei sind sogenannte Lambda-Funktionen, mit denen Code als Parameter in einem Methodenaufruf übergeben werden kann. Dies geschieht mithilfe spezieller Funktionen wie <strong><em>parallel_for()</em></strong> und <em><strong>parallel_for_each()</strong>. </em>Besonders interessant ist die Funktion <strong><em>parallel_invoke()</em></strong>, mit der sich bis zu 10 Lambda-Funktionen parallelisieren lasssen, die allerdings alle möglichst gleich lang sein sollten.</p>
<p>Es gibt darüber hinaus Methoden wie <em><strong>try()</strong></em> und <strong><em>throw()</em></strong>, mit denen parallele Schleifen unterbrochen werden können. Und mit der <strong><em>combinable</em></strong>-Klasse erlaubt die PPL den gemeinsamen Zugriff auf eine Variable, ohne dass Data Races entstehen. Schließlich machte Bernd noch darauf aufmerksam, dass die Task-Parallelität das asynchrone Ausführen von Anwendungen erlaubt, indem Task-Gruppen definiert werden. Und ein wichtiger Tipp lautete abschließend: Fehlerfreie Parallelprogrammierung hat sehr viel mit lokalen Variablen zu tun, auf die man nicht von außen zugreifen darf.</p>
<p>Anschließend gab Volker Jungbluth sein Wissen ins Sachen <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Task Pattern Library</a> (TPL) zum Besten. TPL entspricht in vielen Aspekten der PPL, ist allerdings für die Parallelisierung von Managed Code entwicklelt worden. Ein wichtiger Bestandteil des .NET4-4-Frameworks ist übrigens <a href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-3/02/2009/">PLINQ</a>, mit dem man sich als Programmierer laut Volker unbedingt beschäftigen sollte. So sind beispielsweise mit der Methode <strong><em>AsParallel()</em></strong> parallele Abfragen auf Datenstrukturen recht einfach möglich. Interessant fand ich auch die Feststellung, dass <strong><em>Parallel_for</em></strong>-Konstrukte mit dem Partitioner deutlich schneller laufen als ohne.</p>
<p>Weitere Erkenntnisse der Jungbluth&#8217;schen Techsession:</p>
<ul>
<li>Mit <strong><em>parallel_invoke()</em></strong> lassen sich mehrere Aufgaben auf Threads verteilen, ohne dass man sich explizit darum kümmern muss</li>
</ul>
<ul>
<li>Mit <em><strong>Futures</strong></em> lassen sich task-basierte Ergebnisse im Hintergrund berechnen</li>
</ul>
<ul>
<li>Mit <em><strong>continuation()</strong></em> lassen sich Task-Ketten erstellen, die dank der Lambda-Funktionen Ergebnisse übergeben können.</li>
</ul>
<p>Nach soviel Parallelprogrammierung unter .NET 4 kam Bernd nochmals auf <a title="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/" href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a> zu sprechen, dass sich zwar am Thread-Konzept orientiert, aber gerade für das Parallelisieren von einfachen Schleifenkonstrukten prima geeignet ist. Daher ist OpenMP vor allem für mathematische Algorithmen eine gute Alternative zu TPL oder PPL, die in der Anwendung doch recht kompliziert sind.</p>
<p>Das Gute an OpenMP ist der Schalter <strong><em>/openmp</em></strong>, der beim Compileraufruf verwendet wird &#8211; oder auch nicht. Das erleichtert das Parallelisieren von seriellem Code erheblich, da beim Auftreten von Problemen der OpenMP-Schalter einfach nicht zum Einsatz kommt und die Anwendung zu Testzwecken seriell ausgeführt wird. Ach ja: Auf Basis des <a href="http://software.intel.com/en-us/intel-compilers/" target="_blank">Intel-C++-Compilers</a> lassen sich mit dem richtigen Switch fehlerhafte OpenMP-Konstrukte aufspüren.</p>
<p>Toll an OpenMP sind aber auch andere Aspekte:</p>
<ul>
<li>Für nicht-ausgewogene Schleifen verteilt OpenMP mit der Mehtode <strong><em>parallel_for_schedule()</em></strong> ganze Schleifenteile gleichmäßig auf auf jeden Thread. Das garantiert eine effiziente Ausführung von parallelen Schleifen.</li>
</ul>
<ul>
<li>Mithilfe der OpenMP-API <strong><em>open_set_num_threads(int)</em></strong> wird die Anzahl der vorhandenen Thread-Ressourcen bestimmt und somit optimal genutzt.</li>
</ul>
<ul>
<li>OpenMP-Variablen sind standardmäßig &#8220;shared&#8221;. Private-Variablen müssen daher explizit deklariert werden.</li>
</ul>
<ul>
<li>Was für die TPL/PPL der Invoke-Befehl ist, heißt bei OpenMP &#8220;sections&#8221;.</li>
</ul>
<ul>
<li>Mit dem OpenMP-Pragma <strong><em>omp parallel for if(Anweisung)</em></strong> lassen sich bedingte OpenMP-Schleifen bauen.</li>
</ul>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/&via=sw_devtwits&text=Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/&via=sw_devtwits&text=Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil-2/07/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil1</title>
		<link>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/</link>
		<comments>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 06:57:35 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1405</guid>
		<description><![CDATA[Kaum sind die dotnetpro.powerdays vorbei, sitze ich schon wieder im Zug, auf dem Weg nach Frankfurt am Main, um mich auf dem dort stattfindenden Samsung Developer Day ein wenig über das samsung-eigene Mobil-OS Bada zu informieren. Die Zeit hier im ICE will ich mir mit dem ersten Teil meiner persönlichen Multicore-Event-Rückschau vertreiben. Der Multicore-Programmierungs-Track auf [...]]]></description>
			<content:encoded><![CDATA[<p>Kaum sind die <a href="http://www.software-dev-blog.de/dotnetpro-powerday-multicore-programmierung/06/2010/">dotnetpro.powerdays</a> vorbei, sitze ich schon wieder im Zug, auf dem Weg nach Frankfurt am Main, um mich auf dem dort stattfindenden <a href="http://de.amiando.com/samsung_devday.html">Samsung Developer Day</a> ein wenig über das samsung-eigene Mobil-OS Bada zu informieren. Die Zeit hier im ICE will ich mir mit dem ersten Teil meiner persönlichen Multicore-Event-Rückschau vertreiben.</p>
<p>Der Multicore-Programmierungs-Track auf den dotnetpro.powerdays 2010 wurde von <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/">Mario Deilmann</a> eröffnet, der sich bei Intel u.a. um das Thema Compiler kümmert. Aber nicht nur das: Mario weiß auch eine Menge zu erzählen über die passenden Multithreading-Konzepte, was er auf der Entwicklertageskonferenz auch tat.</p>
<p>Seine Keynote fing mit einem grundsätzlichen Statement an: Die Multicore-Programmierung unterscheidet sich unter anderem in Sachen Abstraktionsebenen  Das beginnt bei den eher komplizierten Thread-APIs, geht über <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a> und <a href="http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/">Intel TBB</a> und endet bei Tasks und den zugehörigen parallel-tauglichen Architekturen. Dabei gilt festzuhalten, dass je nach Abstraktionsgrad das Parallelisieren mithilfe der jeweiligen Methode mal mehr oder mal weniger kompliziert ist. So stellt sich das Parallelisieren mithilfe von POSIX-Threads kompliziert und fehleranfällig dar und skaliert darüber hinaus sehr schlecht.</p>
<p>Daneben sind Konzepte wie OpenMP ein guter Schritt in die richtige Richtung, allerdings basiert OpenMP immer noch auf expliziten Threads, was möglichst unter allen Umständen vermieden werden sollte. Jedoch konnten die Anwesenden später von Bernd Marquardt lernen, dass OpenMP vor allem für mathematische Anwendung oftmals eine gute, weil einfach anzuwendende Alternative ist.</p>
<p>Die beste Methode ist in vielen Fällen allerdings das Abstrahieren von Threads auf Basis von Tasks. Dies erfordert aber den Einsatz des passenden Frameworks inklusive der entsprechenden Entwicklungsumgebung. Solch ein Framework ist .NET 4 samt Visual Studio 2010, das ja noch recht jung ist. So hilft .NET 4 mithilfe von speziellen Funktionen, Klassen und Methoden, Anwendungen zu parallelisieren, ohne dass der Entwickler sich um das Erstellen, Verwalten und Anhalten/Löschen von Threads kümmern muss. Zudem helfen Thread-Pools beim optimalen Verteilen der Tasks auf die erforderlichen Threads. Dabei kommen Techniken wie Thread Stealing zum Einsatz, was ein effizientes Ausnutzen der vorhandenen Ressourcen garantiert.</p>
<p>Ein weiteres in Frage kommendes Parallel-Konzept befindet sich derzeit im Beta-Status und nennt sich Cilk, es ist einem Projekt des MIT entsprungen. Cilk wird Teil der nächsten C++-Compiler-Version von Intel sein. Mit Cilk bekommen Programmierer und Software-Entwickler ein mächtiges Tool zum nahezu automatisierten Parallelisieren von Anwendungen an die Hand. Cilk lässt sich laut Mario an einem Nachmittag erlernen und erfordert keine Änderungen am vorliegenden Quellcode. Allerdings sollte man sich vor dem Parallelisieren ein paar Gedanken darüber machen, wie der vorhandene Code möglichst effizient strukturiert werden kann, so dass Cilk seinen Job optimal erledigt.</p>
<p>Natürlich bietet Cilk Konstrukte wie parallel_for-Loops und beherrscht auch das Worker Stealing. Daneben reduzieren Hyperobjects die Gefahr von Data Races, ohne dass der Quellcode per Locks &#8220;serialisiert&#8221; werden muss. Sehr cool ist auch der Einsatz eigener Reducer, die deutlich flexibler als unter OpenMP und Intel TBB arbeiten  Zudem generiert  das Erstellen von Tasks mithilfe von Cilk deutlich weniger Overhead als das Erstellen von Threads bei vergleichbaren Konzepten wie OpenMP.</p>
<p>So, und wen Cilk jetzt so richtig neugierig gemacht hat, sollte dieses Blog in den nächsten Tagen immer wieder besuchen. Denn ich werde kommenden Dienstag mit Mario zusammensitzen und alles über Cilk aus ihm herausquetschen. Und die nächsten Teile meiner Multicore-Miniserie anlässlich der dotnetpro.powerdays gibt es natürlich auch sehr bald. See you then!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/&via=sw_devtwits&text=Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil1&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/&via=sw_devtwits&text=Review: Multicore-Programmierung auf den dotnetpro.powerdays, Teil1&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/review-multicore-programmierung-auf-den-dotnetpro-powerdays-teil1/06/2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>dotnetpro.powerdays: Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/dotnetpro-powerdays-multicore-programmierung/06/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnetpro-powerdays-multicore-programmierung/06/2010/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 20:54:57 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1403</guid>
		<description><![CDATA[Morgen ist es also soweit: Da geht es im Holiday Inn um 9:00 Uhr los, und das übergeordnete Thema heißt &#8220;Multicore-Programmierung&#8221;. Klar, dass ich auch dort sein werde, um in gewohnter Manier darüber zu berichten &#8211; in Form von Tweets und Blogbeiträgen. Es geht dabei um folgende Sessions: Parallel-Programmierung – wie geht’s und das bringt’s [...]]]></description>
			<content:encoded><![CDATA[<p>Morgen ist es also soweit: Da geht es im Holiday Inn um 9:00 Uhr los, und das übergeordnete Thema heißt &#8220;<a href="http://www.dotnetpro-powerday.de/Programme/dotnetpro.powerday-Multicore-Programmierung-am-23.-Juni-2010" target="_blank">Multicore-Programmierung&#8221;</a>. Klar, dass ich auch dort sein werde, um in gewohnter Manier darüber zu berichten &#8211; in Form von <a href="http://twitter.com/mhuelskoetter/" target="_blank">Tweets</a> und Blogbeiträgen. Es geht dabei um folgende Sessions:</p>
<ul>
<li>Parallel-Programmierung – wie geht’s und das bringt’s</li>
<li>Parallelisierung von nativem Code</li>
<li>Parallelisierung mit Managed Code</li>
<li>Parallelisierung im OLTP-Alltag</li>
<li>Parallelisierung von Berechnungen mit OpenMP</li>
<li>Abschlussdiskussion | CUDA &#8211; Die etwas andere Art schnell zu rechnen</li>
</ul>
<p>Also, ich freu&#8217; mich drauf! Dann bis morgen&#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnetpro-powerdays-multicore-programmierung/06/2010/&via=sw_devtwits&text=dotnetpro.powerdays: Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnetpro-powerdays-multicore-programmierung/06/2010/&via=sw_devtwits&text=dotnetpro.powerdays: Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnetpro-powerdays-multicore-programmierung/06/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lesetipp: Elektroniknet.de über die &#8220;Softwarefirma Intel&#8221;</title>
		<link>http://www.software-dev-blog.de/lesetipp-elektroniknet-de-uber-die-softwarefirma-intel/06/2010/</link>
		<comments>http://www.software-dev-blog.de/lesetipp-elektroniknet-de-uber-die-softwarefirma-intel/06/2010/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 09:56:56 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[ISC10]]></category>
		<category><![CDATA[Surftipp]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1401</guid>
		<description><![CDATA[Ok, die jährlich stattfindende Intel-Software-Konferenz iSTEP ist schon wieder eine ganze Weile her, aber nichtsdestotrotz hat es sich Kollege Joachim Kroll von elektroniknet.de nicht nehmen lassen, die Veranstaltung und seine Lehren und Erkenntnisse daraus auf drei Seiten zusammen zu fassen. Es ist ein sehr gelungener Beitrag geworden, dessen Kernaussagen ich ein wenig kommentieren möchte. Einer [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, die jährlich stattfindende <a href="http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/">Intel-Software-Konferenz iSTEP</a> ist schon wieder eine ganze Weile her, aber nichtsdestotrotz hat es sich Kollege <a href="mailto:jkroll@elektronik.de" target="_blank">Joachim Kroll</a> von elektroniknet.de nicht nehmen lassen, die Veranstaltung und seine Lehren und Erkenntnisse daraus <a href="http://www.elektroniknet.de/embedded/technik-know-how/entwicklungs-tools-fuer-hard-und-software/article/27876/0/Softwarefirma_Intel/" target="_blank">auf drei Seiten zusammen zu fassen</a>. Es ist ein sehr gelungener Beitrag geworden, dessen Kernaussagen ich ein wenig kommentieren möchte.</p>
<blockquote><p>Einer der großen Meilensteine war dabei die Übernahme des Embedded-Softwareherstellers Wind River durch Intel.</p></blockquote>
<p>Absolut richtig. Allerdings ist die Schlussfolgerung des Kollegen Kroll nicht ganz zutreffend:</p>
<blockquote><p>Einzig und allein die Ankurbelung des Prozessorgeschäfts ist die Triebkraft, die die  Aktivitäten Intels antreibt.</p></blockquote>
<p>Das stimmt <a href="http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/">im Falle des Wind-River-Deals</a> so nicht ganz, wenn man sich die derzeitige Embedded-Strategie Intels ansieht. Denn mit der Akquisition des Embedded-Spezialisten hat man nicht nur in Sachen Multicore und Parallelisierung viel Expertise eingekauft, sondern auch eine Menge Know-how im Bereich Mobile Linux und Mobile Gadgets ins Haus geholt. Und das kann Intel hinsichtlich seiner <a href="http://www.it-techblog.de/intel-nokia-linux-meego-nimmt-fahrt-auf/04/2010/" target="_blank">Moorestown-MeeGo-Smartphone-Aktivitäten</a> ganz gut gebrauchen.</p>
<blockquote><p>Vielmehr wird Intel auch mit der Software »inside« bleiben und Entwicklungswerkzeuge, Bibliotheken und Middleware für Betriebssystemhersteller und Anwendungsentwickler anbieten.</p></blockquote>
<p>Diesen Passus finde ich ein wenig verwirrend. Klingt so, als ob Intel gerade dabei ist, zur Beschleunigung bestehender Software-Titel Tools auf den Markt zu bringen, die Software-Entwickler dabei unterstützen sollen, ihre Apps zu parallelisieren. Dass das so nicht stimmt, weiß der Autor allerdings schon, nur an dieser Stelle könnte der Eindruck entstehen, als ob Intel mit Software-Tools bis dato nix am Hut hat.</p>
<blockquote><p>Echte Parallelität und »paralleles Denken« bei der Konzeption von Anwendungen stehen hingegen noch ganz am Anfang.</p></blockquote>
<p>Hm, wie soll man diese Aussage bewerten? Sicher, viele Entwickler verlassen sich nach wie vor darauf, dass ihre Anwendungen von schneller werdenen Prozessoren und Architekturen beschleunigt werden, <a href="http://www.gotw.ca/publications/concurrency-ddj.htm" target="_blank">was natürlich nicht stimmt</a>. Allerdings sind vor allem die größeren Entwicklerschmieden schon längst auf den Parallel-Zug aufgesprungen. Da kann man einfach mal bei <a href="../how-to-deshalb-skaliert-divx-7-auf-multicore-plattformen/01/2009/">DivX</a>,  <a href="../skalierende-filter-nik-software-setzt-auf-multicore/01/2009/">Nik  Software</a>, <a href="../lernen-mit-crytek-deshalb-ist-crysis-erfolgreich/01/2009/">Crysis</a>, <a href="http://www.software-dev-blog.de/exasolution-ermoglicht-datenanalysen-in-quasi-echtzeit/07/2009/">Exasol</a>, <a href="http://www.software-dev-blog.de/maxon-multithreading-darum-ist-cinema-4d-so-performant/06/2009/">Maxon</a>, <a href="http://www.software-dev-blog.de/nero-unterstutzt-bereits-seit-der-version-7-multithreading/03/2009/">Nero</a> und all den anderen nachfragen.</p>
<blockquote><p>Eine fest codierte Verteilung (z.B. mit pthreads oder Windows threads) ist aber wenig zukunftssicher.</p></blockquote>
<p>Absolut richtig! Der daraus resultierende Rat, den Software-Spezialisten <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/">wie Mario Deilmann</a> oder andere geben, lautet: &#8220;Denkt in Tasks, nicht in Threads!&#8221;. Denn das thread-basierte Programmieren läuft bei vielen Anwendungen auf eine schlecht skalierende Programmausführung hinaus und ist zudem sehr fehleranfällig. Viel besser und effizienter ist es hingegen, seine Anwendung von Anfang an so zu strukturieren, dass eine Abstraktion des Quellcodes möglich ist. Und mit den richtigen Frameworks wie <a href="http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/">Intel TBB</a> oder <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">.NET 4 von Microsoft</a> muss sich der Programmierer um das Verteilen der Tasks auf die zugehörigen Threads gar nicht mehr kümmern.</p>
<blockquote><p>Allerdings ist eine neue Programmiersprache für die Parallelverarbeitung nicht in Sicht [...]</p></blockquote>
<p>Tja, eine gewagte Aussage. Denn mit funktionalen <a href="http://de.wikipedia.org/wiki/F-Sharp" target="_blank">Programmiersprachen wie F#</a>, die mit dem Erscheinen von <a href="http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/">Visual Studio 2010</a> Bestandteil der Microsoft-Entwicklungsumgebung ist, lässt sich die Parallelprogrammierung durchaus vereinfachen. Inwieweit sich F# und <a href="http://de.wikipedia.org/wiki/Funktionale_Programmierung" target="_blank">andere funktionale Sprachen</a> durchsetzen werden, ist natürlich fraglich.</p>
<blockquote><p>Viele Entwickler suchen allerdings nach weniger anspruchsvollen Erweiterungen [wie OpenMP und die MPI-Bibliothek], mit denen sich in C/C++ geschriebene Desktop- und Embedded-Anwendungen parallelisieren lassen [wie mit Intel TBB].</p></blockquote>
<p>Es stimmt natürlich, dass <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a> nicht so mächtig ist wie die C++-Bibliothek Intel TBB. Aber OpenMP als anspruchsvolle Erweiterung zu bezeichnen, ist ein bisschen übertrieben. Gerade mit OpenMP lassen sich mit wenigen Handgriffen vor allem Schleifen parallelisieren. Hierzu bedient man sich lediglich einiger, weniger Pragmas, die in den bestehenden Quellcode eingefügt werden müssen. Der Rest geschieht dann quasi von selbst.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/lesetipp-elektroniknet-de-uber-die-softwarefirma-intel/06/2010/&via=sw_devtwits&text=Lesetipp: Elektroniknet.de über die "Softwarefirma Intel"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/lesetipp-elektroniknet-de-uber-die-softwarefirma-intel/06/2010/&via=sw_devtwits&text=Lesetipp: Elektroniknet.de über die "Softwarefirma Intel"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/lesetipp-elektroniknet-de-uber-die-softwarefirma-intel/06/2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lesetipp: Netbook-Apps unter MeeGo parallelisieren</title>
		<link>http://www.software-dev-blog.de/lesetipp-netbook-apps-unter-meego-parallelisieren/06/2010/</link>
		<comments>http://www.software-dev-blog.de/lesetipp-netbook-apps-unter-meego-parallelisieren/06/2010/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 16:21:53 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1399</guid>
		<description><![CDATA[Den besonders aufmerksamen Lesern des Software Dev Blog dürfte der Name Edmund Preiss nicht unbekannt sein. Edmund liefert immer wieder Beiträge rund um das Thema Parallelisierung für die Fachzeitschrift Elektronik Industrie, die dankenswerterweise sowohl offline als auch online verfügbar sind. Sein aktueller Artikel beschäftigt sich im Grunde mit zwei Themen: Mobile und Multicore. Denn zum [...]]]></description>
			<content:encoded><![CDATA[<p>Den besonders aufmerksamen Lesern des Software Dev Blog dürfte der Name <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Edmund Preiss</a> nicht unbekannt sein. Edmund liefert immer wieder <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">Beiträge</a> rund um das Thema <a href="http://www.software-dev-blog.de/surftipp-parallel-studio-artikel-kostenlos-downloaden/06/2009/">Parallelisierung</a> für die Fachzeitschrift Elektronik Industrie, die dankenswerterweise sowohl offline als auch <a href="http://www.all-electronics.de/ae/article/42802-Softwareentwicklungswerkzeuge+unterstützen+Parallelisierung?PHPSESSID=f4a9e6135ae062bc2c9e49669dd4b55c" target="_blank">online verfügbar</a> sind.</p>
<p>Sein aktueller Artikel beschäftigt sich im Grunde mit zwei Themen: Mobile und Multicore. Denn zum einen geht es um Atom-Prozessoren und zum anderen um das Parallelisieren von Netbook-Apps. Streng genommen funktioniert das Multithreaden von mobilen Anwendungen ganz ähnlich wie auf Notebook- oder Desktop-Plattformen. Allerdings widmet Edmund seinen Beitrag nicht der Entwicklung von Windows-Software, sondern der von linux-basierten Anwendungen.</p>
<p>Hierzu bietet Intel nämlich zwei spezielle Entwicklungssuiten, die sich beide im Linux-Umfeld einsetzen lassen. Die Tools nennen sich <a href="http://www.it-techblog.de/mit-intel-tools-atom-basierte-apps-bauen/06/2010/">Intel Application Software Development Tool Suite</a> und Embedded Software Development Tool Suite. Die Tools-Sammlungen unterscheiden sich vor allem im Debugger, nämlich dem JTag-Debugger.</p>
<p>Mithilfe von Edmunds Artikel lernt man die Hauptbestandteile der Entwicklersuites kennen. Das ist vor allem&#8230;</p>
<p>&#8230; der Intel C++-Compiler, der an die Besonderheiten der Atom-Prozessoren angepasst wurde,</p>
<p>&#8230; die IPP-Bibliothek, die mehr als 10.000 thread-sichere Funktionen für Multimedia-Apps umfasst,</p>
<p>&#8230; der <a href="http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/">VTune Performance Analyzer</a> zum Aufspüren von Programmengpässen, also Hotspots,</p>
<p>&#8230; der Intel JTag-Debbuger, mit dem sich host-basiert Fehler aufspüren und eliminieren lassen,</p>
<p>&#8230; der Applikationsdebugger, der eine Ergänzung zum JTag-Debugger darstellt.</p>
<p>Klar, dass sich sämtliche Tools innerhalb der linux-typischen Eclipse-Umgebung einsetzen lassen. Das gewährt das gewohnte Entwickeln und Testen von mobilen Linux-Programmen für <a href="http://www.it-techblog.de/meego-ist-tatsachlich-das-beste-von-moblin-und-maemo/05/2010/">MeeGo</a> und andere Derivate.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/lesetipp-netbook-apps-unter-meego-parallelisieren/06/2010/&via=sw_devtwits&text=Lesetipp: Netbook-Apps unter MeeGo parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/lesetipp-netbook-apps-unter-meego-parallelisieren/06/2010/&via=sw_devtwits&text=Lesetipp: Netbook-Apps unter MeeGo parallelisieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/lesetipp-netbook-apps-unter-meego-parallelisieren/06/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tech-Ed 2010: Jetzt anmelden und 500 Euro sparen</title>
		<link>http://www.software-dev-blog.de/tech-ed-2010-jetzt-anmelden-und-500-euro-sparen/06/2010/</link>
		<comments>http://www.software-dev-blog.de/tech-ed-2010-jetzt-anmelden-und-500-euro-sparen/06/2010/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 13:27:15 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tech-Ed]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1397</guid>
		<description><![CDATA[Anfang Mai habe ich schon darüber gebloggt: die Microsoft Tech-Ed Europe findet auch in diesem Jahr wieder in Berlin statt, und zwar vom 8. bis 12. November. Ich hoffe ja, dass ihr alle den Termin schon mal im Kalender vorgemerkt habt. Und ab sofort solltet ihr euch nicht nur darauf freuen, sondern euch auch für [...]]]></description>
			<content:encoded><![CDATA[<p>Anfang Mai habe ich schon <a href="http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/">darüber gebloggt</a>: die <a href="http://europe.msteched.com/" target="_blank">Microsoft Tech-Ed Europe</a> findet auch in diesem Jahr wieder in Berlin statt, und zwar vom 8. bis 12. November. Ich hoffe ja, dass ihr alle den Termin schon mal im Kalender vorgemerkt habt. Und ab sofort solltet ihr euch nicht nur darauf freuen, sondern euch auch <a href="http://europe.msteched.com/registration" target="_blank">für die Microsoft-Konferenz anmelden</a>. Und wenn ihr ganz besonders schnell seid, könnt ihr satte 500 Euro sparen. Dieses &#8220;Early-Bird&#8221;-Angebot gilt genau bis zum 5. Juli und reduziert den All-Inclusive-Pass von 1.895 Euro auf 1.395 Euro.</p>
<p>Das Geld scheint wohl ziemlich gut angelegt zu sein, denn es werden wieder rund 370 Techsessions und  mehr als 150 so genannte Hand-on-Workshops angeboten, also mehr als 100 Sessions pro Tag. Da sollte schon das eine oder andere dabei sein, was für euch relevant und interessant ist. Aber natürlich ist solch eine Konferenz auch zum Netzwerken gut und zum Kennenlernen und zum Feiern am Abend.</p>
<p>Und falls ihr wissen wollt, mit welchen Themen wir uns hier auf dem Software Dev Blog während der letztjährigen Tech-Ed Europe beschäftigt haben: <a href="http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/">ein Mausklick genügt</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/tech-ed-2010-jetzt-anmelden-und-500-euro-sparen/06/2010/&via=sw_devtwits&text=Tech-Ed 2010: Jetzt anmelden und 500 Euro sparen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/tech-ed-2010-jetzt-anmelden-und-500-euro-sparen/06/2010/&via=sw_devtwits&text=Tech-Ed 2010: Jetzt anmelden und 500 Euro sparen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/tech-ed-2010-jetzt-anmelden-und-500-euro-sparen/06/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fünf Tipps für das Parallelisieren von Anwendungen</title>
		<link>http://www.software-dev-blog.de/funf-tipps-fur-das-parallelisieren-von-anwendungen/06/2010/</link>
		<comments>http://www.software-dev-blog.de/funf-tipps-fur-das-parallelisieren-von-anwendungen/06/2010/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 17:11:17 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Tipps]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1394</guid>
		<description><![CDATA[Gerade habe ich bei den Kollegen des SoftTalk-Blogs eine interessante Top-10-Liste gefunden. Die geht der Frage nach, wie aus seriell programmierten Apps parallel ablaufende Anwendungen werden, die im Zeitalter von Multicore-Systemen möglichst gut skalieren und sämtliche vorhandenen Prozessorkerne für die Ausführung der Software optimal nutzen. Daher folgen jetzt meine fünf Lieblingstipps mit entsprechenden Kommentaren und [...]]]></description>
			<content:encoded><![CDATA[<p>Gerade habe ich bei den Kollegen des SoftTalk-Blogs eine <a href="http://softtalkblog.com/2010/06/08/ten-top-tips-for-converting-programs-from-serial-to-parallel/" target="_blank">interessante Top-10-Liste</a> gefunden. Die geht der Frage nach, wie aus seriell programmierten Apps parallel ablaufende Anwendungen werden, die im Zeitalter von Multicore-Systemen möglichst gut skalieren und sämtliche vorhandenen Prozessorkerne für die Ausführung der Software optimal nutzen. Daher folgen jetzt meine fünf Lieblingstipps mit entsprechenden Kommentaren und Verweisen.</p>
<p><strong>Tipp 1:</strong> Mithilfe bestimmter <a href="http://software.intel.com/en-us/articles/compiler-switches-for-intel-parallel-amplifier/" target="_blank">Compiler-Einstellungen</a> lassen sich mit ganz wenig Aufwand Programme nahezu doppelt so schnell ausführen. So sorgt beispielsweise der Switch <strong><em>/Qopenmp</em></strong> dafür, dass vorher eingefügte <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP-Pragmas</a> vor allem Schleifen parallelisieren. Ok, hierzu ist naürlich schon ein wenig Handarbeit notwendig. Aber es lohnt sich!</p>
<p><strong>Tipp 2: </strong>Die registernahe Parallelprogrammierung mithilfe von <a title="Intel® compiler options for SSE generation (SSE2, SSE3, SSSE3, SSE4.1, SSE4.2) and processor-specific optimizations" href="http://software.intel.com/en-us/articles/performance-tools-for-software-developers-intel-compiler-options-for-sse-generation-and-processor-specific-optimizations/" target="_blank">SSE-Operationen</a> bietet ebenfalls eine ganze Menge an Beschleunigungspotenzial. So lassen sich mit wenigen zusätzlichen Programmcodezeilen beispielsweise Bildverarbeitungsalgorithmen erheblich beschleunigen. Also ohne größeren Aufwand.</p>
<p><strong>Tipp 3: </strong>Beim Einsatz entsprechender Optimierungstools wie <a title="Videoworkshop, wie man mit VTune Bottlenecks aufspürt" href="http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/">Intel VTune Analyzer</a> sollte man tunlichst darauf achten, die zu parallelisierende Software nicht vollständig analysieren zu wollen, da VTune beispielsweise einige tausend Events erstellt. Dabei geht es doch meist nur um wenige Flaschenhälse, deren Beseitigung die Anwendung spürbar beschleunigt. Das sind beispielsweise nicht vollständig ausgeführte Funktionen, mangelhafter Datenaustausch zwischen CPU und Speicher, ungewollte Leerläufe und Cache Misses.</p>
<p><strong>Tipp 4:</strong> Beim Parallelisieren sollte man auf die wirklich kritischen Bereiche der Anwendung achten. Das sind vor allem die rechenintensiven, zeitraubenden Funktionen und Module, auf die es gilt sich beim Parallelisieren zu konzentrieren. Tools wie der <a href="http://www.software-dev-blog.de/isc’09-intel-parallel-amplifier-im-detail/04/2009/">Parallel Amplifier</a> können dabei helfen, genau diese Programmbereiche aufzustöbern. Dabei ist natürlich auch ein wenig Kenntnis bezüglich der verwendeten Algorithmen und ihres Ressourcen-Hungers hilfreich.</p>
<p><strong>Tipp 5: </strong>Oberste Priorität sollte sein, dass die parallelisierte Anwendung keine Laufzeitfehler produziert (Stichworte: Race Conditions, Dead Locks, etc.). Auch hierfür empfiehlt sich der Einsatz geeigneter Software-Tools wie des <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Intel Parallel Inspector</a>, der mögliche Verklemmungen aufspürt, indem das Programm ausgeführt wird und sich so die eventuellen Ergebnisse ermitteln lassen, die zu Laufzeitfehlern führen können.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/funf-tipps-fur-das-parallelisieren-von-anwendungen/06/2010/&via=sw_devtwits&text=Fünf Tipps für das Parallelisieren von Anwendungen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/funf-tipps-fur-das-parallelisieren-von-anwendungen/06/2010/&via=sw_devtwits&text=Fünf Tipps für das Parallelisieren von Anwendungen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/funf-tipps-fur-das-parallelisieren-von-anwendungen/06/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dotnet Cologne 2010 #3: Noch mehr Infos und Präsentationen</title>
		<link>http://www.software-dev-blog.de/dotnet-cologne-2010-3-noch-mehr-infos-und-prasentationen/06/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnet-cologne-2010-3-noch-mehr-infos-und-prasentationen/06/2010/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 10:46:54 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1392</guid>
		<description><![CDATA[Ja doch, ich geb&#8217;s ja zu, ich bin mit meinem dritten Teil der dotnet Cologne 2010 (Teil 1 und Teil 2) ein wenig in Verzug. Und da ich dies natürlich wieder gutmachen möchte, gibt es heute neben den Infos zu den zwei noch ausstehenden Sessions von Oliver Sturm und Bernd Marquardt ein Schmankerl (bayerisches Idiom [...]]]></description>
			<content:encoded><![CDATA[<p>Ja doch, ich geb&#8217;s ja zu, ich bin mit meinem dritten Teil der dotnet Cologne 2010 (<a href="http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/">Teil 1</a> und <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/">Teil 2</a>) ein wenig in Verzug. Und da ich dies natürlich wieder gutmachen möchte, gibt es heute neben den Infos zu den zwei noch ausstehenden Sessions von Oliver Sturm und Bernd Marquardt ein Schmankerl (bayerisches Idiom für &#8220;Leckerbissen&#8221;) dazu: Es sind nämlich schon ganz viele Präsentationen der Techsessions online, die man sich von dort einfach <a title="Hier gibt's die Voträge zum downloaden" href="http://www.dotnet-cologne.de/Vortraege.ashx" target="_blank">auf seinen Rechner laden kann</a>. Ein toller Service für alle, die nicht dabei sein konnten oder durften oder sonst was.</p>
<p>So, und was gibt es abschließend noch zu Olivers und Bernds Vorträgen zu sagen? Nun, beide waren (a) sehr unterhaltsam und (b) sehr informativ. Aber gut, das war ja auch nicht anders zu erwarten.</p>
<p>Oliver Sturm ist bestimmt vielen von euch ein Begriff: er ist unter anderem C#-MVP, betreibt <a href="http://www.sturmnet.org/blog" target="_blank">ein eigenes Blog</a> und <a title="Follow Oliver on Twitter" href="http://twitter.com/olivers/" target="_blank">twittert</a> sogar ab und an. Seine Session trug den Titel &#8220;Parallelisierung mit funktionalen Ansätzen in C#&#8221;. Dabei ging es &#8211; grob gesagt &#8211; um den Multicore-Shift (&#8220;Wie übersetzt man das eigentlich?!&#8221;), um das Parallelisieren von Quellcode mithilfe der <a href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-2/01/2009/">Parallel Extensions</a> in .NET und um entsprechende funktionale Ansätze, demonstriert anhand zweier Beispiele (das Filtern von Namenslisten und die parallelisierte Erzeugung von Mandelbrotbäumen). Interessant fand ich übrigens Olivers Versuch, die Begriffe &#8220;Multithreading&#8221;, &#8220;Concurrency&#8221; und &#8220;Parallelism&#8221; voneinander abzugrenzen, da diese im englischen Sprachraum äußerst oft synonym verwendet werden. Tja, und den Rest seiner Präse <a href="http://www.dotnet-cologne.de/GetFile.aspx?File=/Downloads/2010/Sturm_ParallelCsharp.zip" target="_blank">schaut ihr euch am besten selbst an</a>.</p>
<p><span id="more-1392"></span></p>
<p><a href="http://www.dotnetpro.de/articles/author51.aspx" target="_blank">Bernd Marquardt</a> beschäftigte sich dann mit einem ganz ähnlichen Thema, wenngleich aus einer anderen Richtung kommend: &#8220;Parallelprogrammierung mit der TPL&#8221;. TPL steht für <a href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">Task Parallel Library</a>, mit deren Hilfe das Parallelisieren von Managed Code vereinfacht werden soll. Natürlich zeigte auch Bernd zunächst einmal, dass die Prozessoren nicht mehr schneller werden, sondern &#8220;nur&#8221; noch mehr. Und dass Software-Entwickler aus diesem Grund eine ganze Menge Hirnschmalz auf die Optimierung ihrer Anwendungen verwenden müssen, damit diese auch optimal skalieren (die Anwendungen, nicht die Entwickler!).</p>
<p>Bernd stellte einstiegsweise die verschiedenen Parallelisierungsmodelle vor, über die Mario ja schon gut zwei Stunden vorher <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/">geredet hatte</a>. Das erste praktische Beispiel war die parallele Erweiterung von LINQ, also <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">PLINQ</a>, die Microsoft seinem .NET-4-Framework spendiert hat. Damit lassen sich parallel ausführbare Datenbankabfragen generieren, die automatisch auf die vorhandenen Prozessorkerne und Threads verteilt werden. Aber auch das <a href="http://www.software-dev-blog.de/priopowerday-parallele-programmierung-unter-net-35/04/2009/">Parallelisieren von Schleifenkonstrukten</a> mit neuen Funktionen wie <strong><em>Parallel.For()</em></strong> und <em><strong>Parallel.ForEach()</strong></em> waren Bernd ausführliche Erläuterungen wert.</p>
<p>Und so ging es dann lustig weiter: Codeblöcke parallelisieren mit <a href="http://www.software-dev-blog.de/screencasts-zur-parallelprogrammierung-unter-net-4/07/2009/"><em><strong>Parallel.Invoke()</strong></em></a>, Task-Klassen einsetzen (vergleichbar mit der Threadpool-Klasse), Concurent Exceptions verwenden, Synchronisierungsprobleme erkennen und einiges mehr. Und wer das alles genauer wissen will, sollte sich einfach die Folien von Bernds Session <a title="Bernds Präsentation als PPT" href="http://www.dotnet-cologne.de/GetFile.aspx?File=/Downloads/2010/Marquardt_TPL.zip" target="_blank">auf seinen Rechner laden</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-3-noch-mehr-infos-und-prasentationen/06/2010/&via=sw_devtwits&text=dotnet Cologne 2010 #3: Noch mehr Infos und Präsentationen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-3-noch-mehr-infos-und-prasentationen/06/2010/&via=sw_devtwits&text=dotnet Cologne 2010 #3: Noch mehr Infos und Präsentationen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnet-cologne-2010-3-noch-mehr-infos-und-prasentationen/06/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel programmieren und Preise abgreifen</title>
		<link>http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/</link>
		<comments>http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 11:29:20 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Contest]]></category>
		<category><![CDATA[Gewinnspiel]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1389</guid>
		<description><![CDATA[Nein, es ist nicht die erste Herausforderung für Software-Entwickler, die sich Intel da ausgedacht hat. Der Wettbewerb mit dem generischen Namen Intel Threading Challenge 2010 geht nämlich in die nächste Runde, und dafür hat sich der Chiphersteller etwas ganz Besonderes einfallen lassen. Anstatt nur eine Zielgruppe mit dem Wettbewerb anzusprechen, unterteilt sich die Challenge 2010 [...]]]></description>
			<content:encoded><![CDATA[<p>Nein, es ist <a title="Parallel programmieren für 100 $: Intel-Gewinnspiel" href="http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/">nicht die erste Herausforderung</a> für Software-Entwickler, die sich Intel da ausgedacht hat. Der Wettbewerb mit dem generischen Namen <a href="http://software.intel.com/en-us/contests/threading-challenge-2010/contests.php?cid=sw:threadingchallenge2010_002e" target="_blank">Intel Threading Challenge 2010</a> geht nämlich in die nächste Runde, und dafür hat sich der Chiphersteller etwas ganz Besonderes einfallen lassen. Anstatt nur eine Zielgruppe mit dem Wettbewerb anzusprechen, unterteilt sich die Challenge 2010 in <a href="http://software.intel.com/en-us/contests/threading-challenge-students-2010/codecontest.php?cid=sw:threadingchallenge2010_003e" target="_blank">&#8220;Anfänger&#8221;</a> und <a href="http://software.intel.com/en-us/contests/threading-challenge-prof-2010/codecontest.php?cid=sw:threadingchallenge2010_004e" target="_blank">&#8220;Fortgeschrittene&#8221;</a>. Damit können sowohl Newbies der Parallelprogrammierung als auch die alten Hasen zeigen, wieviel sie vom Thema <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/">Multithreading und Co.</a> verstehen.</p>
<p>Neben dem Schwierigkeitsgrad unterscheiden sich die zwei Sub-Wettbewerbe im Schreibaufwand, der mit der Einreichung der jeweiligen Lösung einher geht. So müssen die Multicore-Erfahrenen neben dem parallelisierten Quellcode auch eine genaue Beschreibung einreichen, die etwas darüber verrät, wie das Problem angegangen und gelöst wurde. Das bleibt den Newbies erspart. Die haben vermutlich auch genug damit zu tun, sich erst mal in das Thema Parallelprogrammierung einzuarbeiten.</p>
<p>Der Ablauf der Intel Thread Challenge 2010 sieht wie folgt aus:</p>
<ul>
<li><strong>Phase I</strong> umfasst zwei Probleme, die jeweils innerhalb von vier Wochen gelöst werden müssen. Die erste Aufgabe ist <a title="Für die Newbies" href="http://software.intel.com/en-us/contests/threading-challenge-students-2010/codecontest.php?cid=sw:threadingchallenge2010_003e" target="_blank">bereits</a> <a title="Für die Fortgeschrittenen" href="http://software.intel.com/en-us/contests/threading-challenge-prof-2010/codecontest.php?cid=sw:threadingchallenge2010_004e">online</a> und muss bis zum 27. Juni gelöst und eingereicht werden (je nach Schwierigkeitsgrad mit oder ohne Schriftsatz). Ab dem 28. Juni gibt es die zweite zu lösende Aufgabe, für die wieder vier Wochen zur Verfügung stehen. Die jeweils ersten drei besten Lösungen erhalten Visa-Geschenkkarten im Wert von 50, 35 und 25 Dollar bei den Einsteigern und 50, 100 und 15o Dollar bei den Fortgeschrittenen.</li>
</ul>
<ul>
<li><strong>Phase II</strong> beginnt nach diesen vier Wochen, also am 26. Juli. Während dieses zweiten Abschnitts müssen dann sogar vier Aufgaben gelöst werden, die wiederum alle vier Wochen online gehen. Am Schluss werden alle Punkte der eingereichten und besten Lösungen der Phase II zusammengezählt, und der Sieger erhält einen Super-Duper-Spezialpreis. Im Falle des Einsteiger-Wettbewerbs ist das ein schicker Apple iPod touch und der beste Programmierer in der Kategorie &#8220;Fortgeschrittene&#8221; darf sich über ein brandneues Notebook freuen.</li>
</ul>
<p>So, alle also, die an der Thread Challenge 2010 mitmachen wollen, sollten sich die <a href="http://software.intel.com/en-us/articles/intel-threading-challenge-2010-official-rules/" target="_blank">Spielregeln</a> und <a href="http://software.intel.com/en-us/articles/intel-threading-challenge-2010-contest-prizes/" target="_blank">Preise</a> noch mal genauer ansehen. Und wer auf der Suche nach dem einen oder anderen unterstützenden Tool ist, wird <a href="http://software.intel.com/en-us/articles/intel-threading-challenge-2010-tools-and-downloads/" target="_blank">bei Intel auch fündig</a>. Viel Spaß!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/&via=sw_devtwits&text=Parallel programmieren und Preise abgreifen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/&via=sw_devtwits&text=Parallel programmieren und Preise abgreifen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/parallel-programmieren-und-preise-abgreifen/06/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dotnet Cologne 2010, ein voller Erfolg &#8211; Teil 2</title>
		<link>http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 15:02:24 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1387</guid>
		<description><![CDATA[Wie ich bereits berichtete, habe ich mich letzte Woche auf der dotnet Cologne 2010 herumgetrieben und mir dabei die Sessions von Rami Radi, Mario Deilmann, Oliver Sturm und Bernd Marquardt zu Gemüte geführt. Auf die Session von Rami bin ich ja bereits ausführlich eingegangen, und jetzt folgen noch die von Mario, Oliver und Bernd. Dr. [...]]]></description>
			<content:encoded><![CDATA[<p>Wie ich <a href="http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/">bereits berichtete</a>, habe ich mich letzte Woche auf der  dotnet Cologne 2010 herumgetrieben und mir dabei die Sessions von Rami  Radi, Mario Deilmann, Oliver Sturm und Bernd Marquardt zu Gemüte  geführt. Auf die Session von Rami bin ich ja bereits ausführlich  eingegangen, und jetzt folgen noch die von Mario, Oliver und Bernd.</p>
<p>Dr. Mario Deilmann (so sein vollständiger Name) ist bei Intel für  Compiler und ähnlich geartete Software-Tools zuständig. Mit seiner  Lunch-Session ging er der Frage nach, welches Programmier- bzw.  Thread-Modell für skalierende Anwendungen das beste sei. Skalierend  bedeutet in diesem Zusammenhang, dass parallelisierter Quellcode nicht  nur optimal auf zwei Prozessorkerne verteilt wird, sondern auch auf  vier, sechs, acht oder 256 Kernen läuft &#8211; und zwar ohne  Leistungseinbußen.</p>
<p>Hierfür ist laut Mario zunächst einmal ein  passendes Profiling-Tool wie der <a href="http://software.intel.com/en-us/intel-vtune/" target="_blank">Intel VTune Performance Analyzer</a> erforderlich, mit dem man diejenigen Funktionen, Module und andere  Stellen des Quellcodes aufspürt, die für die meiste Rechenleistung und  -zeit verantwortlich sind. Denn das sind oft <em>die</em> Stellen, an denen  man als Software-Entwickler ansetzen sollte. In vielen Fällen sind das  zum Beispiel Schleifenkonstrukte, die sich bestens zum Parallelisieren  eignen.</p>
<p>Eine der passenden Programmiermodelle wusste Mario  natürlich gleich darzustellen: <a title="Workshop: parallel Programmieren mit OpenMP" href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a>. Allerdings weist diese  pragma-basierte Parallelisierung von seriellen Anwendungen auch diverse  Nachteile auf: Man denkt als Programmierer in Threads anstatt in  Tasks (was laut Mario eigentlich ein absolutes No-Go sein sollte), es  lassen sich keine eingebetteten Parallelkonstrukte realisieren und mit  lokalen Daten geht OpenMP ebenfalls nur suboptimal um. Aber für die  schnellen ersten Ergebnisse für parallel ausführbare Programme ist  OpenMP laut Mario eine gute Wahl.</p>
<p><span id="more-1387"></span>Außerdem unterstützt OpenMP  keine objektorientierten Programmiersprachen wie C++, was natürlich in  vielen Fällen ein klares KO-Kriterium ist. Aber wozu gibt es  beispielsweise die <a title="Intel TBB 3.0 mit neuen Funktionen und VS2010-Support" href="http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/">Intel Threading Building Blocks</a>. Mit dieser Thread-sicheren, hochoptimierten Sammlung von fertigen C++-Konstrukten  lassen sich sequentiell programmierte Anwendungen recht schnell und ohne  größere Kenntnisse der Parallelprogrammierung in parallel ablaufende  Programme umwandeln. Praktisch an Intel TBB ist deren Vielseitigkeit: OS-seitig werden  Linux, Mac OS und Windows unterstützt, und es gibt sogar eine  nicht-kommerzielle Variante, die den <a href="http://de.wikipedia.org/wiki/GNU_Lesser_General_Public_License" target="_blank">LGPL-Lizenzrichtlinien</a> unterliegt.</p>
<p>Neben OpenMP und Intel TBB existieren noch weitere  Ansätze, wie sich Software parallelisieren lässt. Dazu gehört das noch recht junge Projekt <a href="http://software.intel.com/en-us/articles/intel-cilk/" target="_blank">Cilk++ von Intel</a>, das einen ähnlichen Weg einschlägt wie Intel TBB, allerdings einen Parallel Debugger sein Eigen nennt, ein SDK bietet und auf hunderten von Prozessorkernen skalieren soll. Und vergessen sollte man natürlich auch nicht <a title="Beta-Tester von Parallel Studio werden" href="http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/">Parallel Studio</a>, das unter anderem die Tools <a title="Parallel Inspector" href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/ ">Parallel Inspector</a> und <a title="Parallel Amplifier" href="http://www.software-dev-blog.de/isc’09-intel-parallel-amplifier-im-detail/04/2009/">Parallel Amplifier</a> aufweist, mit deren Hilfe man Fehler im Quellcode aufspüren kann (Inspector) und sich die Anwendung weiter optimieren lässt (Amplifier). Das geht sogar so weit, dass Laufzeitfehler wie Race Conditions und Dead Locks aufgespürt werden können &#8211; bevor dies der Anwender später tut.</p>
<p>So, und die Sessions von Oliver Sturm und Bernd Marquardt sind dann morgen dran. Versprochen!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/&via=sw_devtwits&text=dotnet Cologne 2010, ein voller Erfolg - Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/&via=sw_devtwits&text=dotnet Cologne 2010, ein voller Erfolg - Teil 2&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnet-cologne-2010-ein-voller-erfolg-teil-2/06/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dotnet Cologne 2010 war ein voller Erfolg!</title>
		<link>http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/#comments</comments>
		<pubDate>Mon, 31 May 2010 07:27:19 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1385</guid>
		<description><![CDATA[Die letzte Woche war für mich mal wieder sehr event-haltig: Mittwoch und Donnerstag war ich auf der Droidcon 2010 in Berlin, am Freitag verschlug es mich dann nach Köln der dotnet Cologne 2010 wegen, und kaum war ich von meiner Reise zurück, unternahm ich am Samstag noch einen kurzen Abstecher in Richtung GamesCamp Munich 2010, [...]]]></description>
			<content:encoded><![CDATA[<p>Die letzte Woche war für mich mal wieder sehr event-haltig: Mittwoch und Donnerstag war ich auf der <a href="http://www.it-techblog.de/droidcamp-2010-android-everywhere/05/2010/" target="_blank">Droidcon 2010 in Berlin</a>, am Freitag verschlug es mich dann nach Köln der <a href="http://www.it-techblog.de/droidcamp-2010-android-everywhere/05/2010/">dotnet Cologne 2010</a> wegen, und kaum war ich von meiner Reise zurück, unternahm ich am Samstag noch einen kurzen Abstecher in Richtung <a href="http://www.software-dev-blog.de/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/" target="_self">GamesCamp Munich</a> 2010, die vom lieben Kollegen <a href="http://twitter.com/flobbymedia" target="_blank">Flo Bergmann</a> organisiert wurde.</p>
<p>Da es auf diesem Blog ja um das Thema Multicore-Programmierung geht, widmet sich dieser Blogbeitrag der dotnet Cologne 2010. Zunächst einmal möchte ich den Organisatoren rund um <a href="http://twitter.com/deralbert" target="_blank">Albert Weinert</a>, <a href="http://twitter.com/rolandweigelt" target="_blank">Roland Weigelt</a> und all den anderen ein großes Kompliment aussprechen: Ihr habt da wirklich ein tolles Event mit tollen Themen, Sessions und Sprechern organisiert. Ok, dass der Kaffee nicht immer warm war und die Technik gleich mal am Anfang nicht so recht wollte, übersehe ich gerne. Wichtig ist doch, dass die Inhalte stimmen und gut rübergebracht werden. Und das war auf jeden Fall so. Also zumindest kann ich das von den Vorträgen behaupten, die ich besucht habe.</p>
<p>Meine persönliche Sessionplanung umfasste vier Vortragende: Rami Radi und Mario Deilmann von Intel, den sehr unterhaltsamen Oliver Sturm und zu guter Letzt den werten <a title="prio.powerday: Parallele Programmierung unter .NET 3.5" href="http://www.software-dev-blog.de/priopowerday-parallele-programmierung-unter-net-35/04/2009/">Bernd Marquardt</a>, der auf solch einer Veranstaltung natürlich nicht fehlen darf (und den ich im Juni auf den <a href="http://www.dotnetpro-powerday.de/Anmeldung/Anmeldung-dotnetpro.powerdays-vom-22.06.-23.06.2010" target="_blank">dotnetpro powerdays</a> wieder erleben werde).</p>
<p><span id="more-1385"></span>Ramis Session war <a href="http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/">wie immer</a> sehr technisch orientiert und fand wegen der vielen Codebeispiele das Interesse der Zuhörenden, die sich im Raum &#8220;Bremen&#8221; eingefunden hatten. Und die wurden auch nicht enttäuscht: Rami legte sehr unterhaltsam dar, wie das Dreigestirn Windows 7, .NET 4 und Multicore-Architekturen voneinander profitieren. Dabei ging es unter anderem um ein wenig Grundlagenwissen in Sachen <a title="Mehr Multithread-Leistung mit dem Intel Core i7 Prozessor" href="http://www.software-dev-blog.de/mehr-multithread-leistung-mit-dem-intel-core-i7-prozessor/11/2008/">Nehahlem</a>, also Turbo Boost, Quickpath-Architektur und andere Dinge.</p>
<p>Aber auch über die Verbesserungen von .NET 4 aus Multicore-Sicht wusste Rami anschaulich zu berichten: So stellte er Features wie Thread Scheduling, Thread Pooling, <a href="http://msdn.microsoft.com/en-us/library/0xy59wtx.aspx" target="_blank">Garbabe Collection</a>, <a href="http://msdn.microsoft.com/en-us/library/dd460717.aspx" target="_blank">TPL</a> sowie <a title="Multicore-Programmierung im .NET-Umfeld – Teil 3" href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-3/02/2009/">PLINQ</a> vor. Dabei gewährte er interessante Einblicke und verriet wichtige Details wie die parallele Aktualisierung von Gen-0- und Gen-2-Daten, die bei der Garbage Collection anfallen. Zudem ging er näher auf das <a href="http://blogs.msdn.com/b/jennifer/archive/2009/06/26/work-stealing-in-net-4-0.aspx" target="_blank">Work-Stealing</a> des in .NET 4 komplett überarbeitenden Thread Managers ein, bei der sich unterbeschäftigte Thread-Queues einfach Threads anderer Queues &#8220;klauen&#8221; können und so die Effizienz des Threadpool-Managers steigern.</p>
<p>Sehr erstaunlich fand ich auch die Tatsache, dass unter .NET 4 nun nicht mehr 25 Threads pro CPU verwaltet werden können, sondern derer 250! Hierfür ist allerdings ein sehr guter Scheduler notwendig, was Microsoft mit dem neuen .NET-Framework wohl gelungen ist.</p>
<p>Nach so viel Theorie wurde es dann sehr praktisch: Rami zeigte all die Verbesserungen unter .NET 4 im Hinblick auf seine Multicore-Fähigkeiten anhand eines Maze-Solvers, bei dem es um den den schnellsten Weg innerhalb eines Labyrinths von A nach B geht. Hierzu bediente er sich eines kleinen .NET-Programms, das er einmal unter .NET 3.5 und .NET 4 laufen ließ. Alleine schon der Umstieg von der älteren auf das brandneue Framework brachte beim Zeichnen des Labyrinths und dem anschließenden Finden des optimalen Wegs Zeitverbesserungen. Ganz zu Schweigen vom Unterschied zwischen dem seriell programmierten Programm und der Multicore-Variante mit mehreren Threads.</p>
<p>Abschließend startete Rami noch ein wenig den <a title="VTune Performance Analyzer" href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a>, um der anwesenden Zuhörerschaft zu demonstrieren, wie sich mit dem Intel-Tool in .NET-Anwendungen solch hässliche Dinge wie Bottlenecks und False-Sharing-Probleme aufspüren lassen. Und wenn die Zeit nicht auf einmal vorbei gewesen wäre, hätte Rami wohl weitere zwei Stunden damit zugebracht, VTune in all seinen Facetten und mit all seinen Möglichkeiten vorzuführen.</p>
<p>Und was Mario, Oliver und Bernd in petto hatten, erfahrt ihr im zweiten Teil meiner dotnet-Cologne-2010-Berichterstattung.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/&via=sw_devtwits&text=dotnet Cologne 2010 war ein voller Erfolg!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/&via=sw_devtwits&text=dotnet Cologne 2010 war ein voller Erfolg!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnet-cologne-2010-war-ein-voller-erfolg/05/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dotnet Cologne 2010 inkl. Parallelprogrammierung</title>
		<link>http://www.software-dev-blog.de/dotnet-cologne-2010-inkl-parallelprogrammierung/05/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnet-cologne-2010-inkl-parallelprogrammierung/05/2010/#comments</comments>
		<pubDate>Fri, 21 May 2010 15:28:06 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1383</guid>
		<description><![CDATA[Auf dem IT-techBlog hab ich&#8217;s schon verraten: Nächste Woche bin ich so richtig auf Achse. Mit den Stationen Berlin, Hamburg und Köln komme ich ganz gut rum in der Republik. Hoffen wir mal, dass der isländische Vulkan nix dagegen hat (ok, einen Teil der Strecken fahre ich ohnehin Zug). In Köln bin ich, weil Intel [...]]]></description>
			<content:encoded><![CDATA[<p>Auf dem IT-techBlog hab ich&#8217;s <a title="MeeGo ist tatsächlich das Beste von Moblin und Maemo" href="http://www.it-techblog.de/meego-ist-tatsachlich-das-beste-von-moblin-und-maemo/05/2010/" target="_blank">schon verraten</a>: Nächste Woche bin ich so richtig auf Achse. Mit den Stationen Berlin, Hamburg und Köln komme ich ganz gut rum in der Republik. Hoffen wir mal, dass der isländische Vulkan nix dagegen hat (ok, einen Teil der Strecken fahre ich ohnehin Zug).</p>
<p>In Köln bin ich, weil Intel dort einen Teil des Sponsorings übernommen hat und ich live aus dem Holiday Inn berichten werde, in dem die dotnet Cologne 2010 stattfindet. Das Programm habe ich ja schon <a title="Dotnet Cologne 2010 nimmt Konturen an" href="http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/">in großen Teilen vorgestellt</a>. Allerdings haben sich seitdem zwei Änderungen ergeben, die vor allem Intel betreffen. Und die will ich euch natürlich nicht vorenthalten.</p>
<p>Zum einen wird <a title="Microsoft und Intel zeigen paralleles Programmieren" href="http://www.software-dev-blog.de/microsoft-und-intel-zeigen-paralleles-programmieren/04/2009/">Mario Deilmann</a> nicht über <a href="http://www.software-dev-blog.de/isc09-parallele-programmierung-fur-den-mainstream/04/2009/">Intel Parallel Studio</a> mit .NET und Visual Studio sprechen, sondern im Rahmen einer Lunch-Session die bekanntesten <a href="http://www.dotnet-cologne.de/Vortraege.ashx#ParallelStudio" target="_blank">Windows-Modelle der Parallelprogrammierung</a> vorstellen. Dabei geht es sicherlich um <a title="Multithreading-Konzepte: OpenMP, APIs und Intel TBB" href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">Multithreading-Konzepte</a> wie OpenMP, APIs und Intel TBB. Und sicherlich wird auch Parallel Studio seinen Platz finden, alleine schon wegen der <a title="Beta-Tester von Parallel Studio werden" href="http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/">Unterstützung seitens Visual Studio 2010</a>.</p>
<p>Zum anderen wird Kollege Rami Radi von Intel eine Stunde lang über Windows 7, .NET 4 und die Multicore-Programmierung sprechen. Wer sich hier schon länger tummelt, wird sich möglichweise daran erinnern, dass Rami diesen Vortrag <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">schon mal gehalten hat</a>. Womit er allerdings nicht minder aktuell wäre, denn das Thema Parallelprogrammierung hat mit <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">Visual Studio 2010 und .NET 4</a> ja schließlich gerade erst begonnen.</p>
<p>Für alle, die der dotnet Cologne 2010 leider nicht beiwohnen können, folgt hier die gute Nachricht: Ich werde für euch von dort einen ganzen Tag lang über die wichtigsten und interessantesten Sessions in Sachen Parallelprogrammierung berichten. Macht euch schon mal einen dicken, roten Kringel um den 28. Mai 2010!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-inkl-parallelprogrammierung/05/2010/&via=sw_devtwits&text=dotnet Cologne 2010 inkl. Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-inkl-parallelprogrammierung/05/2010/&via=sw_devtwits&text=dotnet Cologne 2010 inkl. Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnet-cologne-2010-inkl-parallelprogrammierung/05/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ausblick: Game Developers Conference 2010 in Köln</title>
		<link>http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/</link>
		<comments>http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/#comments</comments>
		<pubDate>Thu, 20 May 2010 10:00:45 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC10]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1380</guid>
		<description><![CDATA[Also, manchmal erfährt man sogar im Urlaub, dass ein neuer Auftrag ansteht. Das macht die Erholungsreise dann noch ein wenig erholsamer. In meinem Fall ging es um die Zusage, wieder live (und im Vorfeld) von der Game Developers Conference 2010 zu berichten, und zwar in Bild, Text und Ton. Soll heißen, dass wir vom 16. [...]]]></description>
			<content:encoded><![CDATA[<p>Also, manchmal erfährt man sogar <a href="http://www.it-techblog.de/kalimera-kreta-hallo-ipad/05/2010/" target="_blank">im Urlaub</a>, dass ein neuer Auftrag ansteht. Das macht die Erholungsreise dann noch ein wenig erholsamer. In meinem Fall ging es um die Zusage, wieder live (und im Vorfeld) von der <a href="http://www.gdceurope.com/" target="_blank">Game Developers Conference 2010</a> zu berichten, und zwar in Bild, Text und Ton. Soll heißen, dass wir vom 16. bis 18. August in Köln vor Ort sind (und das schon zum dritten Mal) um wieder <a href="http://www.software-dev-blog.de/tag/gdc09/">in bekannter Manier</a> von dem größten europäischen Entwicklertreffen der Spielebranche zu berichten.</p>
<p>Wir, das sind wie schon so oft ich selbst und <a href="http://www.tpages.de/index.php" target="_blank">Tom</a>, der Videokamera, Stativ, Licht und anderes Zubehör dabei hat, um mit mir informative <a href="http://www.software-dev-blog.de/tag/interview/">Interviews</a> zu drehen, vor Ort zu schneiden, zu verbloggen und gleichzeitig auf <a href="http://www.software-dev-blog.de/tag/video/">Youtube &amp; Co.</a> zu stellen. Das wird wieder drei Tage lang Fun und richtig Arbeit. Wir freuen uns schon drauf!</p>
<p>Als kleines Aufwärmprogramm hab ich mir mal die <a href="https://www.cmpevents.com/GD10/a.asp?option=G&amp;V=2&amp;CPid=277,282&amp;sTKid=2915&amp;SPKword=intel&amp;SortBy=2" target="_blank">Intel-Sessions der GDC 2010</a> angesehen, die vom 9. bis 13. März 2010 im kalifornischen San Francisco stattgefunden hat. Das könnte  diverse Hinweise darauf liefern, was uns in Köln drei Tage lang so alles erwartet.</p>
<ul>
<li>Chuck Desylva und Jeff Laflam warfen gemeinsam einen Blick auf die aktuelle Generation der integrierten Grafikchips, die Intel mit Einführung der Arrandale-Prozessoren (z.B. Core i5) vorgestellt hat. Aus Entwicklersicht sind Features wie DirectX-10- und OpenGL-2.1-Support interessant, aber auch die Dekodierung von HD-Videostreams (MPEG-2, VC-2, AVC) und der Einsatz von Clear Video HD-Technik. Daneben sind auch die Leistungszuwächse bemerkenswert, die sich beim Datendurchsatz in Sachen Vertex Shading, Rasterisierung, Texture Mapping und Pixel Shading ergeben. Die Session konzentrierte sich vor allem auf die Spieleoptimierung mithilfe bestimmter Tools wie <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> und <a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Intel Graphics Performance Analyzer</a>.</li>
</ul>
<p><span id="more-1380"></span></p>
<ul>
<li>Ron Fosner ging da schon einen ganzen Schritt weiter: Wie kann es gelingen, aus einem sequentiell programmierten Spiele-Titel ein Multithreading-Konstrukt zu bauen, das auf jedem Multicore-Rechner der Welt optimal skaliert? Es geht dabei um Threads versus Tasks, um Thread Pools, um Task Priorities, wie man mit Code- und Daten-Abhängigkeiten umgeht und vieles mehr. Das Ganze wurde natürlich anhand von echten Code-Beispielen demonstriert.</li>
<li>Stan Melax, Quentin Froemke und Ganesh Rao begaben sich gemeinsam auf eine Zeitreise. Sie sprachen nämlich über eine Ära, in der das SIMD-Computing von Intel eingeführt wurde und die bis heute Bestand hat (und mit der kommenden <a href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel-Compiler-Version</a> 12 in Form der AVX-Register und -Operationen die Evolution fortsetzt). Dabei geht es um die parallele Registerverarbeitung und darum, welche Leistungssteigerungen dadurch möglich sind. Denn der optimale Einsatz von SIMD-Befehlen erfordert kaum Anpassungen am vorhandenen Quellcode.</li>
</ul>
<ul>
<li>Orion Granatir war gleich dreimal fleißig während der GDC 2010. Sein persönliches Highlight war sicherlich der Ein-Tages-Workshop, in dem es unter seiner Anleitung darum ging, ein sequentiell programmiertes Spiel so anzupassen und zu parallelisieren, dass es optimal auf einem Multicore-Rechner mit integrierter Grafik läuft. Dazu passte auch seine Session mit dem vielversprechenden Titel &#8220;Fürchte dich nicht vor Threads&#8221;. Hier wurden vier verschiedene Ansätze betrachtet, wie sich Spieletitel parallelisieren lassen. Und seine dritte Präsentation widmete sich einem ganz anderen Thema, das aber mindestens genauso wichtig scheint: Wie optimiere ich meine Spieletitel für <a href="http://www.it-techblog.de/tag/netbook/" target="_blank">Netbooks</a>?</li>
</ul>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/&via=sw_devtwits&text=Ausblick: Game Developers Conference 2010 in Köln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/&via=sw_devtwits&text=Ausblick: Game Developers Conference 2010 in Köln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/ausblick-game-developers-conference-2010-in-koln/05/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie multicore-optimiert ist Office 2010?</title>
		<link>http://www.software-dev-blog.de/wie-multicore-optimiert-ist-office-2010/05/2010/</link>
		<comments>http://www.software-dev-blog.de/wie-multicore-optimiert-ist-office-2010/05/2010/#comments</comments>
		<pubDate>Wed, 19 May 2010 13:03:07 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1379</guid>
		<description><![CDATA[Wer immer noch glaubt, dass Multicore-Optimierungen, Multithreading und Co. nur etwas für Highend-Software-Lösungen sind, sollte sich mal etwas näher mit Office 2010 beschäftigen. Denn was Microsoft hier an Mühen insvestiert hat, um die aktuelle All-in-One-Lösung für den modernen PC-Arbeiter für vier, sechs und mehr Kerne zu optimieren, ist aller Ehren wert &#8211; und diesen Blogbeitrag. [...]]]></description>
			<content:encoded><![CDATA[<p>Wer immer noch glaubt, dass Multicore-Optimierungen, Multithreading und Co. nur etwas für Highend-Software-Lösungen sind, sollte sich mal etwas näher mit Office 2010 beschäftigen. Denn was Microsoft hier an Mühen insvestiert hat, um die aktuelle All-in-One-Lösung für den modernen PC-Arbeiter für vier, sechs und mehr Kerne zu optimieren, ist aller Ehren wert &#8211; und diesen Blogbeitrag.</p>
<p>Die einzelnen Bereiche und Tools wurden wie folgt an die moderne CPU-Architektur angepasst:</p>
<ul>
<li>Sämtliche Anwendungen wurden einem Multithreading unterzogen, was unter anderem schnelleres Öffnen und Speichern von Dokumenten ermöglicht.</li>
</ul>
<ul>
<li>Beim Starten von Outlook werden mehrere Threads gleichzeitig gestartet, was dazu führt, dass parallel die Bedieneroberfläche aufgebaut, die Kalendereinträge geladen und die Voransicht der erhaltenen E-Mails angezeigt werden. Jeder Task bekommt also seinen eigenen Thread zugewiesen.</li>
</ul>
<ul>
<li>Word erledigt dank Multithreading die Paginierung im Hintergrund, was Raum für andere Aufgaben zur selben Zeit lässt.</li>
</ul>
<ul>
<li>In Excel werden Pivot-Tabellen parallel und damit deutlich schneller sortiert.</li>
</ul>
<ul>
<li>Multithreading wird in Excel aber auch dazu eingesetzt, Berechnungen in den Hintergrund zu schieben, während gleichzeitig grafisch orientierte Arbeiten wie das Ändern der Zeilenhöhe oder das automatische Anpassen der Zellenbreite an die Inhalte vorgenommen werden.</li>
</ul>
<p>Allerdings stand Microsoft beim Optimieren von Office 2010 an Multicore-Rechner vor einem erheblichen Problem: Wie können Tools wie Word oder Excel so verbessert werden, dass sie die häufigen Wartezeiten, die sich bei der Mensch-Maschine-Interaktion ergeben, möglichst minimieren? Daher wurden diejenigen Flaschenhälse identifiziert, die sich beispielsweise beim Start der Anwendung oder beim Öffnen oder Speichern einer Datei ergeben und Wartezeiten verursachen. Daran wurde dann verstärkt gearbeitet.</p>
<p>Nur setzt Microsoft immer noch sehr auf das funktionale Multithreading, bei dem die unterschiedlichen Aufgaben der Software eigenen Threads zugewiesen werden. Das ist zwar nicht sehr effizient (da diese Methode nicht optimal skaliert), aber wohl angesichts der hohen I/O-Aktivitäten zu vernachlässigen.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-multicore-optimiert-ist-office-2010/05/2010/&via=sw_devtwits&text=Wie multicore-optimiert ist Office 2010?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-multicore-optimiert-ist-office-2010/05/2010/&via=sw_devtwits&text=Wie multicore-optimiert ist Office 2010?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/wie-multicore-optimiert-ist-office-2010/05/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Termin für Microsoft Tech-Ed Europe 2010 steht</title>
		<link>http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/</link>
		<comments>http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/#comments</comments>
		<pubDate>Thu, 06 May 2010 07:15:05 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[tee10]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1373</guid>
		<description><![CDATA[Stimmt, der Termin ist noch weit weg, aber man kann ja nie früh genug über wichtige Events berichten. Und dazu gehört die Microsoft Tech-Ed Europe 2010 auf jeden Fall, zumindest wenn man Software-Entwickler ist und die Windows-Plattform als seine bevorzugte betrachtet. Wie ich überhaupt darauf komme? Nun, ein Microsoft-Mann hat mich in die Tech-Ed-Facebook-Gruppe eingeladen, [...]]]></description>
			<content:encoded><![CDATA[<p>Stimmt, der Termin ist noch weit weg, aber man kann ja nie früh genug über wichtige Events berichten. Und dazu gehört die <a href="http://www.microsoft.com/europe/teched/" target="_blank">Microsoft Tech-Ed Europe 2010</a> auf jeden Fall, zumindest wenn man Software-Entwickler ist und die Windows-Plattform als seine bevorzugte betrachtet.</p>
<p>Wie ich überhaupt darauf komme? Nun, ein <a href="http://twitter.com/AchimD" target="_blank">Microsoft-Mann</a> hat mich in die <a href="http://www.facebook.com/pages/Berlin-Germany/Tech-Ed-Europe/318852903548" target="_blank">Tech-Ed-Facebook-Gruppe </a>eingeladen, und da konnte ich natürlich nicht widerstehen, mich derselben anzuschließen. Man erfährt noch nicht wirklich viel, aber zumindest ist dort nachzulesen, dass alle Frühanmelder stolze 500 Euro sparen können, wenn sie sich bis zum 5. Juli anmelden (dann kostet das Ticket 1.395 Euro).</p>
<p>Zwar ist die Tech-Ed-Seite noch nicht umgestellt (es geht noch um 2009!), und damit auch die Anmeldung noch nicht möglich, aber beide Missstände sollen wohl demnächst behoben sein.</p>
<p>Falls ihr den Termin im Kalender schon mal eintragen wollt: die <strong>Tech-Ed Europe 2010 findet vom 8. bis 12. November </strong>statt, und zwar wieder in Berlin auf dem altehrwürdigen IFA-Messegelände, was letztes Jahr ganz gut geklappt hat. So, und der Vollständigkeit halber will ich den Twitter-Alias nicht verschweigen, mit dem ihr der Tech-Ed Europe 2010 folgen könnt: <a href="http://twitter.com/teched_europe" target="_blank">teched_europe</a>. Und falls ihr euch das bis November merken könnt: Der Hashtag steht auch schon fest und lautet #tee10.</p>
<p>Ach ja: Ich war letztes Jahr live in Berlin dabei und habe mit Tom zusammen ein paar schöne <a href="http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/">Blogbeiträge samt Videos</a> erstellt und veröffentlicht. Dabei haben wir unter anderem darüber berichtet, wie&#8230;</p>
<p>&#8230; <a href="http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/">.NET-Entwickler mithilfe von VTune Performance Analyzer Bottlenecks aufspüren können</a></p>
<p>&#8230; <a href="http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/">die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft</a></p>
<p>&#8230; <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">.NET-Entwickler vom Multithreading profitieren</a></p>
<p>&#8230; <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Visual Studio und .NET 4 Parallelprogrammierer unterstützen</a></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/&via=sw_devtwits&text=Termin für Microsoft Tech-Ed Europe 2010 steht&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/&via=sw_devtwits&text=Termin für Microsoft Tech-Ed Europe 2010 steht&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/termin-fur-microsoft-tech-ed-europe-2010-steht/05/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intel TBB 3.0 mit neuen Funktionen und VS2010-Support</title>
		<link>http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/</link>
		<comments>http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/#comments</comments>
		<pubDate>Tue, 04 May 2010 14:20:00 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[TBB]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1374</guid>
		<description><![CDATA[Schon letzte Woche erreichte mich eine E-Mail, in der die aktualisierte Version der Intel Threading Building Blocks angekündigt wurde. Tja, und da genau heute Intels Bibliothekensammlung für C und C++ offiziell vorgestellt wird, gibt es dazu natürlich auch einen entsprechenden Blogbeitrag. Auf den ersten Blick bietet Intel TBB 3.0 zwei wesentliche Verbesserungen: die volle Kompatibilität [...]]]></description>
			<content:encoded><![CDATA[<p>Schon letzte Woche erreichte mich eine E-Mail, in der die aktualisierte Version der <a title="Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel Threading Building Blocks</a> angekündigt wurde. Tja, und da genau heute Intels Bibliothekensammlung für C und C++ offiziell vorgestellt wird, gibt es dazu natürlich auch einen entsprechenden Blogbeitrag.</p>
<p>Auf den ersten Blick bietet Intel TBB 3.0 zwei wesentliche Verbesserungen: die volle Kompatibilität mit Visual Studio 2010 und .NET 4 sowie die Unterstützung des künftigen ISO/ANSI-Standards für C++, der noch unter dem Arbeitsnamen C++0x geführt wird. Aber auch andere Features wie eine neue Containerklasse und verbesserte Debugger-Merkmale flossen in die neue Version der Intel TBB 3.0 ein. Im Detail sieht das wie folgt aus:</p>
<p><strong>Optionaler C++0x-Support<br />
</strong></p>
<ul>
<li>die neue Funktion <em>parallel_pipeline()</em> verbessert die alte Warteschlange-Funktion mithilfe von Lambda-Support und anderen Features</li>
<li>TBB_USE_CAPTURED_EXCEPTION() verbessert das Exception Handling</li>
<li>verbesserte Synchronisierung auf Basis konditioneller Variablen</li>
</ul>
<p><strong>Handbuch &#8220;Pattern </strong><strong>Design&#8221;</strong><br />
Dieses von TBB-Entwickler Arch Robison geschriebene Handbuch zeigt, wie Pattern Design funktioniert</p>
<p><strong>Kompatibel mit Microsoft Visual Studio 2010</strong></p>
<ul>
<li>Support der <a href="http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/">Concurrency Runtime</a></li>
<li>kompatibel mit der <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Parallel Pattern Library</a></li>
<li>kompatibel mit <em>reader_writer_lock()</em> and <em>critical_section_lock()</em></li>
</ul>
<p><strong>Neue Container-Klasse<br />
</strong><em>concurrent_unordered_map()</em> (natürlich C++ 0x-kompatibel)</p>
<p><strong>Verbessertes Debuggen</strong></p>
<ul>
<li>Task Scheduling, Vorhersagen und Reaktionszeiten wurden verbessert</li>
<li>voneinander unabhängiges Verwalten von Tasks für mehrere Masterthreads</li>
<li>verbesserte Vermeidung von Deadlocks</li>
<li>weiterentwickelte Hinweise für <a href="http://www.software-dev-blog.de/isc’09-intel-parallel-amplifier-im-detail/04/2009/">Parallel Amplifier</a> und <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Parallel Inspector</a></li>
</ul>
<p><strong>Scheduler-Support (task::enqueue)<br />
</strong></p>
<ul>
<li>unterstützt FIFO-Warteschlagen</li>
<li>nützlich für das  Emulieren von Task-Prioritäten und die Interaktion mit GUI-basierten Threads</li>
</ul>
<p><strong>Leistungsverbesserungen<br />
</strong></p>
<ul>
<li>Beschleunigung der Funktion <em>numerable_thread_specific()</em> und Kombinationen davon</li>
<li>verbesserte Speicherverteilung bei großen Speicherblöcken</li>
</ul>
<p>und einiges mehr.</p>
<p>Wer mit Intel Threading Building Blocks Software entwickeln und parallelisieren möchte, kann dies in zweierlei Hinsicht tun: entweder bezahlt man 299 Dollar für die Windows- oder Linux-Variante und erwirbt damit das <a href="http://www.threadingbuildingblocks.com" target="_blank">kommerzielle Paket von TBB 3.0</a>. Dazu gehört auch ein professioneller Support seitens Intel. Oder man begibt sich auf <a href="http://www.threadingbuildingblocks.org" target="_blank">www.threadingbuildingblocks.org</a>, besorgt sich die Open-Source-Variante des Pakets und bekommt damit eine GPLv2-Lizenz. Diese ist natürlich kostenlos.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/&via=sw_devtwits&text=Intel TBB 3.0 mit neuen Funktionen und VS2010-Support&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/&via=sw_devtwits&text=Intel TBB 3.0 mit neuen Funktionen und VS2010-Support&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-tbb-3-0-mit-neuen-funktionen-und-vs2010-support/05/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web-Tipp: Parallel programmieren in Java</title>
		<link>http://www.software-dev-blog.de/webtipp-parallel-programmieren-in-java/04/2010/</link>
		<comments>http://www.software-dev-blog.de/webtipp-parallel-programmieren-in-java/04/2010/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 09:37:58 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Buchtipp]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Threading]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1372</guid>
		<description><![CDATA[Gerade in Zeiten der Endlosdiskussionen &#8220;Offene versus geschlossene Systeme&#8221; (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 [...]]]></description>
			<content:encoded><![CDATA[<p>Gerade in Zeiten der Endlosdiskussionen &#8220;Offene versus geschlossene Systeme&#8221; (also zum Beispiel <a href="http://www.it-techblog.de/apple-iphone-3gs-vs-google-nexus-one/04/2010/" target="_blank">Android versus iPhone</a>) 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 <a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html" target="_blank">um das Thema &#8220;Concurrency&#8221;</a> geht. Allerdings gibt es gleich zu Anfang einen Hinweis, der (a) verwirrend und (b) inhaltlich nicht ganz  richtig ist:</p>
<blockquote><p>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.</p></blockquote>
<p>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 &#8220;Concurrency&#8221;, die auf der Sun-Seite zur Verfügung gestellt wird.</p>
<p>Nichtsdestotrotz ist dieser kleine Workshop ein guter Einstieg in die Welt der Java-Multicore-Programmierung. Es wird anhand kurzer Codebeispiele gezeigt, wie sich &#8230;</p>
<ul>
<li>Threads erzeugen und starten lassen</li>
<li>Threads per Sleep Messages() temporär anhalten lassen</li>
<li>Threads unterbrechen lassen</li>
<li>Threads anhalten lassen, damit sie auf einen anderen Thread warten.</li>
</ul>
<p><span id="more-1372"></span>Ein etwas ausführlicheres Beispiel zeigt dann, wie aus diesen Anweisungen ein sinnvolles Konstrukt entsteht und welche Abhängigkeiten daraus resultieren.</p>
<p>Doch es ist in dem Mini-Workshop natürlich auch vom heiklen Thema Synchronisierung die Rede: Warum es wichtig ist, welche Methoden es gibt und wie sich Daten explizit synchronisieren beziehungsweise für andere sperren lassen.</p>
<p>Daneben finden sich in dem Workshop weitere Aspekte der Parallelprogrammierung in Java wie Dead Locks, Guarded Blocks und das Multithreading auf  höherer Ebene. Dabei wird gezeigt, wie man mithilfe von APIs von der reinen Thread-Ebene auf eine abstraktere Ebene kommt, um dort zu multithreaden.</p>
<p>Und es gibt sogar diverse Buchtipps, die sich mit dem Thema Parallelprogrammierung unter Java beschäftigen. Aber es existieren auch deutsche Fachbücher zu diesem Thema. So hat beispielsweise <a href="http://www.hanser.de/buch.asp?isbn=978-3-446-40714-5&amp;area=Computer" target="_blank">Rainer Oechsle</a> &#8220;Parallele und verteilte Anwendungen in Java&#8221; verfasst (Hanser, ISBN-10: 3446407146, ca. 35 Euro). <a href="http://www-is.informatik.uni-oldenburg.de/~dibo/" target="_blank">Dietrich Boles</a> hat sich ebenfalls damit befasst und herausgekommen ist &#8220;Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell: Programmierung mit Java-Threads&#8221; (Vieweg+Teubner, ISBN-10: 383510229X, ca. 36 Euro).</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/webtipp-parallel-programmieren-in-java/04/2010/&via=sw_devtwits&text=Web-Tipp: Parallel programmieren in Java&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/webtipp-parallel-programmieren-in-java/04/2010/&via=sw_devtwits&text=Web-Tipp: Parallel programmieren in Java&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/webtipp-parallel-programmieren-in-java/04/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 jetzt auf Deutsch verfügbar</title>
		<link>http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/</link>
		<comments>http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:36:24 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1370</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Vor gut zwei Wochen hat Microsoft Visual Studio 2010 <a href="http://twitter.com/SW_DevTwits/status/12056552610" target="_blank">vorgestellt</a>, und heute schon hat Kay Giza <a href="http://www.giza-blog.de/AbSofortKostenloserDownloadFuerAlleVisualStudio2010DeutschSowieNETFramework40Deutsch.aspx#DownloadVS2010NET40ENGMSDN" target="_blank">auf seinem Blog gemeldet</a>, 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.</p>
<ul>
<li>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 <a title="Hier anmelden und VS 2010 samt .NET 4 downloaden" href="https://login.live.com/login.srf?wa=wsignin1.0&amp;rpsnv=11&amp;ct=1272459845&amp;rver=6.0.5276.0&amp;wp=MCMBI&amp;wlcxt=msdn%24msdn%24msdn&amp;wreply=https%3a%2f%2fmsdn.microsoft.com%2fde-de%2fsubscriptions%2fsecuredownloads%2fcc137115.aspx%3fpv%3d18%3a370%3a%3ade%3a&amp;lc=1031&amp;id=254354&amp;cru=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fsubscriptions%2fdefault.aspx" target="_blank">Visual Studio 2010 und .NET 4 downloaden</a>.</li>
</ul>
<ul>
<li>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.</li>
</ul>
<p>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 <a href="http://www.giza-blog.de/default.aspx" target="_blank">Giza-Blogs</a> lohnt sich.</p>
<p><strong><em>Ach ja:</em></strong> 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 <a title=" Beta-Tester von Parallel Studio werden " href="http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/">hier vorbeischauen</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/&via=sw_devtwits&text=Visual Studio 2010 jetzt auf Deutsch verfügbar&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/&via=sw_devtwits&text=Visual Studio 2010 jetzt auf Deutsch verfügbar&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/visual-studio-2010-jetzt-in-deutsch-verfugbar/04/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Event-Hinweis: Multicore-Konferenz in San Jose</title>
		<link>http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/</link>
		<comments>http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 11:45:52 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1368</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Einer der Hauptsponsoren auf dieser 2-in-1-Veranstaltung ist Wind River, ein Multicore-Spezialist und <a href="http://www.heise.de/newsticker/meldung/Intel-kauft-Embedded-Systems-Spezialisten-Wind-River-220719.html" target="_blank">seit Mitte vergangenen Jahres zu Intel gehörend</a>. 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.</p>
<p>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 &#8220;Applying Multicore to Networking and Telecom&#8221;, &#8220;Resolving Multicore Debug Challenges&#8221;, &#8220;Parallelization and Application Partitioning&#8221;. Also geht es letztlich um das Verteilen, Testen und Implementieren von Multicore-Techniken.</p>
<p>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 <a href="javascript:OpenWindow('http://www.multicore-expo.com/common/session.php?expo_seq=10&amp;track_seq=0&amp;pres_seq=759')" target="_blank">&#8220;Simplifying Multicore&#8221;</a>, <a href="javascript:OpenWindow('https://www.cmpevents.com/ESCw10/a.asp?option=C&amp;V=11&amp;SessID=11039')" target="_blank">&#8220;Software Development: the Key to Multicore Success&#8221;</a> und <a href="javascript:OpenWindow('https://www.cmpevents.com/ESCw10/a.asp?option=C&amp;V=11&amp;SessID=10970')" target="_blank">&#8220;Community Creation for Embedded Multicore Processors &amp; Applications&#8221;</a>. Es stehen aber auch Dinge wie die mögliche <a href="javascript:OpenSession('/common/session.php?expo_seq=10&amp;track_seq=127&amp;pres_seq=745')" target="_blank">Parallelprogrammierung für Atom-Prozessoren</a>, <a href="javascript:OpenSession('/common/session.php?expo_seq=10&amp;track_seq=136&amp;pres_seq=684')" target="_blank">Multicore und Cloud Computing</a> und <a href="javascript:OpenSession('/common/session.php?expo_seq=10&amp;track_seq=142&amp;pres_seq=783')" target="_blank">virtualisierte Multicore-Plafttformen</a> auf der Agenda.</p>
<p>Und für alle, die nicht in San Jose dabei sein können, gibt es <a href="http://www.multicore-expo.com" target="_blank">auf der Event-Seite</a> 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.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/&via=sw_devtwits&text=Event-Hinweis: Multicore-Konferenz in San Jose&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/&via=sw_devtwits&text=Event-Hinweis: Multicore-Konferenz in San Jose&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/event-hinweis-multicore-konferenz-in-san-jose/04/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multicore-Guide, Teil 2 ist verfügbar</title>
		<link>http://www.software-dev-blog.de/multicore-guide-teil-2-ist-verfugbar/04/2010/</link>
		<comments>http://www.software-dev-blog.de/multicore-guide-teil-2-ist-verfugbar/04/2010/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 13:09:05 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Referenz]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1365</guid>
		<description><![CDATA[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 &#8220;Software Dispatch&#8221; 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: [...]]]></description>
			<content:encoded><![CDATA[<p>Mitte März hatte ich <a href="http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/">über eine ausführliche Sammlung gebloggt</a>, in der es sehr ausführlich um das Thema Multicore-Programmierung geht. Und jetzt habe ich dazu passend eine E-Mail des Intel-Service &#8220;Software Dispatch&#8221; 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:</p>
<ul>
<li>das richtige Speicher-Management beim Threaden von Anwendungen</li>
</ul>
<p>und</p>
<ul>
<li>der richtige Einsatz der bestehenden Intel-Tools wie <a title="Intel Integrated Performance Primitives" href="http://www.software-dev-blog.de/parallel-bibliotheken-helfen-bei-der-software-entwicklung/02/2009/">Integrated Performance Primitives</a> und <a title="Parallel Inspector" href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Parallel Inspector</a>, <a title="Parallel Amplifier" href="http://www.software-dev-blog.de/isc’09-intel-parallel-amplifier-im-detail/04/2009/">Parallel Amplifier</a> und <a title="Parallel Composer" href="http://www.software-dev-blog.de/serie-mit-parallel-studio-anwendungen-multithreaden/02/2009/">Parallel Composer</a>.</li>
</ul>
<p>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.</p>
<p>Allerdings hat Intel vor den Download dieser digitalen Broschüre <a href="http://softwaredispatch.intel.com/m/p/int/isd/source_dreg.asp?email=" target="_blank">eine kleine Registrierung</a> 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 &#8220;Intel Software Dispatch&#8221; anklicken. Viel Spaß beim Lesen!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-guide-teil-2-ist-verfugbar/04/2010/&via=sw_devtwits&text=Multicore-Guide, Teil 2 ist verfügbar&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-guide-teil-2-ist-verfugbar/04/2010/&via=sw_devtwits&text=Multicore-Guide, Teil 2 ist verfügbar&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/multicore-guide-teil-2-ist-verfugbar/04/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beta-Tester von Parallel Studio werden</title>
		<link>http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/</link>
		<comments>http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 15:02:44 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Betatest]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1360</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Vor gut einer Woche war es also soweit: Microsoft <a href="http://twitter.com/SW_DevTwits/status/12056552610" target="_blank">stellte mit einigem Brimborium</a> und Livecast sein lang ersehntes Entwicklertool <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Visual Studio 2010 inklusive .NET 4</a> 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.</p>
<p>Nun, um an der Gestaltung der für Visual Studio 2010 optimierten Version von Parallel Studio teilzunehmen, könnt ihr euch für das <a href="http://software.intel.com/en-us/articles/intel-parallel-studio-microsoft-visual-studio-2010-support/" target="_blank">zugehörige Beta-Programm registrieren</a>. 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 &#8211; oder auch nicht.</p>
<p>Doch was werden Software-Entwickler von der Kombination Parallel Studio/Visual Studio 2010 alles haben? Dazu gehören folgende Dinge:</p>
<ul>
<li>Eine äußerst leistungsstarke Speicher- und Thread-Analyse, die sowohl parallelen als auch sequenziellen Quellcode nach möglichen Flaschenhälsen und Fehlern untersucht.</li>
</ul>
<ul>
<li>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.</li>
</ul>
<ul>
<li>Die Multithread-Bibliotheken der <a href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel Threading Building Blocks</a> sind voll kompatibel zur <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Parallel Pattern Library</a>, die einen wichtigen Teil des .NET-4-Frameworks ausmacht, wenn es um die Parallelisierung von Anwendungen geht.</li>
</ul>
<ul>
<li>Aber auch die <a href="http://www.software-dev-blog.de/parallel-bibliotheken-helfen-bei-der-software-entwicklung/02/2009/">Intel Integrated Performance Primitives</a> (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.</li>
</ul>
<p>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 &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/&via=sw_devtwits&text=Beta-Tester von Parallel Studio werden&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/&via=sw_devtwits&text=Beta-Tester von Parallel Studio werden&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/beta-tester-von-parallel-studio-werden/04/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazit: Intel Software-Konferenz 2010</title>
		<link>http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/</link>
		<comments>http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 13:07:14 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1358</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>James Reinders in seiner Funktion als Chef-Entwickler bei Intel <a href="http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/" target="_self">erzählte in seinen Vorträgen</a> 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: &#8220;A fool with a tool is still a fool!&#8221;). 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ß.</p>
<p>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.</p>
<p>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 <a href="http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/" target="_blank">Intel Concurrent Collections</a> oder <a href="http://software.intel.com/en-us/articles/cluster-openmp-for-intel-compilers/" target="_blank">Intel Cluster OpenMP</a> zeigen stets neue Wege auf, wie Software-Entwickler ihre Produkte noch effizienter und eleganter in den Markt bringen können.</p>
<p>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 &#8230;</p>
<p><strong>Ach ja:</strong> Für die <a href="http://www.software-dev-blog.de/tag/netbook/">mobilen Entwickler</a> 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.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/&via=sw_devtwits&text=Fazit: Intel Software-Konferenz 2010&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/&via=sw_devtwits&text=Fazit: Intel Software-Konferenz 2010&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/fazit-intel-software-konferenz-2010/04/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intel Software-Konferenz 2010 hat begonnen</title>
		<link>http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/</link>
		<comments>http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 11:50:42 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[ISC10]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1356</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Vorige Woche hatte ich es ja <a title="Intel Software-Konferenz 2010: Parallel und mobil" href="http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/" target="_self">bereits angekündigt</a>, heute ist es tatsächlich soweit: Im offensichtlich verregneten <a href="http://www.software-dev-blog.de/tag/mwc2010/">Barcelona</a> scharrt Intel <a href="http://www.software-dev-blog.de/onsite-blogging-intel-software-conference-2009/04/2009/">wie jedes Jahr</a> 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 <a href="http://softtalkblog.wordpress.com/" target="_blank">SoftTalk-Blogs</a> sind auf der Konferenz und werden ausführlich darüber berichten. Und hier erfahrt ihr alles Wissenswerte über das Intel-Event in komprimierter Form.</p>
<p>Wie sich das auf solchen Veranstaltungen gehört, gebührt das erste Wort dem Gastgeber, und das ist nun mal <a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">Ober-Parallel-Guru James Reinders</a>, der gleich allen Anwesenden die Schuld für die Notwendigkeit der Parallelprogrammierung gab: &#8220;We are all guilty! We love data!&#8221; 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 <a href="http://www.software-dev-blog.de/programmiermethoden-daten-und-aufgabenparallelitat/12/2008/">Daten möglichst parallel verarbeitet</a> werden sollten. Hierfür benötigt man aber nicht nur schnelle Rechner und leistungsfähige Infrastrukturen, sondern auch <a href="http://www.software-dev-blog.de/exasolution-ermoglicht-datenanalysen-in-quasi-echtzeit/07/2009/">hochoptimierte Anwendungen</a>.</p>
<p><a href="http://softtalkblog.wordpress.com/2010/04/13/intel-software-conference-2010-our-obsession-with-data-is-driving-parallelism/" target="_blank">&gt;&gt; Den Rest des Originalbeitrags lesen &#8230;</a></p>
<p>Im zweiten Teil seines einleitenden Vortrags wurde James ein gutes Stück konkreter: Es ging im einzelnen um <a href="http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/">Parallel Studio</a>, <a href="http://www.software-dev-blog.de/cilk-parallele-programmierung-mit-intelligenten-ansatzen/08/2009/">Cilk</a>, <a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">Ct</a> und daten-optimierte <a title="Optimierte Compiler helfen beim Parallelisieren" href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel-Compiler</a>. Zu Parallel Studio hat er wohl nur so viel verraten, dass die nächste Version der Parallelisierungssuite für das <a href="http://twitter.com/SW_DevTwits/statuses/12056552610" target="_blank">gestern vorgestellte Visual Studio 2010</a> optimiert sein wird.</p>
<p>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.</p>
<p>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.</p>
<p><a title="Intel Software Conference 2010: Intel software roadmap for 2010" href="http://softtalkblog.wordpress.com/2010/04/13/intel-software-conference-2010-intel-software-roadmap-for-2010/" target="_blank">&gt;&gt; Den Rest des Originalbeitrags lesen &#8230;</a></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/&via=sw_devtwits&text=Intel Software-Konferenz 2010 hat begonnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/&via=sw_devtwits&text=Intel Software-Konferenz 2010 hat begonnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-software-konferenz-2010-hat-begonnen/04/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Software-Konferenz 2010: Parallel und mobil</title>
		<link>http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/</link>
		<comments>http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:00:37 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1352</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.software-dev-blog.de/onsite-blogging-intel-software-conference-2009/04/2009/">Im vorigen Jahr </a>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.</p>
<p>Lag der Schwerpunkt 2009 auf der Parallelprogrammierung (es stand ja das Intel Parallel Studio kurz vor der <a href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">Veröffentlichung</a>), beschäftigt sich die iSTEP in diesem Jahr mit einer ganzen Reihe interessanter Themen. Dazu gehört natürlich eine genauere Betrachtung von <a href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">Visual Studio 2010</a> (was ja bald auf den Markt kommt). Diesen Part wird unser guter Bekannter <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Steve Teixeira</a> übernehmen, der zu den Vätern von VS 2010 gehört.</p>
<p>Aber auch über die generellen Probleme der Parallelprogrammierung wird zu reden sein. So verschafft David Norfolk von <a href="http://www.bloorresearch.com/" target="_blank">Bloor Research</a> allen Anwesenden einen guten Überblick zum Thema &#8220;Mainstream Market&#8221; und wird hoffentlich die Frage beantworten, wohin die Reise geht und was Software-Entwickler in Sachen Multicore-Programmierung künftig beachten sollten.</p>
<p>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 <a href="http://www.paris-26-gigapixels.com/index-en.html" target="_blank">rundum abzubilden</a>. Was hierfür alles notwendig ist und war, wird Alexendre eigens auf der iSTEP erzählen.</p>
<p><span id="more-1352"></span>Nach dieser eher konsumer-lastigen Einlage wird es dann richtig ernst: Hugo R. Falter von der <a href="http://www.parastation.com/" target="_blank">ParTec Cluster Competence Center GmbH</a> wird darüber berichten, wie Intel, das Jülicher Supercomputing Center und seine Firma gemeinsam einen Supercomputer mit allem Schnipp und Schnapp <a href="http://www.parastation.com/ccc2.php?lang=de&amp;page=JuRoPA" target="_blank">konzipiert, gebaut und zum Laufen</a> gebracht haben. Das ist sicherlich nichts für Weicheier! Und mit Christian Terboven von der Uni Aachen geht es dann ganz ähnlich weiter: In seinem Vortrag geht es um das Thema <a href="http://software.intel.com/en-us/cluster-ready/" target="_blank">High-Performance Computing</a> und darum, welche <a href="http://www.software-dev-blog.de/tag/tool/" target="_self">Tools</a> notwendig sind, um ein Höchstmaß an Parallelität zu erreichen. Bestimmt auch sehr interessant, aber ohne Vorwissen steigt man wohl in Minute 3 aus.</p>
<p>Der dritte Abschnitt der Intel-Konference beschäftigt sich dann mit ganz anderen, aber nicht minder interessanten Dingen: Wohin geht es mit dem mobilen Markt? Uli Dumschat von Intel wird in seinem Vortrag intensiv auf die Frage eingehen, wie sich mit der Entwicklung neuer Software-Anwendungen für <a href="http://www.software-dev-blog.de/tag/netbook/">Netbook</a>, <a href="http://www.it-techblog.de/duell-zweiter-teil-htc-desire-vs-iphone/04/2010/" target="_blank">Smartphone</a> und Co. Geld verdienen lässt und was Intel damit zu tun hat. Ich verrate sicherlich nicht zu viel, wenn ich mutmaße, das Uli eine Menge über <a href="http://appdeveloper.intel.com/en-us/" target="_blank">IADP</a>, <a href="http://www.software-dev-blog.de/netbook-appstore-von-intel-goes-europe/03/2010/">AppUp</a> und <a href="http://www.software-dev-blog.de/intel-nokia-linux-meego-nimmt-fahrt-auf/04/2010/">MeeGo</a> erzählen wird.</p>
<p>Als abschließender Redner wird dann <a href="http://www.cassidy-publications.com/" target="_blank">Philip Ling</a> in eine ähnliche Richtung gehen, wenngleich viel technischer. Sein Fokus liegt auf <a href="http://www.intel.com/cd/products/services/emea/deu/embedded/389870.htm" target="_blank">Embedded Systemen</a> und wo er Chancen und Potenziale in diesem Markt sieht. Es geht also im In-Car-Entertainment und ähnliche Dinge &#8211; Philip wird letztendlich also auch über Intel Atom, MeeGo und Co reden.</p>
<p>Ach ja: Die Intel iSTEP 2010 Software Conference findet dieses Jahr am 13. April im wunderschönen <a href="http://www.software-dev-blog.de/tag/mwc2010/">Barcelona</a> statt. Ich selbst werde zwar nicht vor Ort sein (mich zieht es auf die <a href="http://www.internetworld-messe.de/" target="_blank">Internet World</a> im genauso schönen München), aber die britischen KollegInnen des <a href="http://softtalkblog.wordpress.com/" target="_blank">SoftTalk-Blog</a> werden auf der Konferenz zugegen sein und in Bild, Wort und Ton berichten. Da werde ich es mir natürlich nicht nehmen lassen, die interessantesten Erkenntnisse hier zu bloggen. So, stay tuned &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/&via=sw_devtwits&text= Intel Software-Konferenz 2010: Parallel und mobil&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/&via=sw_devtwits&text= Intel Software-Konferenz 2010: Parallel und mobil&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-software-konferenz-2010-parallel-und-mobil/04/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dotnet Cologne 2010 nimmt Konturen an</title>
		<link>http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/</link>
		<comments>http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 11:10:40 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1347</guid>
		<description><![CDATA[Wer sich für die Themen .NET, C#, Parallelprogrammierung und andere Dinge interessiert, sollte jetzt unbedingt weiterlesen (allen anderen empfehle ich diese Lektüre). Denn am 28. Mai 2010 findet in Köln die zweite Community-Konferenz Dotnet Cologne 2010 statt. Das Gute daran: Das Programm dieser Veranstaltung steht zu weiten Teilen schon. Und es sind viele interessante Vorträge [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sich für die Themen <a href="http://www.software-dev-blog.de/tag/dotnet/">.NET</a>, C#, <a href="http://www.software-dev-blog.de/tag/openmp/">Parallelprogrammierung</a> und andere Dinge interessiert, sollte jetzt unbedingt weiterlesen (allen anderen empfehle ich <a href="http://www.it-techblog.de/take-3-iphone-developer-conference-2010-kommt/03/2010/" target="_blank">diese Lektüre</a>). Denn am 28. Mai 2010 findet in Köln die zweite Community-Konferenz <a href="http://www.dotnet-cologne.de/MainPage.ashx" target="_blank">Dotnet Cologne 2010</a> statt. Das Gute daran: <a href="http://www.dotnet-cologne.de/Agenda.ashx" target="_blank">Das Programm dieser Veranstaltung</a> steht zu weiten Teilen schon. Und es sind viele interessante Vorträge dabei. Kleiner Auszug gefällig?</p>
<ul>
<li>Funktionale Programmierung in C# 3.0 (<a href="http://www.dotnet-cologne.de/Sprecher.ashx" target="_blank">Oliver Sturm</a>)</li>
<li>Anpassbare Anwendungen mit Windows Workflow 4 (Dariusz Paris von Microsoft)</li>
<li><a href="http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/">Intel Parallel Studio</a> mit .NET und Visual Studio (Mario Deilmann von Intel)</li>
<li><a href="http://www.software-dev-blog.de/tag/debuggen/">Debugging</a> in Deep mit VS2010 und WinDbg (Gregor Biswanger)</li>
<li>Parallelprogrammierung mit der <a href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">TPL</a> (<a href="http://www.software-dev-blog.de/priopowerday-parallele-programmierung-unter-net-35/04/2009/">Bernd Marquardt</a>)</li>
<li>und viele andere</li>
</ul>
<p>Das ist nur das vorläufige Programm. Der ganze Tag besteht aus vier parallelen Teilen, in denen insgesamt 24 Vorträge plus Auftaktrede und fünf Lunch-Sessions stattfinden sollen. Da könnt ihr euch auf einiges gefasst machen.</p>
<p>Und damit der Tag nicht nur aus Arbeit besteht, beginnt um etwa halb sieben der unterhaltsame Teil der Dotnet Cologne mit Verlosung und anschließender Grillparty (hoffentlich passt das Wetter). Müst ihr da nicht dabei sein? <a title="Hier für die dotnet Cologne 2010 anmelden" href="http://www.dotnet-cologne.de/Anmeldung.ashx" target="_blank">Doch, ich finde schon</a>. Ihr solltet euch allerdings beeilen, denn so richtig viele Plätze gibt es nicht mehr (es ist von etwa 50 die Rede). Also, wir sehen uns, oder?!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/&via=sw_devtwits&text=Dotnet Cologne 2010 nimmt Konturen an&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/&via=sw_devtwits&text=Dotnet Cologne 2010 nimmt Konturen an&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/dotnet-cologne-2010-nimmt-konturen-an/03/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein-Tages-Multicore-Konferenz im Juni in München</title>
		<link>http://www.software-dev-blog.de/ein-tages-multicore-konferenz-im-juni-in-munchen/03/2010/</link>
		<comments>http://www.software-dev-blog.de/ein-tages-multicore-konferenz-im-juni-in-munchen/03/2010/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 14:42:09 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1340</guid>
		<description><![CDATA[In ziemlich genau drei Monaten findet er wieder statt, der dotnetpro-powerday zum Thema Multicore-Programmierung. Genauer gesagt: Am 23. Juni gibt es im Holiday Inn Munich City Center einen Tag lang geballte Informationen in Sachen Multithreading &#38; Co. Wie bereits im Vorjahr (als die Veranstaltung noch prio.powerday hieß) ist einer der Hauptreferenten Bernd Marquardt, der in [...]]]></description>
			<content:encoded><![CDATA[<p>In ziemlich genau drei Monaten findet er wieder statt, der <a href="http://www.dotnetpro-powerday.de/Home">dotnetpro-powerday</a> zum Thema Multicore-Programmierung. Genauer gesagt: Am 23. Juni gibt es im Holiday Inn Munich City Center einen Tag lang geballte Informationen in Sachen Multithreading &amp; Co. Wie bereits <a href="http://www.software-dev-blog.de/priopowerday-multicore-programmierung-unter-net/04/2009/" target="_self">im Vorjahr</a> (als die Veranstaltung noch prio.powerday hieß) ist einer der <a href="http://www.dotnetpro-powerday.de/Speaker2/Referenten-Multicore-Programmierung" target="_blank">Hauptreferenten</a> Bernd Marquardt, der in seiner gewohnt kompetenten Art über die Multicore-Programmierung plaudern wird.</p>
<p>Leider fehlt sein Alter Ego, <a href="http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/">Ralf Westphal</a>, dafür wird ihm aber ein erfahrener Software-Spezialist zur Seite gestellt, nämlich Volker Jungbluth, der seit 1988 der IT-Branche angehört und sogar sein eigenes ERP-System besitzt. Beide Referenten werden in insgesamt vier Sessions ihr geballtes Wissen preisgeben und über folgende Themen sprechen:</p>
<ul>
<li>Parallelisierung von nativem Code</li>
<li>Parallelisierung mit Managed Code</li>
<li>Parallelisierung im OLTP-Alltag</li>
<li>Parallelisierung von Berechnungen mit <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a></li>
</ul>
<p>Die Vorträge sind jeweils 75 Minuten lang und gehen fundiert auf die einzelnen Themen ein (eine Themenübersicht gibt es <a href="http://www.dotnetpro-powerday.de/content/download/538/2771/file/dotnetpro.powerday-22.-23.Juni-2010-München.pdf">in diesem Programmflyer</a>). Worauf wartet ihr also noch? Da heißt es sich schnell <a href="http://www.dotnetpro-powerday.de/Anmeldung/Anmeldung-dotnetpro.powerdays-vom-22.06.-23.06.2010" target="_blank">anmelden</a>, denn der frühe Vogel spart bis zum 11. Mai 100 Euro, zahlt also bis dahin nur 399 Euro, nach diesem Stichtag sind es 499 Euro.</p>
<p>Ach ja: Die <a href="http://www.software-dev-blog.de/priopowerday-multicore-programmierung-unter-net/04/2009/">Keynote-Session</a> wird wohl von Intel gehalten. Da gibt es bestimmt auch wieder eine ganze Menge zu hören &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ein-tages-multicore-konferenz-im-juni-in-munchen/03/2010/&via=sw_devtwits&text=Ein-Tages-Multicore-Konferenz im Juni in München&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ein-tages-multicore-konferenz-im-juni-in-munchen/03/2010/&via=sw_devtwits&text=Ein-Tages-Multicore-Konferenz im Juni in München&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/ein-tages-multicore-konferenz-im-juni-in-munchen/03/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aus seriell mach parallel: Intel Parallel Advisor Lite</title>
		<link>http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/</link>
		<comments>http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 12:38:50 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1336</guid>
		<description><![CDATA[Kollege Preiss von Intel hat mal wieder fleißig geschrieben, und rausgekommen ist ein gedruckter Beitrag in der Elektronik Industrie, den es aber natürlich auch als PDF zum kostenlosen Download gibt. Thema des Artikels: Intel Parallel Advisor Lite, ein ziemlich mächtiges Tool zum Konvertieren von seriellem in parallelen Code. Der Advisor Lite ist übrigens Teil der [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Kollege Preiss</a> von Intel hat <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">mal</a> <a href="http://www.software-dev-blog.de/surftipp-parallel-studio-artikel-kostenlos-downloaden/06/2009/">wieder</a> fleißig geschrieben, und rausgekommen ist ein gedruckter Beitrag in der <em>Elektronik Industrie</em>, den es aber natürlich auch <a href="http://www.elektronik-industrie.de/ae/article/42006-Consulting-Entwicklungswerkzeug+für+parallele+Anwendungen?PHPSESSID=34d037602581dd4e999a6517b3f93fff">als PDF zum kostenlosen Download</a> gibt. Thema des Artikels: <a href="http://www.software-dev-blog.de/parallel-studio-das-leistet-der-parallel-advisor-lite/05/2009/">Intel Parallel Advisor Lite</a>, ein ziemlich mächtiges Tool zum Konvertieren von seriellem in parallelen Code. Der Advisor Lite ist übrigens Teil der Intel-Suite <a href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">Parallel Studio</a>, ein Plug-In für Visual Studio 2005 und 2008.</p>
<p>In dem ausführlichen Beitrag wird gezeigt, wie das Intel-Tool dabei helfen kann, serielle Codeabschnitte zu parallelisieren. Ach ja: Das betrifft ausschließlich C++-Programmierer. Toll an Advisor Lite ist sein schrittweises Herantasten an den möglichen Multithread-Code: Anstatt alles auf einmal umzustellen, erlaubt das Tool ein sukzessives Optimieren des seriellen Quellcodes. Hierzu setzt es vorhandene Debugger-Tools ein, mit denen der parallelisierte Quellcode sofort getestet und mögliche Fehler identifiziert und eliminiert werden können. Dazu zählen unter anderem Data-Sharing-Probleme, die sich beim Synchronisieren von Threads ergeben können.</p>
<p>Interessant an Edmunds Artikel ist übrigens die Vorgehensweise des Advisor Lite:</p>
<ol>
<li>Leistungsengpässe (Hotspots) identifizieren</li>
<li>Annotationen in den seriellen Quellcode einfügen (eine Art von C-/C++-Makros)</li>
<li>die  annotierten Quellcodes verifizieren</li>
<li>parallele Datenzugriffe untersuchen</li>
<li>Datenkonflikte auflösen, die unter Schritt 4 aufgespürt wurden</li>
<li>Quellcodeänderungen testen</li>
</ol>
<p>Ach ja: Wer noch nicht wissen sollte, was Annotationen sind: Sogar hierzu hält Edmund die passenden Antworten parat. Also alles in allem eine wirklich gelungene Abhandlung in Sachen Parallel Advisor Lite. <a title="Hier gibt's den Artikel als PDF" href="http://www.elektronik-industrie.de/ae/article/42006-Consulting-Entwicklungswerkzeug+f%C3%BCr+parallele+Anwendungen?PHPSESSID=34d037602581dd4e999a6517b3f93fff" target="_blank">Und, worauf wartet ihr noch?</a></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/&via=sw_devtwits&text=Aus seriell mach parallel: Intel Parallel Advisor Lite&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/&via=sw_devtwits&text=Aus seriell mach parallel: Intel Parallel Advisor Lite&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/aus-seriell-mach-parallel-intel-parallel-advisor-lite/03/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ausführliche Übersicht zur Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/</link>
		<comments>http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 09:14:28 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Referenz]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1333</guid>
		<description><![CDATA[Zugegeben, es ist auf diesem Blog ein wenig still geworden rund um das Thema Multicore-Programmierung. Das liegt daran, dass ich mich mit dem Thema hier schon ausführlich beschäftigt habe und sich die Themen grade ein wenig verschieben. Mit der Ankündigung des Intel AppUp Center während des letztjährigen Intel Developer Forum rückte das Netbook mit all [...]]]></description>
			<content:encoded><![CDATA[<p>Zugegeben, es ist auf diesem Blog ein wenig still geworden rund um das Thema <a href="http://www.software-dev-blog.de/category/multicore/">Multicore-Programmierung</a>. Das liegt daran, dass ich mich mit dem Thema hier schon ausführlich beschäftigt habe und sich die Themen grade ein wenig verschieben. Mit der Ankündigung des <a href="http://www.intelappup.com" target="_blank">Intel AppUp Center</a> während des letztjährigen <a href="http://www.software-dev-blog.de/tag/idf09/">Intel Developer Forum</a> rückte das Netbook mit all seinen Facetten in den Mittelpunkt.</p>
<p>Das wird sicherlich auch noch ein wenig so bleiben, was aber nicht bedeutet, dass auf dem Software Dev Blog die parallele Verarbeitung von Programmcode keinen Platz mehr findet. Um dies unmittelbar zu belegen, möchte ich heute auf eine sehr ausführliche Übersicht aufmerksam machen. &#8220;Ultimativ&#8221; klingt immer ein wenig anbiedernd und angeberisch, aber in diesem Fall kommt der Begriff ziemlich nah an das heran, was die amerikanischen Kollegen unter dem Titel <a title="Intel Guide for Developing Multithreaded Applications" href="http://software.intel.com/en-us/articles/intel-guide-for-developing-multithreaded-applications/" target="_blank">&#8220;Intel Guide for Developing Multithreaded Applications&#8221;</a> zusammengetragen haben.</p>
<p>Diese wirklich umfangreiche Sammlung betrachtet sämtliche Aspekte der Parallelprogrammierung. Ob das das <a href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">Multithreaden</a> von Anwendungen im Allgemeinen ist oder spezielle Themen wie die Daten- und Ablaufsynchronisation oder das Speichermanagement &#8211; so detailliert konntet ihr euch dem Thema wohl selten widmen. Ok, das Ganze findet zwar auf Englisch statt, aber das sollte doch keine echte Hürde darstellen.</p>
<p>Ach ja, natürlich darf eine genaue Beschreibung sämtlicher <a href="http://www.software-dev-blog.de/tag/tool/">Intel-Tools</a> nicht fehlen, wenn es um das Multithreaden von Anwendungen geht. Also so Themen wie <a href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel Compiler</a>, <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Parallel Inspector</a>, <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a>, Parallel Amplifier und viele mehr. Na, dann kann ich euch nur noch &#8220;Gut Stöber&#8221; wünschen und dass ihr möglichst viele Antworten auf eure parallelen Fragen findet. Die gibt es natürlich auch hier auf dem Software Dev Blog. Probiert doch einfach mal die Suchfunktion aus!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/&via=sw_devtwits&text=Ausführliche Übersicht zur Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/&via=sw_devtwits&text=Ausführliche Übersicht zur Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/ausfuhrliche-ubersicht-zur-multicore-programmierung/03/2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiplayergames twittertauglich machen</title>
		<link>http://www.software-dev-blog.de/multiplayer-games-twitter-tauglich-machen/01/2010/</link>
		<comments>http://www.software-dev-blog.de/multiplayer-games-twitter-tauglich-machen/01/2010/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 13:53:10 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1293</guid>
		<description><![CDATA[Dass Multiplayergames eine riesige Anziehungskraft ausüben, ist ja nichts Neues. Es ist schließlich viel aufregender und spannender, sich mit richtigen &#8220;Gegnern&#8221; zu messen als nur mit dem doofen Computer. Wie aber kommt man an adäquate Gegen- oder Mitspieler heran? Nun, hierzu kann man entweder einer der existierenden Communities beitreten (die aber meist recht übersichtlich sind) [...]]]></description>
			<content:encoded><![CDATA[<p>Dass Multiplayergames eine riesige Anziehungskraft ausüben, ist ja nichts Neues. Es ist schließlich viel aufregender und spannender, sich mit richtigen &#8220;Gegnern&#8221; zu messen als nur mit dem doofen Computer. Wie aber kommt man an adäquate Gegen- oder Mitspieler heran? Nun, hierzu kann man entweder einer der existierenden Communities beitreten (die aber meist recht übersichtlich sind) oder man macht sich Social-Media-Dienste wie Twitter oder Facebook zu Nutze.</p>
<p>Nun ist es aber leider so, dass kaum ein Spiel den Zugriff auf diese Dienste implementiert hat, was jedoch mit ein paar Codezeilen an der richtigen Stelle im Quellcode des Spiels problemlos zu machen ist. Sagt zumindest Mitchell Lum von Intel, der <a href="http://software.intel.com/en-us/articles/unleash-the-power-of-social-media/" target="_blank">in seinem Blogpost</a> anhand eines C#-Beispiels zeigt, wie man aus dem laufenden Spiel heraus twittern kann. Das ist übrigens nicht nur für Multiplayer ein echter Mehrwert, sondern auch für Spieleentwickler, die auf diesem Weg den Bekanntheitsgrad ihrer Titel mithilfe von Twitter erhöhen können.</p>
<p>Dann schaut euch <a href="http://software.intel.com/en-us/articles/unleash-the-power-of-social-media/" target="_blank">den Blogbeitrag samt Codebeispiel</a> einfach mal in Ruhe an.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multiplayer-games-twitter-tauglich-machen/01/2010/&via=sw_devtwits&text=Multiplayergames twittertauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multiplayer-games-twitter-tauglich-machen/01/2010/&via=sw_devtwits&text=Multiplayergames twittertauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/multiplayer-games-twitter-tauglich-machen/01/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Antiviren-Software von Avast ist multicore-tauglich</title>
		<link>http://www.software-dev-blog.de/antivirensoftware-von-avast-ist-multicore-tauglich/01/2010/</link>
		<comments>http://www.software-dev-blog.de/antivirensoftware-von-avast-ist-multicore-tauglich/01/2010/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 10:15:49 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1292</guid>
		<description><![CDATA[Gerade habe ich auf Zdnet.de eine News entdeckt, die von der sofortigen Verfügbarkeit der kostenlosen Antiviren-Software Avast Free Antivirus 5.0 berichtet. Neben einer komplett neu gestalteten Bedieneroberfläche für mehr Komfort hat sich laut der Avast-Entwickler die Scan-Engine deutlich verbessert, was gemäß interner Benchmarks die Verarbeitungsgeschwindigkeit um bis zu 80 Prozent schneller machen soll. Daneben glänzt [...]]]></description>
			<content:encoded><![CDATA[<p>Gerade habe ich <a href="http://www.zdnet.de/news/wirtschaft_sicherheit_security_avast_free_antivirus_5_0_ist_fertig_story-39001024-41526039-1.htm" target="_blank">auf Zdnet.de eine News entdeckt</a>, die von der sofortigen Verfügbarkeit der kostenlosen Antiviren-Software <a href="http://www.zdnet.de/antivirenprogramme_fuer_windows_avast_free_antivirus_download-39002345-7069-1.htm" target="_blank">Avast Free Antivirus 5.0</a> berichtet. Neben einer komplett neu gestalteten Bedieneroberfläche für mehr Komfort hat sich laut der Avast-Entwickler die Scan-Engine deutlich verbessert, was gemäß interner Benchmarks die Verarbeitungsgeschwindigkeit um bis zu 80 Prozent schneller machen soll. Daneben glänzt die Software mit Echtzeitüberprüfungen des Dateisystems sowie des gesamten E-Mail-, Internet- und Netzwerkdatenverkehrs.</p>
<p>So viel Verbesserung in Sachen Performance lässt sich unter anderem mit Multicore-Optimierungen seitens der Avast-Entwickler bewerkstelligen. Damit erfolgt beispielsweise der Echtzeit-Scan auf einem Prozessorkern, während die GUI von einem zweiten Kern ausgeführt wird, was die Software insgesamt performanter macht.</p>
<p>Was die Leute bei Avast alles dafür getan haben, um ihre Software multicore-tauglich zu machen, werde ich versuchen herauszufinden. Sobald ich die passenden Antworten habe, werden sie natürlich hier veröffentlicht.</p>
<p><em><strong>PS:</strong></em> Falls ihr Avast Free Antivirus installieren wollt, solltet ihr vorher unbedingt die bereits installierte Antiviren-Software deinstallieren. Ansonsten legt ihr euch möglicherweise den PC selbst lahm.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/antivirensoftware-von-avast-ist-multicore-tauglich/01/2010/&via=sw_devtwits&text=Antiviren-Software von Avast ist multicore-tauglich&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/antivirensoftware-von-avast-ist-multicore-tauglich/01/2010/&via=sw_devtwits&text=Antiviren-Software von Avast ist multicore-tauglich&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/antivirensoftware-von-avast-ist-multicore-tauglich/01/2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Das war das Software-Dev-Blog-Jahr 2009 (Teil 3)</title>
		<link>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-3/12/2009/</link>
		<comments>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-3/12/2009/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 23:01:21 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Inside]]></category>
		<category><![CDATA[Rückblick]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1280</guid>
		<description><![CDATA[Nach dem ersten und zweiten Teil der Software-Dev-Blog-Rückschau 2009 folgt heute der dritte Blogbeitrag, der die Monate September bis Dezember betrachtet. Was für den August galt, traf auf den September im selben Maße zu: War ich im Vormonat auf der Games Developer Conference, so verschlug mich der neunte Monat des Jahres in das wundervolle San [...]]]></description>
			<content:encoded><![CDATA[<p>Nach dem <a href="http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/">ersten</a> und <a href="http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/">zweiten Teil</a> der Software-Dev-Blog-Rückschau 2009 folgt heute der dritte Blogbeitrag, der die Monate September bis Dezember betrachtet.</p>
<p>Was für den August galt, traf auf den <em><strong>September</strong></em> im selben Maße zu: War ich im Vormonat auf der Games Developer Conference, so verschlug mich der neunte Monat des Jahres in das wundervolle San Francisco, wo ich eine ganze Woche auf Intel-Kosten verweilen durfte. Es ging natürlich vorwiegend um die Intel-eigene <a href="http://www.software-dev-blog.de/idf09-exklusive-news-und-geballte-infos-aus-erster-hand/09/2009/">Entwicklerkonferenz IDF</a>, wo ich mich mit zwei wesentlichen Themenschwerpunkten beschäftigte: <a href="http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/">Multicore</a> und <a href="http://www.software-dev-blog.de/idf09-techsessions-zu-atom-cpu-moblin-und-mehr/09/2009/">Netbooks</a>. So besuchte ich unter anderem die Techsessions <a href="http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/">Software-Tools für skalierende Apps</a>, <a href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">Parallel Computing mit .NET 4 und Visual Studio 2010</a>, <a href="http://www.software-dev-blog.de/idf09-techsession-moblin-technical-overview/09/2009/">Moblin Technical Overview</a>, <a href="http://www.software-dev-blog.de/idf09-techsession-netbook-ecosystem-and-usage-models/09/2009/">Netbook-Ecosysteme und Anwendungsmodelle</a> und sammelte <a href="http://www.software-dev-blog.de/idf09-appstore-fur-nebook-moblin-und-co/09/2009/">erste Informationen</a> zum geplanten <a href="http://www.software-dev-blog.de/idf09-video-infos-rund-um-das-atom-developer-program/09/2009/">Intel App Store</a>.</p>
<p>Der September und die IDF-Berichterstattung deuteten es bereits an: Das Software Dev Blog wird sich neben der Parallelprogrammierung in Zukunft auch mit dem Thema Netbooks, Atom-Prozessor und Co. beschäftigen. Und so verlagerten sich die Blogbeiträge im <em><strong>Oktober</strong></em> mehr und mehr in diese Richtung. So ging es um die Frage, was beim Intel Atom Developer Program <a href="http://www.software-dev-blog.de/atom-developer-program-das-ist-zu-beachten/10/2009/">alles zu beachten ist</a>, wer eigentlich <a href="http://www.software-dev-blog.de/wer-braucht-alles-den-intel-appstore/10/2009/">den App Store braucht</a> und was das <a href="http://www.software-dev-blog.de/preview-das-leistet-das-intel-appstore-sdk/10/2009/">Intel App Store SDK wohl leisten wird</a>. Daneben wartete im Oktober ein weiteres Event auf uns: das <a href="http://www.software-dev-blog.de/mdc09-alle-wichtigen-fakten-auf-einen-blick/10/2009/">mobiledevecamp Munich 2009</a>, das sich an Software-Entwickler mobiler Anwendungen richtete und das in den heiligen Intel-Hallen zu Feldkirchen stattfand. Dort waren rund 80 Leute zugegen (unter anderem <a href="http://www.software-dev-blog.de/wie-linux-entwickler-von-netbooks-und-mids-profitieren/10/2009/">Martin Mohring von der Liunux Foundation</a>) und es war insgesamt eine wirklich gute Veranstaltung. Ansonsten fand der erste <a href="http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/">Intel Blogger Day</a> statt und das Software Dev Blog wurde <a href="http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/">genau ein Jahr alt</a>.</p>
<p>Im <em><strong>November</strong></em> ging es noch mal auf Reisen, dieses Mal nach Berlin auf die <a href="http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/">Microsoft Tech-Ed Europe 2009</a>. Auf dieser Entwickler- und Business-Konferenz trafen sich rund 8.000 Menschen, um sich umfassend über die neuesten Microsoft-Technologien zu informieren. Intel war natürlich auch vor Ort, und so habe ich wieder gemeinsam mit Tom viele schöne Videos nebst den passenden Blogbeiträgen erstellt und verfasst. So haben wir mit <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Steve Teixeira</a> über die Parallelprogrammierung aus Microsoft-Sicht geplaudert, uns von Rami Radi erklären lassen, <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">wie .NET-Entwickler von Multithreading profitieren</a> und haben gelernt, wie die <a href="http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/">Zukunft der Parallelprogrammierung</a> aussehen wird. Aber es gab auch Neues von Intel in Sachen Multicore, und zwar in Form der Cloud-Testumgebung <a href="http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/">Intel Parallel Universe</a>.</p>
<p>Der <em><strong>Dezember</strong></em> stand wieder eher im Zeichen des <a href="http://www.software-dev-blog.de/scott-apeland-verrat-details-zum-intel-app-store/12/2009/">Intel App Store</a> und des zugehörigen <a href="http://www.software-dev-blog.de/reaktionen-auf-das-intel-app-store-developer-kit/12/2009/">Intel Atom Developer Program</a>. Aber es ging auch um <a href="http://www.software-dev-blog.de/die-vier-schichten-der-moblin-linux-distribution/12/2009/">Moblin</a>, um die <a href="http://www.software-dev-blog.de/sieben-schritte-bis-zur-ersten-eigenen-app-im-intel-app-store/12/2009/">sieben Schritte bis zur ersten eigenen App im Intel App Store</a>, um ein <a href="http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/">neues Buch</a> zum Thema Parallelprogrammierung unter .NET und um <a href="http://www.software-dev-blog.de/mit-pine-trail-kommt-noch-mehr-spas-in-die-netbooks/12/2009/">Pine Trail</a>.</p>
<p>Und worauf können wir uns für <em><strong>2010</strong></em> einstellen? Nun, während der CES in Las Vegas wird Intel wohl seinen App Store vorstellen. Ende Januar wird Intel dann auf den M-Days mit eigenen Stand vertreten sein und über das Intel Atom Developer Program und den App Store berichten. Apropos Stand: auf der Mobile World Conference in Barcelona wird Intel ebenfalls vor Ort sein &#8211; und damit auch ich. Ansonsten werden wir viele neue Dinge rund um Netbook-Apps und Co. zu sehen bekommen. Und die Games Developer Conference 2010 in Köln wird uns sicherlich auch wieder erwarten.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-3/12/2009/&via=sw_devtwits&text= Das war das Software-Dev-Blog-Jahr 2009 (Teil 3) &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-3/12/2009/&via=sw_devtwits&text= Das war das Software-Dev-Blog-Jahr 2009 (Teil 3) &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-3/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Das war das Software-Dev-Blog-Jahr 2009 (Teil 2)</title>
		<link>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/</link>
		<comments>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 08:00:07 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Inside]]></category>
		<category><![CDATA[Rückblick]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1278</guid>
		<description><![CDATA[Auf den ersten Teil der Software-Dev-Blog-2009-Trilogie folgt natürlich sofort der zweite, der die Monate Mai bis August umfasst. Der Mai stand ganz im Zeichen der Ankündigungen: So war die Geburtsstunde des deutschsprachigen Intel Onlineshops für den Mittelstand zu vermelden, aber auch die Entwicklersuite Parallel Studio erblickte das Licht der digitalen Welt. Ansonsten war der Mai [...]]]></description>
			<content:encoded><![CDATA[<p>Auf den <a href="http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/">ersten Teil</a> der Software-Dev-Blog-2009-Trilogie folgt natürlich sofort der zweite, der die Monate Mai bis August umfasst.</p>
<p>Der <em><strong>Mai</strong></em> stand ganz im Zeichen der Ankündigungen: So war die Geburtsstunde des deutschsprachigen <a href="http://www.software-dev-blog.de/intel-will-mittelstandischen-softwarehausern-helfen/05/2009/">Intel Onlineshops</a> für den Mittelstand zu vermelden, aber auch die Entwicklersuite <a href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">Parallel Studio</a> erblickte das Licht der digitalen Welt. Ansonsten war der Mai eher ruhig aus Blogsicht. Daher war ein wenig Zeit für <a href="http://www.software-dev-blog.de/workshops-und-tutorials-fur-parallelprogrammierer/05/2009/">Surftipps</a>, für die Vorstellung eines <a href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">Softwaretools für mobile Spieleentwickler</a> und für eine genauere Betrachtung, was der <a href="http://www.software-dev-blog.de/parallel-studio-das-leistet-der-parallel-advisor-lite/05/2009/">Parallel Advisor Lite</a> zu leisten imstande ist.</p>
<p>Was dem Mai an Events beziehungsweise an deren Ankündigungen fehlte, holte der <em><strong>Juni</strong></em> direkt wieder nach. So verwies ich auf die <a href="http://www.software-dev-blog.de/exasol-roadshow-2009-mit-multicore-power/06/2009/">Exasol Roadshow</a>, die es Anfang Juli nach München verschlagen sollte. Aber auch die <a href="http://www.software-dev-blog.de/event-preview-parallel-tech-talk-und-gamecamp-in-munchen/06/2009/">Intel-Microsoft-Techtalks</a> und das <a href="http://www.software-dev-blog.de/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/">GameCamp Munich 2009</a> waren mir <a href="http://www.software-dev-blog.de/event-preview-parallel-tech-talk-und-gamecamp-in-munchen/06/2009/">entsprechende Hinweise</a> wert. Ansonsten kam die Firma <a href="http://www.software-dev-blog.de/maxon-multithreading-darum-ist-cinema-4d-so-performant/06/2009/">Maxon zu Wort</a>, die mir verriet, warum <em>Cinema 4D</em> auf Multicore-Plattformen so leistungsstark ist.</p>
<p>Anfang <em><strong>Juli</strong></em> stattete ich der Intel-Außenstelle Ulm einen <a href="http://www.software-dev-blog.de/intel-ulm-versorgt-den-embedded-markt-mit-tools/07/2009/">Kurzbesuch</a> ab. Was ich von dort mitnahm war vor allem eins: Aus Ulm kommen <a href="http://www.software-dev-blog.de/linux-debugger-fur-c-und-fortran-mit-grafischer-oberflache/07/2009/">grafisch orientierte</a> <a href="http://www.software-dev-blog.de/intel-ulm-und-die-linux-debugger-tools/07/2009/">Linux-Debugger</a>, mit denen sich sequenziell und parallel programmierte Anwendungen sehr komfortabel testen lassen. Bemerkenswert fand ich im Juli aber auch diverse Einsichten: Warum <em><a href="http://www.software-dev-blog.de/colin-mcrae-dirt-2-unterstutzt-directx-11-und-multithreading/07/2009/">Colin McRae DiRT 2</a></em> so geil auf einem Multicore-Rechner aussieht, warum <a href="http://www.software-dev-blog.de/warum-demigod-auch-auf-notebooks-spielbar-ist/07/2009/"><em>Demigod</em> auch auf Notebooks spielbar</a> ist und warum <a href="http://www.software-dev-blog.de/warum-empire-total-war-auf-notebooks-so-gut-lauft/07/2009/"><em>Empire: Total War</em> auf Notebooks gut läuft</a>. Daneben gab es Infos zu Tools wie den <a href="http://www.software-dev-blog.de/paralleltesten-mit-visual-studio-parallel-debugger-extension/07/2009/">Visual Studio: Parallel Debugger Extensions</a>, <a href="http://www.software-dev-blog.de/videosessions-techtalks-mit-intel-und-microsoft/07/2009/">Videosessions der TechTalks mit Intel und Microsoft</a> und <a href="http://www.software-dev-blog.de/screencasts-zur-parallelprogrammierung-unter-net-4/07/2009/">Screencasts zur Parallelprogrammierung unter .NET 4</a>.</p>
<p>Der <em><strong>August</strong></em> stand ganz im Zeichen der <a href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Games Developer Conference</a>, die im Gegensatz zum letzten Jahr in Köln vor der GamesCom stattfand. Auch dorthin reiste ich natürlich, gemeinsam mit Tom, mit dem ich schon seit längeren Videointerviews und ähnliche Dinge drehe und auf Youtube stelle. So lernten wir auf der GDC09 eine ganze Menge: <a href="http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/">Warum die nächste CryEngine erst 2012 kommt</a>, <a href="http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/">warum CPUs für Spieleentwickler wichtig sind</a>, wie <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Intel Parallel Studio funktioniert</a>, wie man <a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Spieletitel für integrierte Grafikchips optimiert</a> und <a href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">vieles mehr</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/&via=sw_devtwits&text= Das war das Software-Dev-Blog-Jahr 2009 (Teil 2) &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/&via=sw_devtwits&text= Das war das Software-Dev-Blog-Jahr 2009 (Teil 2) &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-2/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Das war das Software-Dev-Blog-Jahr 2009 (Teil 1)</title>
		<link>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/</link>
		<comments>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 20:16:04 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Inside]]></category>
		<category><![CDATA[Rückblick]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1277</guid>
		<description><![CDATA[Immer, wenn sich ein Jahr dem Ende entgegen neigt, ist es Zeit für die ultimative Abrechnung der vergangenen 360+x Tage. Daher folgt an dieser Stelle eine Rückschau auf die Software-Dev-Blog-relevanten Ereignisse. Der Schwerpunkt liegt hierbei auf den Events des Jahres 2009, aber auch neue Techniken und Tools werden Thema sein. Um das Ganze besser konsumierbar [...]]]></description>
			<content:encoded><![CDATA[<p>Immer, wenn sich ein Jahr dem Ende entgegen neigt, ist es Zeit für die ultimative Abrechnung der vergangenen 360+x Tage. Daher folgt an dieser Stelle eine Rückschau auf die Software-Dev-Blog-relevanten Ereignisse. Der Schwerpunkt liegt hierbei auf den Events des Jahres 2009, aber auch neue Techniken und Tools werden Thema sein.</p>
<p>Um das Ganze besser konsumierbar zu machen, wird die Rückschau 2009 als Trilogie verfasst sein, wobei der letzte Teil auch ein wenig in die Zukunft blicken wird. Also dann mal los.</p>
<p>Der <em><strong>Januar</strong></em> begann traditionsgemäß mit der <a href="http://www.software-dev-blog.de/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/">OOP</a>, die im Messezentrum zu München stattfand. Dort trafen sich an fünf Tagen Software-Entwickler aus ganz Deutschland (und darüber hinaus), um über sämtliche Aspekte der objektorientierten Programmierung zu reden. Da Intel einer der Sponsoren dieses großen Events war, kam mir die Rolle des OOP-Berichterstatters zu. Es gab eine ganze Menge zu bloggen: über die <a href="http://www.software-dev-blog.de/multicore-programmierung-auf-der-oop-2009/01/2009/">Multicore-Programmierung</a>, über <a href="http://www.software-dev-blog.de/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/">12 Thesen</a> zu diesem Thema und über die Parallelprogrammierung im .NET-Umfeld, woraus ein umfassender Dreiteiler entstand (<a href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-1/01/2009/">Teil 1</a>, <a href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-2/01/2009/">Teil 2</a> und <a href="http://www.software-dev-blog.de/multicore-programmierung-im-net-umfeld-teil-3/02/2009/">Teil 3</a>). Daneben hielt der Januar Blogposts zu der Frage parat, warum <a href="http://www.software-dev-blog.de/how-to-deshalb-skaliert-divx-7-auf-multicore-plattformen/01/2009/">DivX</a>, <a href="http://www.software-dev-blog.de/skalierende-filter-nik-software-setzt-auf-multicore/01/2009/">Nik Software</a> und <a href="http://www.software-dev-blog.de/lernen-mit-crytek-deshalb-ist-crysis-erfolgreich/01/2009/">Crysis</a> so gut auf Multicore-Prozessoren skalieren.</p>
<p>Der <em><strong>Februar</strong></em> ließ bereits erahnen, was die Multicore-Entwicklergemeinde im Jahr 2009 in Sachen Intel-Tools zu erwarten hatte: die Parallelisierungssuite <a href="http://www.software-dev-blog.de/intel-parallel-studio-ab-sofort-als-beta-erhaltlich/02/2009/">Parallel Studio</a> warf erste Schatten voraus, die im Laufe der Zeit immer länger werden sollten. In vier Blogbeiträgen wurden die Fähigkeiten dieses Visual-Studio-Plugins näher beleuchtet (<a href="http://www.software-dev-blog.de/serie-mit-parallel-studio-anwendungen-multithreaden/02/2009/">Teil 1</a>, <a href="http://www.software-dev-blog.de/serie-mit-parallel-studio-anwendungen-multithreaden-2/02/2009/">Teil 2</a>, <a href="http://www.software-dev-blog.de/parallel-studio-serie-mehr-infos-zum-parallel-inspector/02/2009/">Teil 3</a> und <a href="http://www.software-dev-blog.de/parallel-studio-serie-mehr-infos-zum-parallel-amplifier/02/2009/">Teil 4</a>). Der Februar war ohnehin sehr tool-lastig: So ging es unter anderem um <a href="http://www.software-dev-blog.de/parallel-bibliotheken-helfen-bei-der-software-entwicklung/02/2009/">hochoptimierte Software-Bibliotheken</a> für die Parallelprogrammierung, um den <a href="http://www.software-dev-blog.de/concurrency-checker-wie-parallel-ist-parallel/02/2009/">Concurrency Checker</a> und den <a href="http://www.software-dev-blog.de/thread-profiler-parallelisierte-anwendungen-grafisch-testen/02/2009/">Thread Profiler</a>. Events fanden aus Blogsicht im Februar keine statt.</p>
<p>Der <em><strong>März</strong></em> begann mit einer Art Ritterschlag: das Entwicklerportal MSDN, auf dem Microsoft seine Community mit neuesten Infos und Tools versorgt, spendierte dem Thema Parallelprogrammierung eine <a href="http://www.software-dev-blog.de/infos-rund-ums-parallele-programmieren-auf-msdn/03/2009/">deutschsprachige Sektion</a> und band das Software Dev Blog prominent an diversen Stellen ein. Das nahm ich natürlich zum Anlass, einen Vierteiler zum Thema .NET-Threads zu veröffentlichen (<a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-1/03/2009/">Teil 1</a>, <a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-2/03/2009/">Teil 2</a>, <a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-3/03/2009/">Teil 3</a>, <a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-4/03/2009/">Teil 4</a>). In Sachen Events gab es auch wieder etwas zu vermelden, und zwar in Form von Vorschauen: auf die <a href="http://www.software-dev-blog.de/alles-uber-multicore-intel-software-conference-2009/03/2009/">Intel Software Conference</a>, auf den <a href="http://www.software-dev-blog.de/f-und-co-priopowerday-multicore-im-net-umfeld/03/2009/">prio.powerday</a>, die <a href="http://www.software-dev-blog.de/multithread-your-games-intel-auf-der-gdc-2009/03/2009/">Games Developer Conference</a> und die <a href="http://www.software-dev-blog.de/eurographics-2009-wohin-geht-die-3d-reise/03/2009/">Eurographics 2009</a>.</p>
<p>Der <em><strong>April</strong></em> war wieder sehr event-lastig, nämlich in Form der <a href="http://www.software-dev-blog.de/onsite-blogging-intel-software-conference-2009/04/2009/">Intel Software Conference 2009</a> (ISC09) und des <a href="http://www.software-dev-blog.de/priopowerday-multicore-programmierung-unter-net/04/2009/">prio-powerday 2009</a> &#8220;Multicore-Programmierung im .NET-Umfeld&#8221;. Auf der ISC09 ging es unter anderem um die <a href="http://www.software-dev-blog.de/isc09-parallele-programmierung-fur-den-mainstream/04/2009/">Parallelprogrammierung für den Mainstream</a>, um <a href="http://www.software-dev-blog.de/isc09-microsoft-und-die-parallele-programmierung/04/2009/">Microsoft und die parallele Programmierung</a> und natürlich um <a href="http://www.software-dev-blog.de/isc09-intel-parallel-inspector-im-detail/04/2009/">Parallel Studio</a>. Und weil der April noch nicht genug hatte, folgte kurz nach der ISC09 der prio.powerday 2009, auf dem Dinge wie das <a href="http://www.software-dev-blog.de/priopowerday-multithreading-mit-net-bordmitteln/04/2009/">Multithreading mit .NET-Bordmitteln</a> besprochen wurden, aber auch die <a href="http://www.software-dev-blog.de/priopowerday-parallele-programmierung-unter-net-35/04/2009/">Parallele Programmierung unter .NET 3.5</a> und die <a href="http://www.software-dev-blog.de/priopowerday-concurrency-coordination-runtime/04/2009/">Microsoft Concurrency Coordination Runtime</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/&via=sw_devtwits&text=Das war das Software-Dev-Blog-Jahr 2009 (Teil 1)&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/&via=sw_devtwits&text=Das war das Software-Dev-Blog-Jahr 2009 (Teil 1)&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-das-software-dev-blog-jahr-2009-teil-1/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Merry Xmas für alle BlogleserInnen</title>
		<link>http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/</link>
		<comments>http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 13:57:21 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/</guid>
		<description><![CDATA[Ich wünsche allen Lesern ein friedliches Weihnachtsfest, viele tolle Geschenke und ein paar erholsame Tage. Und auf viele neue Geschichten, die es auf diesem Blog auch nächstes Jahr wieder geben wird. Ach ja: Bis Ende des Jahres wird es hier noch den ultimativen Jahresrückblick geben. Also, freut euch schon mal drauf. TweetTweet]]></description>
			<content:encoded><![CDATA[<p>Ich wünsche allen Lesern ein friedliches Weihnachtsfest, viele tolle Geschenke und ein paar erholsame Tage. Und auf viele neue Geschichten, die es auf diesem Blog auch nächstes Jahr wieder geben wird.</p>
<p>Ach ja: Bis Ende des Jahres wird es hier noch den ultimativen Jahresrückblick geben. Also, freut euch schon mal drauf.  </p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/&via=sw_devtwits&text=Merry Xmas für alle BlogleserInnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/&via=sw_devtwits&text=Merry Xmas für alle BlogleserInnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/merry-xmas-fur-alle-blogleserinnen/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Buchrezension: Parallelprogrammierung unter dotNET</title>
		<link>http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/</link>
		<comments>http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 12:33:25 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Buchtipp]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1272</guid>
		<description><![CDATA[Das Thema Paralllel Computing beschäftigt mich hier auf diesem Blog schon seit mehr als einem Jahr. Und so kurz vor Weihnachten hab ich die perfekte Geschenkempfehlung für alle dotNET-Entwickler, die sich selbst oder andere in Form eines Buches eine Freude machen wollen. Sein Titel (also der des Buches): &#8220;Parallel Computing in .NET&#8221;. Sein Autor: Marc [...]]]></description>
			<content:encoded><![CDATA[<p>Das Thema Paralllel Computing beschäftigt mich hier auf diesem Blog schon seit mehr als einem Jahr. Und so kurz vor Weihnachten hab ich die perfekte Geschenkempfehlung für alle <a href="http://www.software-dev-blog.de/tag/dotnet/" target="_self">dotNET-Entwickler</a>, die sich selbst oder andere in Form eines Buches eine Freude machen wollen.</p>
<p>Sein Titel (also der des Buches): &#8220;Parallel Computing in .NET&#8221;. Sein Autor: <a href="http://www.sw-consultant.de/" target="_blank">Marc André Zhou</a>. Sein Umfang: rund 360 Seiten. Seine ISBN: 978-3-86802-038-0. Seine Mission: Wie mache ich dotNET-Entwicklern klar, dass sie von der sequentiellen Programmierung umsteigen sollten auf die parallele. So gesehen finde ich den Titel ein wenig unglücklich gewählt, wenngleich es in dem Buch natürlich auch um Parallel Computing geht. Doch zuvorderst sollen die Leser dieses gedruckten Leitfadens etwas über Multithreaden und Co. lernen.</p>
<p>Und hierfür hat der Autor wirklich sehr viel an Informationen zusammengetragen. Das beginnt mit einer kleinen Aufklärungsrunde in Sachen Parallel Computing (sic!), die sogar die parallelen Programmiermodelle betrachtet. Anschließend wird es ein wenig theoretisch, indem Zhou so Dinge wie das <a href="http://www.software-dev-blog.de/priopowerday-einfuhrung-in-die-parallele-programmierung/04/2009/" target="_self">Amdahlsche</a> und das Gustafson-Gesetz betrachtet. Das hilft auf jeden Fall für ein grundsätzliches Verständnis, wann die Parallelprogrammierung sinnvoll ist &#8211; und wann nicht.</p>
<p>Nach weiteren allgemeinen Informationen rund um die Regeln des Parallel Computing, aber auch des Projektmanagement und den Modellierungsmöglichkeiten geht es dann nahtlos über in das Basiswissen rund um <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">Threads unter .NET</a>. Dies ist jedoch schon wieder fast veraltet, denn mit der <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Einführung von .NET 4.0</a> wird kein Mensch mehr von .NET-Threads und deren manuellem Erstellen reden.</p>
<p><span id="more-1272"></span>Dies weiß aber auch der Autor, und so betrachtet er natürlich auch die kommenden Techniken und Tools wie die <a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-3/03/2009/">CLR-Threadpools</a>, die <a href="http://www.software-dev-blog.de/screencasts-zur-parallelen-programmierung-unter-net-4/06/2009/">Task Parallel Library</a>, <a href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">PLINQ</a>,  Parallel Computing/Programming mithilfe von <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Visual Studio 2010</a> und die <a href="http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/">Concurrency and Coordination Runtime</a> im Detail. Und den Abschluss des Buches bildet eine genauere Betrachtung möglicher zukünftiger Programmiermodelle: <a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank">Axum</a> und <a href="http://social.msdn.microsoft.com/Forums/de-DE/stmdevlab/threads">Software Transaction Memory</a>.</p>
<p><em><strong>Fazit:</strong></em> &#8220;Parallel Computing in .NET&#8221; ist sicherlich eine gute Quelle für alle, die mehr wissen wollen zum Thema Parallelprogrammierung mithilfe des .NET-Frameworks. Es zeigt anschaulich und sehr detailliert, wohin die Reise gehen wird und was künftige Parallelprogrammierer erwartet, vor allem mit .NET 4.0. Anhand geeigneter Codebeispiele werden wohl selbst unerfahrene Multithread-Entwickler einen Zugang zu diesem nicht ganz trivialen Thema finden. Und für alle, die mehr wissen wollen zu diesem Buch, gibt es auf der <a href="http://www.entwickler-press.de/parallel/" target="_blank">zugehörigen Webseite</a> die passenden Infos.</p>
<p><em><strong>Surftipp:</strong></em> Falls ihr euch für die Quellcodebeispiele des Buches interessiert, solltet ihr mal <a title="Alle Sourcecode-Beispiele auf einen Klick" href="http://www.sw-consultant.de/KnowHow/PC_SourceCode.aspx" target="_blank">auf diesen Link klicken</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/&via=sw_devtwits&text=Buchrezension: Parallelprogrammierung unter dotNET&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/&via=sw_devtwits&text=Buchrezension: Parallelprogrammierung unter dotNET&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/buchrezension-parallelprogrammierung-unter-dotnet/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maxon setzt auf Intel Softwaretools für optimierte Apps</title>
		<link>http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/</link>
		<comments>http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 16:58:37 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1271</guid>
		<description><![CDATA[Dass Maxon alles dafür getan hat, ihre Software-Anwendungen wie Cinema 4D für die aktuellen Intel-Prozessoren zu optimieren, darüber habe ich schon vor längeren gebloggt. Und wie es der Zufall wollte (ok, der natürlich keiner war), konnten wir mit Maxon höchstpersönlich darüber reden, wie sie es immer wieder schaffen, dass ihre Anwendungen besonders performant auf Rechnern [...]]]></description>
			<content:encoded><![CDATA[<p>Dass Maxon alles dafür getan hat, ihre Software-Anwendungen wie Cinema 4D für die aktuellen Intel-Prozessoren zu optimieren, darüber habe ich schon <a title="Maxon-Multithreading: Darum ist Cinema 4D so performant" href="http://www.software-dev-blog.de/maxon-multithreading-darum-ist-cinema-4d-so-performant/06/2009/">vor längeren gebloggt</a>. Und wie es der Zufall wollte (ok, der natürlich keiner war), konnten wir mit Maxon höchstpersönlich darüber reden, wie sie es immer wieder schaffen, dass ihre Anwendungen besonders performant auf Rechnern mit Intel-Architektur laufen.</p>
<p>Ein wesentlicher Punkt ist unter anderem der Einsatz des <a title="Optimierte Compiler helfen beim Parallelisieren" href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel C++ Compilers</a>, der laut Maxon schon mal ohne nennenswerte Änderungen am Code etwa 15 Prozent mehr Speed bringt. Aber auch der <a title="Thread Profiler: Parallelisierte Anwendungen grafisch testen" href="http://www.software-dev-blog.de/thread-profiler-parallelisierte-anwendungen-grafisch-testen/02/2009/">Intel Thread Profiler</a> steht bei Maxon ganz oben auf der Liste, wenn es darum geht herauszufinden, wie sich das parallelisierte Programm verhält, ob also die anfallenden Threads möglichst gleichmäßig auf die vorhandenen Ressourcen verteilt werden (Skalierung ist hier das Zauberwort).</p>
<p>Darüber hinaus kommen <a href="http://www.software-dev-blog.de/thread-profiler-parallelisierte-anwendungen-grafisch-testen/02/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> und <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel Threading Building Blocks</a> zur Sprache. Ok, dann würde ich mal sagen, den Rest solltet ihr euch am besten selbst ansehen. Viel Spaß dabei!</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="290" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/-M1eX5Vvrg8&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="290" src="http://www.youtube.com/v/-M1eX5Vvrg8&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/&via=sw_devtwits&text=Maxon setzt auf Intel Softwaretools für optimierte Apps&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/&via=sw_devtwits&text=Maxon setzt auf Intel Softwaretools für optimierte Apps&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/maxon-setzt-auf-intel-softwaretools-fur-optimierte-apps/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apps unter Mac OS X multicore-tauglich machen</title>
		<link>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/</link>
		<comments>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 12:30:36 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1262</guid>
		<description><![CDATA[Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels &#8220;Mehrkern-Beschleuniger&#8221;, der in der mac-developer 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried. Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger Grand Central Dispatch zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen [...]]]></description>
			<content:encoded><![CDATA[<p><em>Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels &#8220;Mehrkern-Beschleuniger&#8221;, der in der <a href="http://www.mac-developer.de/" target="_blank">mac-developer</a> 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried.</em></p>
<p>Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger <a href="http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/">Grand Central Dispatch</a> zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen multicore-tauglich zu machen. Und das ohne größeren Programmieraufwand, sondern lediglich mithilfe der C-API und den NSOperation-Klassen.</p>
<p>Das Tolle an GCD ist deren einfache Verwendung: Anstatt selbst Threads auf Basis von Tasks oder anderen Objekten zu erzeugen, kümmert sich GCD selbst darum. Das bedeutet aber für den Software-Entwickler, dass er sich für eine optimale Ausnutzung der vorhandenen Prozessorressourcen grundsätzlich Gedanken machen muss über die Programmlogik. Das Resultat seines überarbeiteten Programms sind einzelne Tasks, die je nach Programmablauf an die vorhandenen Multithreading-Queues übergeben werden können, wo sie von GCD bestmöglich verarbeitet werden.</p>
<p>Wie bereits angedeutet, stellt GCD zwei Möglichkeiten zur Verfügung, Programmcode zu multithreaden: Mithilfe der NSOperation-Klasse und der C-API. Beides soll kurz beleuchtet werden.</p>
<p><span style="color: #993300;"><em><strong>NSOperation: Warteschlangentechnik für asynchrone Tasks</strong></em></span><br />
Für das asynchrone, also zeitversetzte Ausführen von Anwendungen ist lediglich das Erstellen von NSOperation-konformen Objekten erforderlich, die dann an die zugehörige Warteschlange übergeben werden, die die Queue nach dem FIFO-Prinzip verarbeitet. Hierfür werden Tasks im Hintergrund ausgeführt, pausiert und zu Ende geführt. Es ist sogar möglich, die Anzahl der maximalen Threads festzulegen, was in Extremfällen ein einziger sein kann. Natürlich erlaubt GCD die ständige Rückkehr zum Main Thread.</p>
<p><span id="more-1262"></span>Sehr hilfreich ist auch das &#8220;Verketten&#8221; mehrerer Threads, um so bestimmte Abhängigkeiten zu definieren. Hierzu gehört auch die Möglichkeit, Thread zu priorisieren. Darüber hinaus lassen sich NSOperation-Threads mit Rückgabewerten definieren, die während des Programmablaufs dann weiter verwendet werden können.</p>
<p><span style="color: #993300;"><em><strong>Grand-Central-Dispatch-API</strong></em></span><br />
Neben den NSOperation-Klassen erlaubt die GCD-API das direkte Verwenden der vorhandenen Funktionen. Hierfür kann man entweder eigene Queues erzeugen oder auf die globale Warteschlange zugreifen. Es existieren drei globale Queues, die sich lediglich in ihrer Priorität unterscheiden. Daneben gibt es natürlich auch eine Main Queue, die die Steuerung des Main Threads übernimmt.</p>
<p>Im Gegensatz zu den globalen Queues funktionieren eigene Warteschlange rein seriell, womit sie beispielsweise in Bereichen eingesetzt werden können, die bis dato mit Hilfe von Locks überwacht wurden. Queues werden blockweise gefüllt, der zugehörige Code wird asynchron im Hintergrund ausgeführt. Für eine problemlos Rückkehr zur Main Queue sollte jeder Block eine Callback-Funktion aufweisen, die auf das &#8220;Hauptprogramm&#8221; verweist. Natürlich lassen sich Queues auch pausieren (suspend) und weiter ausführen (resume).</p>
<p><span style="color: #993300;"><em><strong>Weitere wichtige GCD-Techniken</strong></em></span><br />
Neben den Klassen und APIs stehen weitere Techniken in GCD zur Verfügung, die man als Entwickler kennen sollte. So ermöglichen beispielsweise Semaphore die bessere Kontrolle bgrenzter Ressourcen. Aber auch Deadlocks lassen sich dank GCD besser vermeiden, Blöcke können zeitlich gesteuert genutzt werden, Systemereignisse lassen sich effizient und einfach überwachen und vieles mehr.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/&via=sw_devtwits&text=Apps unter Mac OS X multicore-tauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/&via=sw_devtwits&text=Apps unter Mac OS X multicore-tauglich machen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/apps-unter-mac-os-x-multicore-tauglich-machen/12/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Parallel Talk: Warum Ct und Rapidmind gut zusammenpassen</title>
		<link>http://www.software-dev-blog.de/parallel-talk-warum-ct-und-rapidmind-gut-zusammen-passen/11/2009/</link>
		<comments>http://www.software-dev-blog.de/parallel-talk-warum-ct-und-rapidmind-gut-zusammen-passen/11/2009/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 17:01:43 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1257</guid>
		<description><![CDATA[Auf dem diesjährigen IDF in San Francisco wurde ich selbst &#8220;Opfer&#8221;, als ich mich unversehens vor dem Whiteboard von Aaron Tersteeg wiederfand. Aber zum Glück ging es nicht nur mir so, sondern auch unter anderem Stefanus, Michael und Anwar von Intel, die etwas sagen sollten über die Ct-Technologie und warum diese mit den Paralleltechniken von [...]]]></description>
			<content:encoded><![CDATA[<p>Auf dem <a href="http://www.software-dev-blog.de/tag/idf09/">diesjährigen IDF</a> in San Francisco wurde ich selbst &#8220;Opfer&#8221;, als ich mich unversehens <a href="http://software.intel.com/en-us/videos/bloggers-at-idf/" target="_blank">vor dem Whiteboard</a> von Aaron Tersteeg wiederfand. Aber zum Glück ging es nicht nur mir so, sondern auch unter anderem Stefanus, Michael und Anwar von Intel, die etwas sagen sollten über die <a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">Ct-Technologie</a> und warum diese mit den Paralleltechniken von Rapidmind so gut zusammen passt.</p>
<p>Nur so viel: Ct soll noch in diesem Jahr als Beta verfügbar sein und Software-Entwicklern dabei helfen, ihre Anwendungen noch eleganter zu parallelisieren als bisher. Und genau dieses Bestreben verfolgen auch die Jungs von Rapidmind. Das dürfte wohl der wesentliche Grund gewesen sein, warum Intel und Rapidmind <a href="http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/">seit Ende August gemeinsame Sache</a> machen.</p>
<p>Aber am besten lassen wir Stefeanus, Michal und Anwar selbst zu Wort kommen &#8230;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="277" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/g5FLgbG2WgI%2Em4v" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="277" src="http://blip.tv/play/g5FLgbG2WgI%2Em4v" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-talk-warum-ct-und-rapidmind-gut-zusammen-passen/11/2009/&via=sw_devtwits&text=Parallel Talk: Warum Ct und Rapidmind gut zusammenpassen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-talk-warum-ct-und-rapidmind-gut-zusammen-passen/11/2009/&via=sw_devtwits&text=Parallel Talk: Warum Ct und Rapidmind gut zusammenpassen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/parallel-talk-warum-ct-und-rapidmind-gut-zusammen-passen/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Weitere Details zu Intels Cloud-Service &#8220;Parallel Universe&#8221;</title>
		<link>http://www.software-dev-blog.de/weitere-details-zu-intels-cloud-service-parallel-univers/11/2009/</link>
		<comments>http://www.software-dev-blog.de/weitere-details-zu-intels-cloud-service-parallel-univers/11/2009/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 14:50:36 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1252</guid>
		<description><![CDATA[Erst gestern habe ich darüber berichtet, dass Intel einen ganz neuen cloud-basierten Service vorgestellt hat, der sich Parallel Universe nennt. Dahinter verbirgt sich das kostenlose Angebot an Software-Entwickler, in häufiger Ermangelung eines Opto-Core-Rechners ihre parallelisierten Anwendungen auf deren Skalierbarkeit zu überprüfen. Das ist wirklich eine pfiffige Idee und könnte so manch einem Anwendungsentwickler (a) die [...]]]></description>
			<content:encoded><![CDATA[<p>Erst gestern habe ich <a href="http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/">darüber berichtet</a>, dass Intel einen ganz neuen cloud-basierten Service vorgestellt hat, der sich <a href="http://paralleluniverse.intel.com/" target="_blank">Parallel Universe</a> nennt. Dahinter verbirgt sich das kostenlose Angebot an Software-Entwickler, in häufiger Ermangelung eines Opto-Core-Rechners ihre parallelisierten Anwendungen auf deren Skalierbarkeit zu überprüfen. Das ist wirklich eine pfiffige Idee und könnte so manch einem Anwendungsentwickler (a) die Augen öffnen und (b) beim korrekten Multithreaden helfen.</p>
<p>Für ein paar weitere detaillierte Informationen rund um diesen Service hatte ich gestern Abend die Gelegenheit, an einer Telefonkonferenz mit <a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">James Reinders</a> teilzunehmen. James ist Director Intel Software Development Products und beschäftigt sich schon seit vielen Jahren mit dem Thema Parallelprogrammierung. So springt er beispielsweise gerade auf der <a href="http://sc09.supercomputing.org/" target="_blank">Supercomputing Conference 2009</a> herum, um dort vermutlich unter anderem sein paralleles Universum vorstellen. Von ihm erfuhren wir ein paar sehr interessante Details zum neuen Cloud-Service:</p>
<ul>
<li>Technisch gesehen ist es nicht nur ein Cloud-Rechner, sondern es sind bis zu drei Nehalem-basierte Server, die mit jeweils zwei Quadcore-CPUs bestückt sind. Das ermöglicht inklusive Hyperthreading 16 echte und parallele Hardware-Threads. Sollte ein Parallelrechner nicht ausreichen, werden ein oder zwei weitere automatisch dazugeschaltet. Dies bleibt dem Anwender natürlich vollständig verborgen. In Zukunft werden je nach Erfolgt von Intel Parallel Universe leistungsfähigere Maschinen eingesetzt, mit denen sich auch mehr parallele Threads simulieren lassen. Aber für die aktuellen Anwendungen ist eine Skalierung von maximal 16 Threads völlig ausreichend.</li>
</ul>
<ul>
<li>Sämtliche Analysen, die von Software-Entwicklern eingereicht werden, wandern in eine Warteschlange, sodass es zwar Wartezeiten geben kann, diese allerdings kaum auffallen werden, da die Ergebnisse unmittelbar nach deren Berechnung im Webbrowser dargestellt werden.</li>
</ul>
<p><span id="more-1252"></span></p>
<ul>
<li>Aufgrund der Beschränkung von 10 Megabyte pro Zip-Datei, die man zu Analysezwecken hochladen kann, empfiehlt James eine sinnvolle &#8220;Stückelung&#8221; des zu überprüfenden ausführbaren Codes. Es sollten daher vor allem diejenigen Teile einer Anwendung getestet werden, in denen einerseits das größte Parallelisierungspotenzial steckt und andererseits mögliche Bugs in Sachen Skalierbarkeit wahrscheinlich sind. Das zwingt den Programmierer gleichzeitig dazu, über die wirklich relevanten Teile seiner Software nachzudenken, in denen es auf die maximale Performance ankommt.</li>
</ul>
<ul>
<li>Beim Bewerten der Skalierbarkeit einer App sollte man berücksichtigen, dass vor allem datenbasierte Anwendungen besonders gut von Hyperthreading profitieren.</li>
</ul>
<ul>
<li>Um mögliche Risiken von außen zur minimieren (Einschleusung von Malware auf die Cloud-Server u.ä.) hat Intel natürlich diverse Sicherheitsmaßnahmen ergriffen. Dazu gehört auch eine vollständige Protokollierung der Aktivitäten auf dem Rechner, was in Kombination mit der Intel-ID potenzielle Störversuche gut kontrollierbar macht.</li>
</ul>
<p>Falls ihr weitere Infos rund um Intel Parallel Universe braucht, könnt ihr eure Fragen jederzeit per Kommentarfunktion an mich richten. Ich leite diese gerne an James weiter.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/weitere-details-zu-intels-cloud-service-parallel-univers/11/2009/&via=sw_devtwits&text=Weitere Details zu Intels Cloud-Service "Parallel Universe"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/weitere-details-zu-intels-cloud-service-parallel-univers/11/2009/&via=sw_devtwits&text=Weitere Details zu Intels Cloud-Service "Parallel Universe"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/weitere-details-zu-intels-cloud-service-parallel-univers/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multicore-Testumgebung in der Cloud: Intel Parallel Universe</title>
		<link>http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/</link>
		<comments>http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 15:00:15 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1247</guid>
		<description><![CDATA[Das Entwerfen und Entwickeln parallel programmierter Anwendungen ist keine einfache Sache. Man muss nicht nur beim Entwurf der Software viele Dinge berücksichtigen, sondern will natürlich auch sicher sein, dass das Programm aufgrund der möglichen Abhängigkeiten (sowohl in der Logik als auch bei den Daten) möglichst fehlerfrei läuft. Vor allem beim Multithreaden kommt es nämlich immer [...]]]></description>
			<content:encoded><![CDATA[<p>Das Entwerfen und Entwickeln parallel programmierter Anwendungen ist keine einfache Sache. Man muss nicht nur beim Entwurf der Software viele Dinge berücksichtigen, sondern will natürlich auch sicher sein, dass das Programm aufgrund der möglichen Abhängigkeiten (sowohl in der Logik als auch bei den Daten) möglichst fehlerfrei läuft. Vor allem beim Multithreaden kommt es nämlich immer wieder zu so hässlichen Dingen wie <a href="http://www.software-dev-blog.de/isc09-intel-parallel-inspector-im-detail/04/2009/">Dead Locks und Data Races</a>, die unverhofft und völlig überraschend zur Laufzeit auftauchen.</p>
<p>Damit es erst gar nicht so weit kommt, stellt Intel <a href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">seit Ende Mai</a> dieses Jahres für C- und C++-Anwendungen <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a> zur Verfügung. Mit diesem Plug-in für Visual Studio lassen sich nicht nur möglichst fehlerfreie, sondern auch möglichst skalierende Programme entwickeln, die je nach Anzahl der verfügbaren Prozessorkerne möglichst linear ablaufen. Soll also heißen, dass bei zwei Kernen eine Anwendung doppelt so schnell läuft, auf vier Kernen viermal so schnell usf. &#8211; theoretisch zumindest.</p>
<p>Doch wer hat schon unbedingt einen Quadcore- oder noch leistungsfähigeren Rechner im Testlabor rumstehen, mit dem sich diese Skalierung effizient und zuverlässig testen lässt? Eben. Und hier kommt ein ganz neuer Cloud-Service von Intel zum Einsatz, der seit heute kostenlos verfügbar ist. Sein Name: <a href="http://paralleluniverse.intel.com/" target="_blank">Intel Parallel Universe</a>. Seine Idee: Das Testen parallelisierter Apps mithilfe eines 16-Core-Rechners, der via Internet zur Verfügung steht. Die Voraussetzungen: ein Internetbrowser, Zugang zum <a href="http://software.intel.com/en-us/" target="_blank">Intel Software Network</a> und Parallel Studio für weitere Auswertungen und Analysen.</p>
<p><span id="more-1247"></span>Der Weg dorthin ist recht einfach: Mit einem kompatiblen Webbrowser (Internet Explorer, Firefox, Safari oder Chrome) lädt man die lauffähige, parallelisierte Windows-Software (32 Bit only) auf <a href="http://paralleluniverse.intel.com/" target="_blank">Paralleluniverse.intel.com</a> und befolgt die entsprechenden Schritte. Dabei ist es wichtig, dass neben der Anwendung selbst sämtliche Daten und Parameter als Zip-Datei hochgeladen werden (Programme mit Benutzereingaben werden also nicht unterstützt). Sobald dies geschehen ist, wird die Software ausgiebig auf Bottlenecks untersucht. Die Resultate werden dann grafisch aufbereitet und im Webbrowser anschaulich dargestellt. So kann man auf einen Blick erkennen, wie sich die Anwendung auf 1, 2, 4, 8 und 16 Prozessorkernen verhält.</p>
<p>Man sieht also beispielsweise, wie lange die Software auf einer bestimmten Anzahl von CPUs läuft und an welchem Punkt die App nicht mehr skaliert. Aber auch die Parallelität der Anwendung lässt sich feststellen, wie viele Threads also je nach Anzahl verfügbarer Prozessorkerne parallel ausgeführt werden. Doch das ist natürlich nur der Anfang, da man jetzt zwar weiß, ob es klemmt, wo dies allerdings der Fall ist, weiß man noch nicht. Daher lässt sich das Ergebnis der cloud-basierten Analyse lokal speichern und in Parallel Studio öffnen. Der betreffende Sourcecode wird automatisch geladen und per Doppelklick landet man genau an den Stellen, die die mangelhafte Parallelität verursachen. Vermutlich war es noch nie einfacher, Bottlenecks im eigenen Programm zu finden, oder?!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/&via=sw_devtwits&text=Multicore-Testumgebung in der Cloud: Intel Parallel Universe&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/&via=sw_devtwits&text=Multicore-Testumgebung in der Cloud: Intel Parallel Universe&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/multicore-testumgebung-in-der-cloud-intel-parallel-universe/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Das war die Microsoft TechEd Europe 2009</title>
		<link>http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/</link>
		<comments>http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 12:40:58 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[teched09]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1249</guid>
		<description><![CDATA[Sodala: Für alle, die selbst nicht auf der Microsoft TechEd Europe 2009 sein konnten, folgt hier die ultimative Zusammenfassung, was auf diesem Blog in der letzten Woche live aus Berlin (und davor) alles passiert ist. Viel Spaß beim Schmökern! Am 4. November ging es mit der ersten Vorfreude los, die einen Tag später in einem [...]]]></description>
			<content:encoded><![CDATA[<p>Sodala: Für alle, die selbst nicht auf der Microsoft TechEd Europe 2009 sein konnten, folgt hier die ultimative Zusammenfassung, was auf diesem Blog in der letzten Woche live aus Berlin (und davor) alles passiert ist. Viel Spaß beim Schmökern!</p>
<p>Am 4. November ging es mit der <a href="http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/">ersten Vorfreude</a> los, die einen Tag später <a href="http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/">in einem Ausblick</a> mündete, was es auf der TechEd Europe 2009 alles zum Thema Parallelprogrammierung zu sehen gibt. Diese Frage habe ich tags drauf konkretisiert und mir mal <a href="http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/">einen Teil des TechEd-Programms</a> angesehen. Da wurde schnell klar: Das Thema Parallelprogrammierung und Multithreading erfährt endlich die Wertschätzung, die notwendig ist, um den ein oder anderen Software-Entwickler wachzurütteln und zu sagen: Leute, denkt parallel!</p>
<p>Am 9. November war es dann soweit: Die Microsoft TechEd Europe 2009 öffnete ihre Pforten und wir waren mittendrin. Da war es natürlich mehr recht als billig, mit ein wenig Orgakram <a href="http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/">darauf hinzuweisen</a>, wo der Intel-Stand liegt und was es alles dort zu sehen gibt. <a href="http://twitter.com/tpapadhimas" target="_blank">Tom</a> hat sich währenddessen mit seiner Videokamera auf die Suche nach ersten Eindrücken gemacht &#8211; und <a href="http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/">wurde fündig</a>.</p>
<p>Am zweiten Tag habe ich diverse Techsessions besucht, aus denen zum einen <a href="http://twitter.com/mhuelskoetter" target="_blank">Live-Twittering</a> resultierte und zum anderen ein sehr interessantes <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">Videointerview mit Steve Teixeira</a> von Microsoft, in dem er mir erzählt hat, was Software-Entwickler von .NET 4 in Sachen Parallelprogrammierung erwarten können. Am selben Tag gab es übrigens die erste von drei <a href="http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/">Parallel-Studio-Sessions</a>, die Ralph direkt neben dem Intel-Stand gehalten hat. Anschließend fand die von vielen (und ich meine: viele!) sehnlichst erwartete Netbook-Verlosung statt, die natürlich einen glücklichen Gewinner ermittelte.</p>
<p><span id="more-1249"></span>Am selben Tag saß ich mit ein paar anderen Bloggern in einer Telefonkonferenz, in der Intel <a href="http://www.software-dev-blog.de/intel-atom-developer-program-geht-in-die-nachste-phase/11/2009/">neueste Infos</a> rund um das Intel Atom Developer Program (IADP) verraten hat. Und um IADP ging es auf der TechEd Europe 2009 seitens Intel schließlich auch.</p>
<p>Tag drei begann sehr pünktlich und sehr technisch, und das in Form einer <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">Präsentation von Rami Radi</a>, der sich bei Intel um das Thema Parallelprogrammierung kümmert. Ramis Techsession dauerte 75 Minuten und war vollgepackt mit interessanten Einsichten, was Software-Entwickler alles tun sollten, um ihre Anwendungen multicore-tauglich zu machen. Und das gilt natürlich für alle: für native Programmiersprachen und für managed Code.</p>
<p>Auf Basis seiner Session entstand übrigens die Idee, einen <a href="http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/">Video-Workshop online</a> zu stellen, mit dem .NET-Entwickler lernen können, wie sich ihre Anwendungen mithilfe des Intel-Tools <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> beschleunigen lassen.</p>
<p>Am 11. November besuchte ich die sehr lebhafte Diskussion mit Tiberiu Covaci, in der es um die Zukunft der Parallelprogrammierung ging. Hinterher haben wir Tiberiu vor die Kamera gezerrt und <a href="http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/">ein wenig mit ihm geplaudert</a>. Den Abschluss unserer TechEd-Reise stellte dann eine höchst unterhaltsame und informative <a href="http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/">Präsentation von Ralf Westphal</a> dar, der mithilfe der Concurrency Coordination Runtime (CCR) gezeigt hat, wie sich asynchrones Programmieren höchst positiv auf das Laufzeitverhalten von .NET-Anwendungen auswirkt. Hinterher haben wir Ralf noch ein paar Fragen gestellt.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/&via=sw_devtwits&text=Das war die Microsoft TechEd Europe 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/&via=sw_devtwits&text=Das war die Microsoft TechEd Europe 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/das-war-die-microsoft-tech-ed-europe-2009/11/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wie .NET-Entwickler mit VTune Bottlenecks finden können</title>
		<link>http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/</link>
		<comments>http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 11:20:15 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[dotNET]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1248</guid>
		<description><![CDATA[Vergangene Woche auf der Microsoft TechEd Europe 2009 hatten wir die Gelegenheit, uns von Rami Radi zeigen zu lassen, wie .NET-Entwickler mithilfe des Profiling- und Samplingtools VTune Performance Analyzer Schwachstellen in ihren Anwendungen aufspüren und beheben können. Dabei geht es beispielsweise sehr oft um Schleifenkonstrukte, die unverhältnismäßig viel CPU-Zeit in Anspruch nehmen, was mit den [...]]]></description>
			<content:encoded><![CDATA[<p>Vergangene Woche auf der <a href="http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/">Microsoft TechEd Europe 2009</a> hatten wir die Gelegenheit, uns von <a href="http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/">Rami Radi</a> zeigen zu lassen, wie .NET-Entwickler mithilfe des Profiling- und Samplingtools <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> Schwachstellen in ihren Anwendungen aufspüren und beheben können. Dabei geht es beispielsweise sehr oft um Schleifenkonstrukte, die unverhältnismäßig viel CPU-Zeit in Anspruch nehmen, was mit den richtigen Tricks gar nicht notwendig wäre. Für alle, die also in Zukunft mehr aus ihrer Software herausholen wollen, sei dieser Video-Workshop wärmstens empfohlen.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="292" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FGi5tzD5ihI&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="292" src="http://www.youtube.com/v/FGi5tzD5ihI&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/&via=sw_devtwits&text=Wie .NET-Entwickler mit VTune Bottlenecks finden können&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/&via=sw_devtwits&text=Wie .NET-Entwickler mit VTune Bottlenecks finden können&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/wie-net-entwickler-mit-vtune-bottlenecks-finden-konnen/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TechEd09: Wie die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft</title>
		<link>http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 13:31:29 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1243</guid>
		<description><![CDATA[Die erste Session, die ich hier am vierten Tag der Microsoft TechEd besucht habe, wurde von Ralf Westphal gehalten, der in gewohnt unterhaltsamer und fundierter Weise das Thema asynchrone Programmierung vorstellte. Hauptsächlich auf Basis der Concurrency Coordination Runtime (CCR), die Microsoft mit Einführung des .NET-Frameworks 3.5 implementiert hat. Für alle, die mit dem Begriff CCR nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Die erste Session, die ich hier am vierten Tag der Microsoft TechEd besucht habe, wurde von <a href="http://www.ralfw.de/default.html" target="_blank">Ralf Westphal</a> gehalten, der <a href="http://www.software-dev-blog.de/priopowerday-concurrency-coordination-runtime/04/2009/">in gewohnt unterhaltsamer und fundierter Weise</a> das Thema asynchrone Programmierung vorstellte. Hauptsächlich auf Basis der Concurrency Coordination Runtime (CCR), die Microsoft mit Einführung des .NET-Frameworks 3.5 implementiert hat. Für alle, die mit dem Begriff CCR nicht so viel anfangen können, <a href="http://msdn.microsoft.com/en-us/library/bb648752.aspx" target="_blank">gibt&#8217;s auf MSDN einen kurzen Überblick</a>.</p>
<p>Die erste interessante Aussage, die Ralf während seiner 75-Minuten-Session abgefeuert hat, war die Erkenntnis, dass Software-Entwickler sich selbst um das Parallelisieren ihrer Anwendungen kümmern müssen und dies nicht nur dem Betriebssystem oder anderen Instanzen überlassen dürfen. Ein weiterer Satz war nicht ganz überraschend und auch nicht neu, dafür umso wichtiger: &#8220;The free lunch is over!&#8221; Dieser Ausspruch stammt übrigens nicht von Ralf, sondern <a href="http://www.gotw.ca/publications/concurrency-ddj.htm" target="_blank">von Herb Sutter</a>, der das bereits 2005 formuliert hat. Die Grundaussage dahinter lautet:</p>
<blockquote><p>Künftige Prozessoren werden nicht mehr unendlich schneller, sind dafür mit immer mehr CPU-Kernen ausgestattet. Daher müssen Programmierer umdenken, um ihre Anwendungen in Zukunft zu beschleunigen.</p></blockquote>
<p><object width="520" height="292"><param name="movie" value="http://www.youtube.com/v/uoQ2vbyU8b0&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uoQ2vbyU8b0&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="292"></embed></object><br />
<span id="more-1243"></span>Schenkt man Ralf Glauben (und das tue ich), steht die Parallelprogrammierung im Wesentlichen für folgende Dinge:</p>
<blockquote><p>Reduced latency, higher performance, hiding latency, higher responsivness and increased throughput.</p></blockquote>
<p>Dann folgten zwei eher rhetorische Fragen, deren Antworten man mit ein wenig Nachdenken sehr schnell selbst beantworten konnte:</p>
<blockquote><p>Does firing up as many threads as cores are available help to accelerate apps? No, because this will cause threads waiting!</p>
<p>Does firing up as many threads as needed helps to accelerate apps? No, because it doesn&#8217;t scale!</p></blockquote>
<p>Mit einem sehr schönen Vergleich leitete Ralf dann den Abschnitt &#8220;CCR&#8221; ein, indem er die digitale Kommunikation via E-Mail mit der asynchronen Programmierung verglich. Denn wie beim Verteilen von Aufgaben per Mail erfolgt das Ausführen von Tasks mithilfe der CCR genauso asynchron, indem ständig priorisiert und verteilt wird. Sehr anschaulich, oder?!</p>
<p>Dazu passen auch folgende Aussagen:<span><a id="status_star_5645710433" title="favorite this tweet"> </a></span></p>
<blockquote>
<div><span>Concurrency Coordination Runtime (CCR) helps to let data flow around and make thus asynchronous apps possible.</span></div>
<div></div>
<div>Parallel Computing is all about cooperative multitasking where you have to think about small processes and steps.</div>
</blockquote>
<p id="status_5645647581">Anschließend folgte die sehr anschauliche Demo, die den Einsatz der CCR in Form eines Programmierbeispiels zeigte. Dies hier wiederzugeben, wäre ein wenig zu umfangreich und auch kaum hilfreich. Allerdings stellt Microsoft angeblich sämtliche Sessions als Webcast online. Sobald Ralfs verfügbar ist, werde ich sie hier verlinken.</p>
<p>Natürlich haben wir Ralf nicht gehen lassen, ohne ihm drei Fragen zu stellen, die mit seinen Vorträgen auf der TechEd zu tun haben, mit der CCR und einer ganz exklusiven Geschichte, die er am Ende seiner Session zum ersten Mal in der Öffentlichkeit vorgestellt hat. Sobald das Videointerview online ist, werden ich es hier reinstellen.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/&via=sw_devtwits&text=TechEd09: Wie die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/&via=sw_devtwits&text=TechEd09: Wie die CCR .NET-Entwicklern bei der Parallelprogrammierung hilft&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-wie-die-ccr-net-entwicklern-bei-der-parallelprogrammierung-hilft/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Videochat: Die Zukunft der Parallelprogrammierung</title>
		<link>http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/</link>
		<comments>http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 13:53:47 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1240</guid>
		<description><![CDATA[Jetzt weiß ich zumindest, was eine &#8220;Birds of a feather&#8221;-Session ist: Viele interessierte Menschen kommen in einem mittelgroßen Raum zusammen, hören einem gut informierten Spezialisten bei seinen Ausführungen zu und mittendrin entsteht eine lebhafte Diskussion, die viele neue (aber auch bekannte) Erkenntnisse bringt. So geschehen heute Mittag am dritten Tag der Microsoft TechEd Europe 2009, [...]]]></description>
			<content:encoded><![CDATA[<p>Jetzt weiß ich zumindest, was eine &#8220;Birds of a feather&#8221;-Session ist: Viele interessierte Menschen kommen in einem mittelgroßen Raum zusammen, hören einem gut informierten Spezialisten bei seinen Ausführungen zu und mittendrin entsteht eine lebhafte Diskussion, die viele neue (aber auch bekannte) Erkenntnisse bringt. So geschehen heute Mittag am dritten Tag der <a href="http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/">Microsoft TechEd Europe 2009</a>, wo ich der Techsession von Tiberiu Covaci beiwohnte, auf der er eine Menge zum Thema<a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/"> &#8220;Zukunft der Parallelprogrammierung&#8221;</a> beizutragen hatte.</p>
<p>Sein Vortrag hatte allerdings eher den Charakter eines technischen Workshops, indem er selbst zunächst eine Menge zum Thema Intel, Microsoft und Multicore-Shift inklusive .NET 4 und Visual Studio 2010 erzählt hat. Auszüge gefällig?</p>
<blockquote><p>TPL of .NET 4 delivers the right number of threads regarding the available number of cores/threads.</p></blockquote>
<blockquote><p>Needs around 200.000 instruction cycles to create a thread and 100.000 for releasing it again. As a developer you have take this into account!</p></blockquote>
<blockquote><p>TPL delivers several parallel classes like Parallel.For() and Parallel.Invoke which abstracts threads to tasks.</p></blockquote>
<blockquote><p>Visual Studio 2010 will deliver the appropriate debugger tools for parallelized applications.</p></blockquote>
<p>Was seiner Techsession allerdings ein wenig fehlte war der Blick in seine Glaskugel, die uns Anwesenden etwas über die Zukunft der Parallelprogrammierung hätte erzählen können. Zumindest war ich genau aus diesem Grund in seinem Vortrag. Das ließ sich allerdings ganz schnell nachholen, indem wir unsere Videokamera aufgebaut und Tiberiu drei schlaue Fragen gestellt haben. Die erste handelt vom Inhalt seiner Präsentation, Nummer zwei beschäftigt sich mit seiner Podiumsdiskussion vom Montag und mit der Beantwortung von Frage drei ließ er uns in die Zukunft der Parallelprogrammierung blicken.</p>
<p>Nur so viel dazu: Laut Tiberiu müssen sich Software-Entwickler ab sofort mit Multithreading und Co. auseinander setzen, denn der Multicore-Shift hat schon längst begonnen. Und den Rest schaut ihr euch am besten selbst an, sobald unser Videointerview fertig und online ist.</p>
<p><strong>Update:</strong> Das Video ist fertig!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="292" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/b-2GA2SJbdE&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="292" src="http://www.youtube.com/v/b-2GA2SJbdE&amp;hl=de&amp;fs=1&amp;" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/&via=sw_devtwits&text=Videochat: Die Zukunft der Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/&via=sw_devtwits&text=Videochat: Die Zukunft der Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/videochat-die-zukunft-der-parallelprogrammierung/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Videochat: Wie .NET-Entwickler von Multithreading profitieren</title>
		<link>http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/</link>
		<comments>http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 10:54:33 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1238</guid>
		<description><![CDATA[Der dritte Tag der Microsoft TechEd Europe 2009 begann mit der sehr anschaulichen und technisch höchst anspruchsvollen Techsession von Rami Radi, der bei Intel als Software-Ingenieur arbeitet und anderen Entwicklern hilft, ihre Anwendungen multicore-tauglich zu machen. Zunächst einmal muss festgehalten werden, dass die Session genauso gut besucht war wie die gestrige von Steve Teixeira. Darüber [...]]]></description>
			<content:encoded><![CDATA[<p>Der dritte Tag der <a href="http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/" target="_self">Microsoft TechEd Europe 2009</a> begann mit der sehr anschaulichen und technisch höchst anspruchsvollen Techsession von Rami Radi, der bei Intel als Software-Ingenieur arbeitet und anderen Entwicklern hilft, ihre Anwendungen multicore-tauglich zu machen.</p>
<p>Zunächst einmal muss festgehalten werden, dass die Session genauso gut besucht war wie die gestrige <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/">von Steve Teixeira</a>. Darüber hinaus wurde schnell klar, dass die meisten Anwesenden weder wussten, dass Intel noch etwas anderes produziert als Mikroprozessoren, noch die Intel-Tools wie <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> kannten (was angesichts des &#8220;weder&#8221; keine Überrraschung war).</p>
<p>Ramis Präsentation befasste sich mit drei Kerngebieten: Intels aktuelle und zukünftige Mikroprozessor-Architekturen, .NET-4-Verbesserungen in Sachen Multithreading und wie Intel-Tools wie der besagte VTune Performance Analyzer Software-Entwicklern helfen können, ihre Apps auf Korrekheit hin zu überprüfen. Zu diesem Behufe sagte Rami einige bemerkenswerte Dinge:</p>
<blockquote><p>Moore&#8217;s law doesn&#8217;t help software developers anymore as frequencies aren&#8217;t going up anymore. The good news: the number of core does!</p></blockquote>
<blockquote><p>With Nehalem you get Non Uniform Memory Acess (NUMA) which connects every CPU and memory to each other which has huge advantages.</p></blockquote>
<blockquote><p>Come to Intel booth in hall 4.2 to see one of the first desktop PCs which is able to run 128 threads in parallel!</p></blockquote>
<blockquote><p>Multithreading is not equal parallelism!</p></blockquote>
<blockquote><p>Poor scaling .NET applications can be powered up with the help of Intel VTune Performance Analyzer and Visual Studio 2010 / .NET 4</p></blockquote>
<blockquote><p>.NET 4 provides the Background Garbage Collection which speeds up managed code significantly.</p></blockquote>
<blockquote><p>Worker stealing within .NET 4 will help to achieve better multithreaded balanced managed applications.</p></blockquote>
<blockquote><p>VTune profiles and samples .NET applications in order to find critical code sections where a lot of computing time is being wasted</p></blockquote>
<blockquote><p>Vtune also helps identifying false sharing problems. Means VTune will detect and solve cache line misses.</p></blockquote>
<blockquote><p>To eliminate  false sharing problems helps to speed up your .NET apps on 8 core system by 70x!</p></blockquote>
<p><span id="more-1238"></span>Sehr anschaulich und beeindruckend war auch die Maze-Solving-Demo, die Rami dabei hatte. Ziel solch eines Maze Solvers ist das Aufspüren des optimalen Pfades innerhalb einer zweidimensionalen Umgebung, wie dies beispielsweise in Logistikanwendungen häufig notwendig ist. Um die Leistungsfähigkeit von .NET 4 und Multithreading zu demonstrieren, startete Rami die Demo zunächst unter .NET 3.5 im seriellen Modus. Das Problem wurde unter .NET 3.5 in 14 Sekunden gelöst, unter .NET 4 hingegen in 12, und das nur wegen der architekturellen Verbesserungen im .NET-4-Framework. Und klar, dass die Multithreading-Variante in .NET 4 das Problem blitzschnell in wenigen Sekunden löste.</p>
<p>Spannend fand ich auch seine Ausführungen bezüglich VTune und .NET. Denn dieses Tool wird vorwiegend zur Fehlersuche in nativ programmierten Anwendungen eingesetzt. Umso überraschender war die Erkenntnis, dass VTune auch .NET-Entwicklern bei ihrer Arbeit helfen kann. Hierzu erstellt VTune ein Profil der laufenden Anwendung und generiert dabei eine große Zahl an Samples, die dann kumuliert und gewichtet werden. Das Ergebnis zeigt auf einen Blick, wo sich mögliche Hotspots innerhalb des Codes befinden.</p>
<p>Natürlich hatten wir während Ramis Präsentation die Kamera aufgebaut und diese bis zum Schluss mitlaufen lassen. Klar ist aber auch, dass wir daraus keinen 75-Minüter bauen. Tom schneidet gerade die besten Szenen zusammen, mischt diese mit dem Interview, das wir mit Rami nach seinem Vortrag geführt haben, und wenn das Video fertig auf Youtube steht, werden wir es hier veröffentlichen. Freut euch schon mal auf sehr anschaulichen Content.</p>
<p>Update: Das Video ist fertig!<br />
<object width="520" height="292"><param name="movie" value="http://www.youtube.com/v/QS92kZGy958&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/QS92kZGy958&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="292"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/&via=sw_devtwits&text=Videochat: Wie .NET-Entwickler von Multithreading profitieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/&via=sw_devtwits&text=Videochat: Wie .NET-Entwickler von Multithreading profitieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/videochat-wie-net-entwickler-von-multihreading-profitieren/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intel-Session &#8220;Parallel Studio&#8221; und eine Netbook-Verlosung</title>
		<link>http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/</link>
		<comments>http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 16:20:20 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1235</guid>
		<description><![CDATA[Um 16:30 Uhr betrat Ralph de Wargny die Bühne des Visual Studio Partner-Theaters, um ein wenig über Intel Parallel Studio zu erzählen und um ein Netbook zu verlosen, für das gestern und heute eine Menge Leute Frageb beantwortet haben. Ralphs Präsentation gibt es wie gewohnt als Twitter-Stream-Auszug: Intel Parallel Studio = Amplifier + Inspector + [...]]]></description>
			<content:encoded><![CDATA[<p>Um 16:30 Uhr betrat Ralph de Wargny die Bühne des Visual Studio Partner-Theaters, um ein wenig über Intel Parallel Studio zu erzählen und um ein Netbook zu verlosen, für das gestern und heute eine Menge Leute Frageb beantwortet haben. Ralphs Präsentation gibt es wie gewohnt als Twitter-Stream-Auszug:</p>
<blockquote><p>Intel Parallel Studio = Amplifier + Inspector + Composer + Advisor = Multicore optimization</p></blockquote>
<blockquote><p>Parallel Advisor helps you to parallelize your native code. But from 2010 onwards only.</p></blockquote>
<blockquote><p>With Parallel Inspector you find memory errors before they happen. Works on serial AND threaded code.</p></blockquote>
<blockquote><p>Intel Parallel Amplifier is a child of VTune Performance Analyzer, but easier and more intuitively to use. Profile you parallel code.</p></blockquote>
<blockquote><p>On <a href="http://wwwintel.com/go/parallel"><span style="text-decoration: underline;"><span style="color: #0000ff;">http://wwwintel.com/go/para&#8230;</span></span></a> you&#8217;ll find more information about Parallel Studio and more.</p></blockquote>
<p>Nach der Parallel-Studio-Session gab es das dann das lang ersehnte Netbook, ein Sony Vaio. Sehr schickes Teil. Der Durchgang zwischen Theater und Intel-Stand war entsprechend für eine kurze Zeitspanne komplett verstopft. Kein Wunder: Netbooks sind gerade der große Renner.</p>
<p>Für alle, die nicht dabei sein konnten, haben wir Ralphs Vortrag und die Netbook-Verlosung mit unserer JVC-Kamera auf SD-Karte gespeichert. Sobald Tom die besten Bilder zusammengeschnitten hat, geht das Video hier online.</p>
<p><strong>Update:</strong> Hier ist das Video. Viel Spaß damit!</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="292" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/etDSIkAWkm0&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="292" src="http://www.youtube.com/v/etDSIkAWkm0&amp;hl=de_DE&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/&via=sw_devtwits&text=Intel-Session "Parallel Studio" und eine Netbook-Verlosung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/&via=sw_devtwits&text=Intel-Session "Parallel Studio" und eine Netbook-Verlosung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-session-parallel-studio-und-eine-netbook-verlosung/11/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Videochat mit Steve Teixeira über Parallelprogrammierung</title>
		<link>http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/</link>
		<comments>http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 08:10:08 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1233</guid>
		<description><![CDATA[Steve Teixeira von Microsoft ist ein gern gesehener Gast auf den großen Konferenzen dieser Welt. Wenn es sich zudem um die Hauskonferenz handelt, ist es nicht wirklich überraschend, dass er hier mehrfach über sein Lieblingsthema spricht, nämlich über die parallele Programmierung. So wie heute morgen um 9:00 Uhr in der Früh, was aber die anwesenden [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Teixeira von Microsoft ist ein gern gesehener Gast auf den großen Konferenzen dieser Welt. Wenn es sich zudem um die Hauskonferenz handelt, ist es nicht wirklich überraschend, dass er hier mehrfach über sein <a href="http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/">Lieblingsthema </a>spricht, nämlich über die parallele Programmierung.</p>
<p>So wie heute morgen um 9:00 Uhr in der Früh, was aber die anwesenden Software-Entwickler nicht davon abgehalten hat, den Raum bis auf den letzten Platz zu füllen. Das zeigt zweierlei: Erstens hat das Thema Multithreading viele Leute schon erreicht, und zweitens besteht offensichtlich noch eine Menge an Informationsbedarf. Und da ist Steve genau der richtige, um vorhandene Wissenslücken zu füllen.</p>
<p>Für alle, die es nicht mitbekommen haben: Ich saß in der Session und habe mir die Seele aus dem Leib <a href="http://twitter.com/mhuelskoetter" target="_blank">getwittert</a>. Ein paar Kostproben gefällig?</p>
<blockquote><p>First demo: LINQ versus PLINQ. Guess who is faster? Got it?! Yes, PLINQ is 3.3x faster.</p></blockquote>
<blockquote><p>The only difference between LINQ &amp; PLINQ is a little &#8220;AsParallel()&#8221;. Very easy, very intuitive!</p></blockquote>
<blockquote><p>ParallelEnumarable() fits perfectly for parallel computing with huge data. Think of financial applications, e.g.</p></blockquote>
<blockquote><p>There&#8217;s one important advice by Steve: Don&#8217;t use threads but tasks. .NET 4 is supporting with Parallel.Invoke() e.g.</p></blockquote>
<blockquote><p>With .NET 4 you can delay tasks in order to run them later as soon you need them.</p></blockquote>
<p>Diese und andere Aussagen ergaben ein klares Bild: .NET 4 soll und wird die Parallelprogrammierung verbessern, und das mit einem klaren Konzept, mit Tasks statt Threads und den passenden Tools wie einem Debugger, der viele Informationen über die laufenden Threads und Tasks liefert.</p>
<p>Direkt nach der Session konnten wir übrigens Steve Teixeira dazu überreden, uns vor der Kamera ein paar Fragen zu beantworten. Kollege Papadhimas ist gerade am Schnitt dran. Sobald das Video fertig und auf Youtube gestellt ist, kommt hier der Embedcode rein. Damit ihr auch etwas davon habt.</p>
<p>Update: Das Video ist fertig geschnitten, gerendert und auf Youtube. Und hier. So, Film ab.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/cWSAg7yls_0&amp;hl=de&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/cWSAg7yls_0&amp;hl=de&amp;fs=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/&via=sw_devtwits&text=Videochat mit Steve Teixeira über Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/&via=sw_devtwits&text=Videochat mit Steve Teixeira über Parallelprogrammierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/videochat-mit-steve-teixeira-uber-parallelprogrammierung/11/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TechEd09: Erste Videoeindrücke aus Berlin</title>
		<link>http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 16:11:47 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[teched09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1228</guid>
		<description><![CDATA[Wir sind also in Berlin, auf der Microsoft TechEd Europe 2009. Das sollte sich ja allmählich herumgesprochen haben. Damit ihr es auch wirklich glaubt, ist Tom heute erst mal allein mit seiner Kamera losgezogen, um erste Eindrücke einzufangen. Und ab morgen bin ich dann mit dabei, um ein paar Videointerviews und -demos zu drehen. Mit [...]]]></description>
			<content:encoded><![CDATA[<p>Wir sind also in Berlin, auf der Microsoft TechEd Europe 2009. Das sollte sich ja allmählich herumgesprochen haben. Damit ihr es auch wirklich glaubt, ist Tom heute erst mal allein mit seiner Kamera losgezogen, um erste Eindrücke einzufangen. Und ab morgen bin ich dann mit dabei, um ein paar Videointerviews und -demos zu drehen. Mit auf der Liste stehen:</p>
<ul>
<li>Steve Teixeira wird morgen früh (Di, 9:00) etwas zu &#8220;Parallel Computing for Managed Developers&#8221; erzählen. Hoffentlich bekommen wir Steve hinterher für ein Interview vor die Kamera.</li>
<li>Um 15:15 Uhr geht es dann um das Thema HPC und Virtualisierung. Auch hier planen wir ein anschließendes Videointerview.</li>
<li>Intel-Kollege Rami, der am Mittwoch seine Techsession hat, wird uns in seiner Demo zeigen, wie Managed Code mithilfe von VTune optimiert werden kann.</li>
<li>Natürlich werden wir auch Bilder von der Parallel-Studio-Session inklusive Netbook-Verlosung zeigen.</li>
<li>Am Mittwoch hat dann Rami seine besagte Techsession. Hinterher stellen wir im ein paar schlaue Fragen.</li>
<li>Um 10:15 Uhr geht es direkt weiter mit F# und dessen parallelen Fähigkeiten. Hinterher gibt&#8217;s hoffentlich ein Videochat mit Donald Syme.</li>
<li>Tiberiu Covaci hält um 12:20 Uhr seinen Vortrag mit dem Titel &#8220;The Future of Parallel Programming&#8221;. Anschließend werden wir Tiberiu zu seinen diversen Techsessions befragen. Auch zu denen, die wir heute Morgen leider nicht besuchen konnten.</li>
<li>Und falls ihr nochmals die 15-Minuten-Präsentation samt Netbook-Verlosung sehen wollt: Am Mittwoch ist wieder Gelegenheit dazu.</li>
<li>Der Donnerstag beginnt mit einer Parallelsession mit dem Titel &#8220;Going Parallel for a Living: Introduction to the Concurrency Coordination Runtime&#8221; des lieben Kollegen Ralf Westphal. Mal sehen, ob er uns auch vor der Kamera etwas erzählt.</li>
<li>Um 15:15 Uhr ist Steve Teixeira noch mal dran, und zwar mit seiner Session &#8220;Building High Performance Parallel Software&#8221;. Ob Steve sich zweimal von uns interviewen lässt?</li>
<li>Natürlich gibt es auch am Donnerstag die fast schon lieb gewonnene 15-Minuten-Session inklusive Netbook-Vergabe. Aber diesmal schenken wir uns das vielleicht. Wir wollen ja niemanden langweilen.</li>
<li>Und klar, dass die Intel-Kollegin Beatrice noch zu Wort kommt. Sie will nämlich unbedingt etwas zum Intel Atom Developer Program erzählen.</li>
</ul>
<p>So, und nach so vielen Programmankündigungen kommen jetzt endlich die Impressionen aus Berlin. Film ab!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="293" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/q1wPot5Zyq0&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="520" height="293" src="http://www.youtube.com/v/q1wPot5Zyq0&amp;hl=de&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/&via=sw_devtwits&text=TechEd09: Erste Videoeindrücke aus Berlin&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/&via=sw_devtwits&text=TechEd09: Erste Videoeindrücke aus Berlin&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-erste-videoeindrucke-aus-berlin/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TechEd09: Die Show kann beginnen</title>
		<link>http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 12:17:41 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Liveblogging]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1227</guid>
		<description><![CDATA[So, die ersten zwei Stunden der Microsoft TechEd Europe 2009 sind vorüber, und alles läuft schon ganz prima. Der Intel-Stand ist fertig, die Twitterwall läuft und in einer halben Stunde haben wir auch einen schönen, großen Flatscreen, auf dem wir unser Livebloggen und Twittern auf 46 Zoll zeigen können. Tom ist auch schon mit seiner [...]]]></description>
			<content:encoded><![CDATA[<p>So, die ersten zwei Stunden der Microsoft TechEd Europe 2009 sind vorüber, und alles läuft schon ganz prima. Der Intel-Stand ist fertig, die Twitterwall läuft und in einer halben Stunde haben wir auch einen schönen, großen Flatscreen, auf dem wir unser Livebloggen und Twittern auf 46 Zoll zeigen können. Tom ist auch schon mit seiner Kamera unterwegs und fängt für euch die ersten Impressionen der Microsoft TechEd Europe 2009 ein. <a href="http://www.software-dev-blog.de/tech-ed08-erste-videoeindrucke-und-freibier/11/2008/">Ganz im gewohnten Stil</a>.</p>
<p>Bevor ich es ganz vergesse, folgen hier noch ein paar organisatorische Dinge: Der Intel-Stand, an dem ihr mich und die Kollegen treffen könnt, befindet sich in Halle 4.2 und liegt von der Halle 7 kommend direkt am Eingang. Das ist die so genannten <strong>Visual Studio Partner Zone</strong>. Dort gibt es unter anderem eine Menge nützliche und erhellende Infos rund um das neue <a href="http://www.software-dev-blog.de/wer-braucht-alles-den-intel-appstore/10/2009/">Intel Atom Developer Program</a>, das Software-Entwicklern dabei helfen soll, windows- und moblin-basierte Anwendungen speziell für Netbooks zu entwickeln und diese zu einem späteren Zeitpunkt auf Netbooks zu bringen. Falls ihr euch für dieses Programm direkt am Stand registriert, gibt&#8217;s auch eine kleine Überraschung.</p>
<p>Darüber hinaus findet ihr eine Menge Infos rund um unser liebstes Baby, das auf den schönen Namen <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Intel Parallel Studio</a> hört und in rund zwei Wochen sein Halbjähriges feiert. Falls ihr also C-/C++-Programmierer seid, Visual Studio einsetzt und eure Anwendungen threadsicher parallelisieren wollt oder einfach nur gucken wollt, ob sich besonders fiese Bugs eingeschlichen haben, die sich möglicherweise erst zur Laufzeit zeigen, ist Parallel Studio genau das richtige Tool für euch. Hier könnt ihr sogar eine Test-CD abgreifen, um euch mit Parallel Studio vertraut zu machen.</p>
<p>Und falls ihr ein neues Netbook wollt, solltet ihr ebenfalls am Stand V1/V2 vorbeikommen. Beantwortet ein paar Fragen, tragt eure Daten ein und schwups, ab mit der Karte in die zugehörige Losbox. Und schon gewinnt ihr vielleicht eins der schicken Teile. Die erste Verlosung ist allerdings erst morgen Nachmittag, die ausgefüllten Karten werden aber auch schon heute akzeptiert.</p>
<p>So, dann mach ich mich wieder auf den Weg zum Stand. Um den Monitor zu installieren, der gerade gekommen ist. Damit ihr auch besser sehen könnt, was ich twittere und blogge. Man sieht sich!</p>
<p><strong>Ach ja:</strong> Auf der anderen Seite der Halle hat Intel noch einen Stand, auf dem es rund um das Thema Datacenter geht. Also alles über Servertechniken, Virtualisierung und Co. Und dort gibt es ebenfalls etwas zu gewinnen, nämlich schicke, ultradünne Notebooks. Ihr seht, ein Besuch der Halle 4.2 lohnt sich auf jeden Fall.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/&via=sw_devtwits&text=TechEd09: Die Show kann beginnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/&via=sw_devtwits&text=TechEd09: Die Show kann beginnen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-die-show-kann-beginnen/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TechEd09: Wir sind dann mal weg!</title>
		<link>http://www.software-dev-blog.de/teched09-wir-sind-dann-mal-weg/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-wir-sind-dann-mal-weg/11/2009/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 09:48:44 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[teched09]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1226</guid>
		<description><![CDATA[Ok, da ich keinen Koffer in Berlin habe, muss ich bald einen ebensolchen packen, um heute noch rechtzeitig zum Flughafen zu kommen, damit mich AirBerlin auch zur Microsoft TechEd Europe 2009 bringt. Dort werde ich nämlich gemeinsam mit dem Kollegen Papadhimas und einer Hand voll Intel-Leuten vier Tage lang von der wohl wichtigsten Entwicklerkonferenz in [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, da ich keinen Koffer in Berlin habe, muss ich bald einen ebensolchen packen, um heute noch rechtzeitig zum Flughafen zu kommen, damit mich AirBerlin auch zur<a href="http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/"> Microsoft TechEd Europe 2009</a> bringt. Dort werde ich nämlich gemeinsam mit dem Kollegen <a href="http://twitter.com/Pages_Media" target="_blank">Papadhimas </a>und einer Hand voll Intel-Leuten vier Tage lang von der wohl wichtigsten Entwicklerkonferenz in Sachen Windows, dotNET und Co. berichten.</p>
<p>Wie ich ja bereits <a href="http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/">angekündigt </a>habe, werden wir uns bevorzugt um das weite Feld der Parallelprogrammierung kümmern. Da sind zum einen die 15-Minuten-Sessions auf der großen Showbühne zu nennen, auf der Ralph und Edmund in gewohnt treffsicherer Art und Weise über <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a> referieren und sagen werden, warum das Plugin für Visual Studio nicht nur zum Multithreaden taugt, sondern auch Bugs in seriell programmierten Anwendungen aufspürt und hilft, diese zu eliminieren. Und die Session von Rami werde ich mir ebenfalls nicht entgehen lassen. Der werte Kollege erzählt nämlich vom Dreigestirn Windows 7, .NET und Multicore-Optimierungen.</p>
<p>Dass so eine riesige Konferenz aber noch mehr zu bieten hat als Parallel Studio und Intel-Sessions, macht ein Blick in den äußerst umfangreichen Sessionplan klar. Dort finden sich <a href="http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/">unter dem Schlagwort &#8220;Parallel&#8221;</a> ein gutes Dutzend interessanter Vorträge zum Thema Parallelprogrammierung. Die spannendsten Sessions werde ich natürlich aufsuchen und live darüber berichten (entweder in diesem Blog oder<a href="http://twitter.com/sw_devtwits/" target="_blank"> per Twitter</a>). Und weil das noch nicht genug ist, ziehe ich mit Tom und Videocam immer wieder los, um die maßgeblichen Köpfe der TechEd mit schlauen Fragen zu konfrontieren. Aber <a href="http://www.software-dev-blog.de/videosession-multicore-programmierung-mit-intel-tools/11/2008/">das kennt ihr ja schon</a>.</p>
<p>Ok, dann bleibt mir nur noch, uns allen eine interessante Microsoft-Konferenz zu wünschen, verknüpft mit der Hoffnung, dass nicht der ein oder andere im Trubel der Berliner Feier zu 20 Jahren Mauerfall verloren geht. Wäre doch schade &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-wir-sind-dann-mal-weg/11/2009/&via=sw_devtwits&text=TechEd09: Wir sind dann mal weg!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-wir-sind-dann-mal-weg/11/2009/&via=sw_devtwits&text=TechEd09: Wir sind dann mal weg!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-wir-sind-dann-mal-weg/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie parallel ist die TechEd Europe 2009?</title>
		<link>http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/</link>
		<comments>http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 06:42:23 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[teched09]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1225</guid>
		<description><![CDATA[Wenn man sich so die Webseite der Microsoft TechEd Europe 2009 ansieht, fällt auf, dass es dort eine ganze Menge Dinge gibt, die mit dem Parallelismus zu tun haben. Wie beispielsweise die Techsessions, von denen natürlich viele gleichzeitig angeboten werden, um so die anwesenden Entwickler und anderen Gesellen mit möglichst vielen Informationen versorgen zu können. [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man sich so <a href="http://www.msteched.com/europe/Public/default.aspx" target="_blank">die Webseite der Microsoft TechEd Europe 2009</a> ansieht, fällt auf, dass es dort eine ganze Menge Dinge gibt, die mit dem Parallelismus zu tun haben. Wie beispielsweise die <a href="http://www.msteched.com/europe/Public/SessionList.aspx">Techsessions</a>, von denen natürlich viele gleichzeitig angeboten werden, um so die  anwesenden Entwickler und anderen Gesellen mit möglichst vielen Informationen versorgen zu können. Aber auch die Ausstellerbereiche stellen eine Art Paralleluniversum dar: Namhafte Hersteller wie Intel (übrigens zu finden in der Visual Studio Partner Zone, Stand V1/V2) zeigen am selben Ort zur selben Zeit ihre Produkte, Lösungen und Demos.</p>
<p>Aber, um jetzt wieder ein bisschen ernsthafter zu werden, was wirklich parallel ist an der diesjährigen Microsoft TechEd Europe sind die vielen Sessions und Vorträge, die sich mit diesem Thema beschäftigen. Das zeigt zweierlei: Erstens wirft <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Visual Studio 2010 samt .NET 4</a> große Schatten voraus und zweitens scheinen Multithreading und Co. in den Köpfen von Microsoft angekommen zu sein. Aber das ist nicht so überraschend. Höchstens die Vehemenz, mit der die Konferenz das Thema angeht.</p>
<p>So gibt es beispielsweise Tiberiu Covaci (erinnert mich ein bisschen an jemanden von der <em>Enterprise</em>), der gleich mit mehreren Parallelsessions vertreten ist. So stellt er am Montag die ziemlich rhetorische Frage &#8220;Is the future of programming a parallel one?&#8221; (Und alle: &#8220;Yeah!&#8221;) Dabei will er unter anderem herausfinden, welche Branchengrößen den Multicore-Markt vorantreiben (wie heißen die noch mal mit dem großen I am Anfang &#8230; ?).</p>
<p><span id="more-1225"></span>Am Dienstag und Mittwoch ist er dann wieder an der Reihe, und zwar mit den Sessions  &#8220;Why should you care about Multi-core programming&#8221; und &#8220;The Future of Parallel Programming&#8221;. Aufmerksame Leser dieses Blogs werden wohl die erste Frage locker beantworten können, aber auch die Zukunft der Parallelprogrammierung war hier schon <a href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">das ein</a> oder <a href="http://www.software-dev-blog.de/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/">andere Mal </a>Gegenstand der Diskussion. Zusammengefasst bleibt festzuhalten, dass Tiberiu (a) sehr fleißig ist und (b) ein heißer Kandidat für unsere <a href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Videointerview-Reihe</a>.</p>
<p>Aber &#8211; und das ist die gute Nachricht für Tiberiu &#8211; es gibt noch andere Fachleute auf der TechEd Europe 2009, die etwas zu dem Thema Multicore-Programmierung und Multithreading zu sagen haben. So wie Anthony Howcroft, der am Mittwoch über Microsofts SQL-Server-Projekt &#8220;Madison&#8221; referieren wird. Madison ist übrigens MPP, was für &#8220;Massively Parallel Processing&#8221; steht. Aber selben Tag wird auch <a href="http://www.youtube.com/watch?v=LCO9m8eAv6A" target="_blank">unser alter Freund Steve Teixeira</a> (sorry, Steve!) auf die Bühne klettern und wie gewohnt über das Thema Parallelprogrammierung reden. Diesmal geht es um &#8220;Parallel Computing for Managed Developers&#8221;. Wovon dort die Rede sein wird, ist klar, oder?! Sicherlich nicht um Programmierer mit eigenem Coach!</p>
<p>Für alle weiteren Parallel-Infos hilft es auf jeden Fall, die gut sortierte Webseite der <a href="http://www.msteched.com/europe/Public/default.aspx">Microsoft TechEd Europe 2009</a> zu besuchen. Oder ihr fahrt am besten selbst dorthin (Finger hoch: wer fährt?!). Und falls ihr keine Zeit oder keine Kohle oder sonst was habt, um selbst vor Ort zu sein, hilft ab Montag der regelmäßige Besuch dieses gut sortierten Blogs. Hier gibt es alle relevanten Infos rund um die TechEd Europe 2009 samt Videointerviews, Impressionen und vielem mehr. Also, man liest sich!</p>
<p>Ach ja: Intel redet natürlich auch auf der TechEd über das Thema Parallelprogrammierung. Aber das <a href="http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/">wisst ihr ja bereits</a> &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/&via=sw_devtwits&text=Wie parallel ist die TechEd Europe 2009?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/&via=sw_devtwits&text=Wie parallel ist die TechEd Europe 2009?&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/wie-parallel-ist-die-tech-ed-europe-2009/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TechEd09: Das wird es alles zu sehen geben</title>
		<link>http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 07:43:31 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[teched09]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1221</guid>
		<description><![CDATA[In meinem gestrigen Blogeintrag habe ich ja schon darauf hingewiesen: Wir fahren nach Berlin! Und zwar nicht zum DFB-Pokalendspiel, sondern auf die Microsoft TechEd Europe 2009, auf der sich wie jedes Jahr Software-Entwickler und andere Geeks treffen. Dass zeitgleich der 20. Jahrestag des Mauerfalls gefeiert wird, macht die Stadt bestimmt schön kuschelig voll. Aber das [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem <a href="http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/">gestrigen Blogeintrag</a> habe ich ja schon darauf hingewiesen: Wir fahren nach Berlin! Und zwar nicht zum DFB-Pokalendspiel, sondern auf die Microsoft TechEd Europe 2009, auf der sich wie jedes Jahr Software-Entwickler und andere Geeks treffen. Dass zeitgleich der 20. Jahrestag des Mauerfalls gefeiert wird, macht die Stadt bestimmt schön kuschelig voll.</p>
<p>Aber das wird uns nicht davon abhalten, unserem Job nachzugehen und vier Tage lang über folgende Dinge zu (video)bloggen (am fünften Tag wird die TechEd leider ohne uns auskommen müssen):</p>
<p><a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-microsoft-parallel-guru/11/2008/">Wie üblich</a> werden wir interessanten Leuten unsere HD-Cam unter die Nase halten und ihnen schlaue Fragen stellen. Natürlich gehen die Ergebnisse gleich vor Ort online und wir werden auch darüber bloggen. Hierbei erwartet alle Anwesenden eine echte Weltneuheit: Anstatt in einem kleinen, muffigen Konferenzraum zu sitzen und dort abgeschieden von der Welt vor mich hin zu schreiben, sitze ich am Intel-Stand in der Visual Studio Partner Zone und blogge dort live! Damit mir alle beim Arbeiten auch zusehen können, wird mein Geschriebenes direkt auf einen großen TV-Bildschirm übertragen, der sich in meinem Rücken (oder sonstwo) befindet. Unsere ganz persönliche Daily Soap von der TechEd Europe 2009!</p>
<p>Ebenfalls in Wort und Bild werden wir über die drei 15-Minuten-Sessions berichten, die die anwesenden Intel-Kollegen halten werden. Hauptthema wird <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Parallel Studio</a> sein, mit dem sich seriell programmierte Anwendungen parallelisieren lassen, damit sie möglichst schnell auf Multicore-Systemen laufen. Allerdings geht es dabei nicht nur um Performance, sondern um weitere Aspekte wie Sicherheit, Effizienz und, ok, Performance.</p>
<p><span id="more-1221"></span>So kümmert sich beispielsweise der <a href="http://software.intel.com/en-us/videos/intel-parallel-inspector-memory-checker/">Memory Checker</a> (der Bestandteil des <a href="http://www.software-dev-blog.de/isc09-intel-parallel-inspector-im-detail/04/2009/">Parallel Inspector</a> ist) um solch unschöne Dinge wie Speicherlecks, die zur Laufzeit eines Programms unerwartet auftreten können. Derartige Bugs findet man mit den herkömmlichen Debuggertools nur sehr schwer.</p>
<p>Darüber hinaus lässt sich mithilfe des <a href="http://www.software-dev-blog.de/isc%E2%80%9909-intel-parallel-amplifier-im-detail/04/2009/">Parallel Amplifiers</a> die Leistungsfähigkeit seriell programmierter Anwendungen steigern, indem man zeitkritische Pfade und Hotspots aufspürt. Gerade Schleifenkonstrukte sind eine beliebte Fehlerquelle, die oft mehr Rechenzeit verbraten als wirklich erforderlich wäre.</p>
<p>Jenseits dieser Multicore-Sessions gibt sich Rami Radi von Intel die Ehre und erzählt in seiner Techsession etwas darüber, wie man mit diversen Tipps und Tricks gleich einen dreifachen Leistungsschub erzielen kann &#8211; hinsichtlich Windows 7, .NET 4 und Intel Multicore. Dabei soll er sogar verraten, wie sich .NET-basierte Anwendungen mit dem <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> optimieren lassen. Habe ich zumindest gehört. Aber keine Sorge: Ihr werdet hier nichts verpassen.</p>
<p>Das kann aber nur heißen: Bookmark setzen oder RSS-Feed abonnieren oder sonst etwas und die nächsten Tage immer wieder vorbeischauen. Man liest sich!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/&via=sw_devtwits&text=TechEd09: Das wird es alles zu sehen geben&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/&via=sw_devtwits&text=TechEd09: Das wird es alles zu sehen geben&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-das-wird-es-alles-zu-sehen-geben/11/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TechEd09: Vorfreude und erste Infos</title>
		<link>http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/</link>
		<comments>http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 07:05:02 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[teched09]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1222</guid>
		<description><![CDATA[Genau einmal pro Jahr treffen sich Software-Entwickler und ähliche Menschen aus ganz Europa auf Microsofts größtem interkontinentalen Event, der Microsoft Tech-Ed Europe. Dieses Jahr werden wir vom 9. bis 13. November (also schon nächste Woche) nach Berlin reisen. Voriges Jahr waren wir im schönen Barcelona, der Hauptstadt Kataloniens. Aber das ist eine ganz andere Geschichte. [...]]]></description>
			<content:encoded><![CDATA[<p>Genau einmal pro Jahr treffen sich Software-Entwickler und ähliche Menschen aus ganz Europa auf Microsofts größtem interkontinentalen Event, der Microsoft Tech-Ed Europe. Dieses Jahr werden wir vom 9. bis 13. November (also schon nächste Woche) nach Berlin reisen. <a href="http://www.software-dev-blog.de/plaudereien-videos-und-multicore-infos-auf-der-tech-ed08/11/2008/">Voriges Jahr</a> waren wir im schönen Barcelona, der Hauptstadt Kataloniens. Aber das ist eine ganz andere Geschichte.</p>
<p>Was aber bleibt ist die Gewissheit, dass wir wie im vergangenen Jahr mit der kompletten Ausstattung in die Hauptstadt reisen. Also mit HD-Videokamera, Schnittrechner, Notebook, Netbook und anderen technischen Spielereien. Das machen wir übrigens alles nur für euch, die ihr da draußen vor dem PC sitzt und unsere Einträge lest, weil ihr entweder selbst nicht zur Tech-Ed fahren oder einfach nur gucken wollt, was ihr alles verpasst.</p>
<p>Und was heißt das jetzt im Einzelnen? Nun, wir werden wieder interessante Leute wie <a href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-microsoft-parallel-guru/11/2008/">Microsofts Steve Teixeira</a> vor die Kamera zerren und ihnen schlaue Fragen stellen. Wir gucken uns aber auch bestimmt sämtliche Intel-Demos an, die auf der Visual Studio Partner Zone zu sehen sind (und ein bisschen mehr).</p>
<p>Klar ist natürlich auch, dass wir uns das Ganze nicht nur ansehen, sondern auch über all die schönen Dinge bloggen, die vom 9. bis 13. November auf der Microsoft Tech-Ed Europe 2009 passieren werden. Dass wir dabei nicht vergessen, über den Tellerrand hinauszusehen, spricht doch für sich selbst, oder?!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/&via=sw_devtwits&text=TechEd09: Vorfreude und erste Infos&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/&via=sw_devtwits&text=TechEd09: Vorfreude und erste Infos&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/teched09-vorfreude-und-erste-infos/11/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Blogger Day: Tolle Runde mit viel Know-How</title>
		<link>http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/</link>
		<comments>http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 09:19:17 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Intern]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1210</guid>
		<description><![CDATA[Puh, die Woche hatte es wirklich in sich. Am Montag fand in München das Medien-Barcamp Webcific statt, auf dem ich über den Journalismus 2.0 gesprochen habe. Also über Dinge, die ich hier beispielsweise tue. Außerdem über so spannende Projekte wie das Mobiledevcamp, das morgen in einer Wochen in den heiligen Hallen Intels stattfinden wird. Dort [...]]]></description>
			<content:encoded><![CDATA[<p>Puh, die Woche hatte es wirklich in sich. Am Montag fand in München das Medien-Barcamp <a href="http://webcific.com/" target="_blank">Webcific</a> statt, auf dem ich über den Journalismus 2.0 gesprochen habe. Also über Dinge, die ich hier beispielsweise tue.</p>
<p>Außerdem über so spannende Projekte wie das <a href="http://www.mobiledevcamp.de" target="_blank">Mobiledevcamp</a>, das morgen in einer Wochen in den heiligen Hallen Intels stattfinden wird. Dort treffen sich Software-Entwickler, die für mobile Geräte die passenden Anwendungen konzipieren und schreiben. Es wird um Linux-Themen gehen (wie <a href="http://www.software-dev-blog.de/so-wird-moblin-version-2-1-aussehen/10/2009/">Moblin</a>), aber auch um Plattformen wie <a href="http://www.software-dev-blog.de/wer-braucht-alles-den-intel-appstore/10/2009/">Netbooks</a> und <a href="http://www.it-techblog.de/mobiler-kinospas-shrek-auf-tragbaren-internet-gadgets/04/2009/">MIDs</a>. Wir sind schon sehr gespannt, was es alles zu sehen und zu hören gibt.</p>
<p>Am Mittwoch folgte dann der erste Blogger-Day, den ich gemeinsam mit Intel veranstaltet habe. Ursprünglich hatten wir sieben Leute eingeladen, von denen dann leider vier abgesagt haben (aus zugegebenermaßen nachvollziehbaren Gründen). Es blieben also drei Blogger/Entwickler, die sich mit uns an einen Tisch setzen wollten. Und ich muss sagen: Es hat sich gelohnt. Denn sowohl die zweistündige Diskussion als auch das Abendessen im Anschluss haben verschiedene Dinge gezeigt:</p>
<ul>
<li>Intel ist doch nicht so steif drauf, wie wohl der ein oder andere erwartet hatte!</li>
</ul>
<ul>
<li>Das Thema Multicore-Programmierung/Multithreading wird zwar von vielen Entwicklern ernst genommen, beschäftigen tun sie sich trotzdem nicht wirklich damit.</li>
</ul>
<ul>
<li>Neue, funktionale Programmiersprachen wie F# könnten dabei helfen, Hemmungen vor der parallel orientierten Programmierung abzubauen.</li>
</ul>
<ul>
<li>Das Analysetool <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> versteht sich auf das Identifizieren von Flaschenhälsen und anderen Blockaden in .NET-basiertem Code (hierzu wird es bald auf diesem Sender einen ersten Workshop geben).</li>
</ul>
<ul>
<li>Solch ein Blogger-/Entwickler-Treffen ist eine tolle Sache und sollte unbedingt wiederholt werden. Das war zumindest die einhellige Meinung aller Anwesenden, und dazu gehörten unter anderem <a href="http://blog.klaus-b.net/default.aspx" target="_blank">Klaus</a>, <a href="http://der-albert.com/" target="_blank">Albert</a>, <a href="http://twitter.com/dotnetpro_mag" target="_blank">Tilman</a> und <a href="http://blogs.msdn.com/dparys/default.aspx" target="_blank">Dariusz</a>. Schade für alle anderen, die nicht dabei sein konnten.</li>
</ul>
<ul>
<li>Wie man es plant, in solch einer illustren Runde kommt es oft anders, als man denkt. Zumindest wurde unser Vorhaben, die Veranstaltung mit einer Einführungs- und Vorstellungsrunde einzuläuten, jäh von der unmittelbar einsetzenden Diskussion torpediert. Aber ganz ehrlich: Das war auch gut so!</li>
</ul>
<p>Na dann also bis zum nächsten Intel-B(logger)-Day!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/&via=sw_devtwits&text=Intel Blogger Day: Tolle Runde mit viel Know-How&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/&via=sw_devtwits&text=Intel Blogger Day: Tolle Runde mit viel Know-How&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-blogger-day-tolle-runde-mit-viel-know-how/10/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Happy Birthday, Software Dev Blog!</title>
		<link>http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/</link>
		<comments>http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 15:55:31 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Intern]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1207</guid>
		<description><![CDATA[Heute ist es tatsächlich so weit: Das Software Dev Blog wird ein Jahr alt. Genauer gesagt: 366 Tage, 206 Beiträge und 3.520 abgefangene Spam-Kommentare. Das ist eine ganze Menge. Und es ist in dieser Zeit eine ganze Menge passiert. Los ging das Bloggen für Intel am 11. August 2008, und zwar anlässlich der Spieleentwickler-Konferenz GCDC&#8217;08, [...]]]></description>
			<content:encoded><![CDATA[<p>Heute ist es tatsächlich so weit: Das Software Dev Blog wird ein Jahr alt. Genauer gesagt: 366 Tage, 206 Beiträge und 3.520 abgefangene Spam-Kommentare. Das ist eine ganze Menge. Und es ist in dieser Zeit eine ganze Menge passiert.</p>
<p>Los ging das Bloggen für Intel am 11. August 2008, und zwar anlässlich der <a href="http://software.intel.com/en-us/blogs/2008/08/11/gc-developers-conference-2008-is-not-far-away/" target="_blank">Spieleentwickler-Konferenz GCDC&#8217;08</a>, die voriges Jahr noch im schönen Leipzig stattfand. Aufgrund der guten Erfahrungen und des Erfolgs vor, während und nach dieser Veranstaltung habe ich gemeinsam mit Intel das Software Dev Blog ins Leben gerufen. Die Ausrichtung war von Anfang eindeutig: Was muss ich als Software-Entwickler alles dafür tun, damit meine leistungshungrigen Anwendungen optimal auf Multicore-Prozesssoren laufen?</p>
<p>Dafür habe ich erst einmal <a href="http://www.software-dev-blog.de/software-projekte-mit-intel-tools-optimieren/10/2008/">die wichtigsten Tools</a> vorgestellt, die Intel hierfür in petto hat. Namentlich sind dies <a href="http://www.software-dev-blog.de/multicore-turbo-fur-visual-studio-intel-parallel-studio/10/2008/">Parallel Studio</a>, <a href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a>, <a href="http://www.software-dev-blog.de/fehler-im-multithread-code-aufspuren-thread-checker/11/2008/">Thread Checker</a>, <a href="http://www.software-dev-blog.de/mit-intel-threading-building-blocks-parallel-programmieren/12/2008/">Intel TBB</a>, <a href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel Compiler</a>, <a href="http://www.software-dev-blog.de/concurrency-checker-wie-parallel-ist-parallel/02/2009/">Concurrency Checker</a>, <a href="http://www.software-dev-blog.de/thread-profiler-parallelisierte-anwendungen-grafisch-testen/02/2009/">Thread Profiler</a> und andere Werkzeuge. Dann kam Event Nummer 2 schon des Wegs: <a href="http://www.software-dev-blog.de/tag/tech-ed/">Microsoft Tech-Ed 2008</a>, wo wir live gebloggt und Videos gedreht haben.</p>
<p>Ab Mitte Februar warf Parallel Studio dann weitere Schatten an die Wand, die ich zum Anlass nahm, mir die angekündigte Multicore-Suite <a href="../serie-mit-parallel-studio-anwendungen-multithreaden/02/2009/">genauer anzusehen</a>. Am 27. Mai kam das Tool dann übrigens <a href="../happy-birthday-parallel-studio/05/2009/">zur Welt</a>.</p>
<p>Selbst Grundlagen der parallelen Programmieren kamen und kommen hier nicht zu kurz. So kann man <a href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">Multithread-Konzepte</a> kennen lernen, von <a href="http://www.software-dev-blog.de/funf-multicore-programmierregeln-auf-einen-blick/11/2008/">fünf Multicore-Programmierregeln</a> lernen, <a href="http://www.software-dev-blog.de/programmiermethoden-daten-und-aufgabenparallelitat/12/2008/">Programmiermethoden</a> erforschen, <a href="http://www.software-dev-blog.de/beliebte-fehler-bei-der-parallelprogrammierung/12/2008/">mögliche Fehler umgehen</a>, <a href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP begutachten</a> und viele andere Dinge mehr.</p>
<p>Das Software Dev Blog prangert auch schon mal an, so wie die <a href="http://www.software-dev-blog.de/ausbildungslucken-bei-der-multicore-programmierung/12/2008/">Ausbildungslücken</a> in Sachen Multicore-Programmierung, oder loben Unis, wenn sie sich <a href="http://www.software-dev-blog.de/tu-munchen-verstarkt-sein-multicore-engagement/12/2008/">dieses Themas annehmen</a>.</p>
<p>Im Laufe des zurückliegenden ersten Jahres habe ich immer wieder wichtige Menschen der Entwicklerszene zu Wort kommen lassen, so wie die Vertreter von <a href="http://www.software-dev-blog.de/how-to-deshalb-skaliert-divx-7-auf-multicore-plattformen/01/2009/">DivX</a>, <a href="http://www.software-dev-blog.de/lernen-mit-crytek-deshalb-ist-crysis-erfolgreich/01/2009/">Crytek</a>, <a href="http://www.software-dev-blog.de/skalierende-filter-nik-software-setzt-auf-multicore/01/2009/">Nik Software</a>, <a href="http://www.software-dev-blog.de/interview-visual-studio-2010-und-seine-multicore-fahigkeiten/02/2009/">Microsoft</a>, <a href="http://www.software-dev-blog.de/skalierende-musikprojekte-dank-multithreading-sonar-8/03/2009/">Cakewalk</a>, <a href="http://www.software-dev-blog.de/maxon-multithreading-darum-ist-cinema-4d-so-performant/06/2009/">Maxon</a> und andere.</p>
<p>Natürlich begab ich mich zwischendurch einige Male auf längere und kürzere Reisen, um live von passenden Veranstaltungen zu berichten. Dazu gehörte die <a href="http://www.software-dev-blog.de/multicore-programmierung-auf-der-oop-2009/01/2009/">OOP in München</a> (aus der sich ein <a href="http://www.software-dev-blog.de/workshop-alles-uber-net-threads-teil-1/03/2009/">.NET-Vierteiler</a> ergab), <a href="http://www.software-dev-blog.de/eurographics-2009-wohin-geht-die-3d-reise/03/2009/">Eurographics 2009</a> (auch aus München), <a href="http://www.software-dev-blog.de/onsite-blogging-intel-software-conference-2009/04/2009/">Intel Software Conference</a> in Salzburg, <a href="http://www.software-dev-blog.de/priopowerday-multicore-programmierung-unter-net/04/2009/">prio.powerday in München</a>, die <a href="http://www.software-dev-blog.de/exasol-roadshow-2009-mit-multicore-power/06/2009/">Exasol-Roadshow</a>, das <a href="http://www.software-dev-blog.de/gamescamp-munich-09-3d-games-und-multicore/06/2009/">Gamescamp</a> zu München, <a href="http://www.software-dev-blog.de/videosessions-techtalks-mit-intel-und-microsoft/07/2009/">TechTalks</a> mit Intel und Microsoft, <a href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Game Developers Conference 2009</a> zu Köln und kürzlich das <a href="http://www.software-dev-blog.de/tag/idf09/">Intel Developer Forum</a> in San Francisco, auf dem es eine Menge <a href="http://www.software-dev-blog.de/tag/moblin/">Infos zu Moblin</a> gab. Dieses Thema wird mich hier übrigens in nächster Zeit noch öfter beschäftigen.</p>
<p>Gefeiert wird der erste Geburtstag übrigens auf dem morgigen Intel (B)logger Day, der in &#8230;  genau, München stattfindet. Happy Birthday, Blog!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/&via=sw_devtwits&text=Happy Birthday, Software Dev Blog!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/&via=sw_devtwits&text=Happy Birthday, Software Dev Blog!&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/happy-birthday-software-dev-blog/10/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel-Wissen auf der ADC 2009</title>
		<link>http://www.software-dev-blog.de/parallel-wissen-auf-der-adc-2009/10/2009/</link>
		<comments>http://www.software-dev-blog.de/parallel-wissen-auf-der-adc-2009/10/2009/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 11:47:23 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1195</guid>
		<description><![CDATA[Nächste Woche findet am 7. und 8. Oktober in Bonn die Advanced Developers Conference 2009 statt. Wie es sich für fortgeschrittene Entwickler gehört, nimmt das Thema Parallelprogrammierung einen wichtigen Stellenwert ein. Daher folgt an dieser Stelle eine Zusammenfassung der geplanten &#8220;Parallel-Sessions&#8221;: Der freiberufliche Journalist Andreas Heil beschäftigt sich während seiner Opening Keynote-Session mit den Themen [...]]]></description>
			<content:encoded><![CDATA[<p>Nächste Woche findet am 7. und 8. Oktober in Bonn die <a title="Programmübersicht der ADC09" href="http://www.ADC09.de/TimeTable.aspx" target="_blank">Advanced Developers Conference 2009</a> statt. Wie es sich für fortgeschrittene Entwickler gehört, nimmt das Thema Parallelprogrammierung einen wichtigen Stellenwert ein. Daher folgt an dieser Stelle eine Zusammenfassung der geplanten &#8220;Parallel-Sessions&#8221;:</p>
<ul>
<li>Der freiberufliche Journalist Andreas Heil beschäftigt sich während seiner Opening Keynote-Session mit den Themen Parallelisierung, Nebenläufigkeiten und den damit verbundenen Unterthemen &#8220;große Datenmengen&#8221; und &#8220;komplexe Berechnungen&#8221;.</li>
</ul>
<ul>
<li>Siemens-Mann Michael Stal referiert über <a title="Mehr Infos zu Axum auf MSDN Online" href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" target="_blank">Microsoft Axum</a>, eine agentenbasierte Koordinationssprache, mit deren Hilfe Softwaresysteme in .NET parallelisiert werden können. Im Gegensatz zu systemnahen Ansätzen wie <a title="IDF09: Parallel Computing mit .NET 4 und Visual Studio 2010" href="http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/">PLINQ oder der Task Parallel Library</a> unterstützt Axum dedizierte Architektur- und Komponenten-Designs und lässt sich prima mit weiteren .NET-Sprachen mischen.</li>
</ul>
<ul>
<li><a title="prio.powerday: Microsoft Concurrency Coordination Runtime" href="http://www.software-dev-blog.de/priopowerday-concurrency-coordination-runtime/04/2009/">Ralph Westphal</a> bringt den anwesenden Entwicklern und Softwarearchitekten die Concurrency Coordination Runtime des künftigen .NET-Frameworks ein gutes Stück näher. Dabei geht es um die Serviceorientierung im Kleinen: Nachrichten- und Datenflüsse sollen eine skalierbare Parallelität deutlich einfacher machen als bisher.</li>
</ul>
<ul>
<li><a title="prio.powerday: Parallele Programmierung unter .NET 3.5" href="http://www.software-dev-blog.de/priopowerday-parallele-programmierung-unter-net-35/04/2009/">Bernd Marquardt</a> stellt in seinem 90-minütigen Vortrag die Parallel-Features der Programmiersprache C++ vor, die Microsoft in Form der Parallel Pattern Library (PPL) zur Verfügung stellt. Hierbei handelt es sich um einfache Konstruktionen, die Schleifen und Code-Bereiche parallelisieren sollen. Dies ist durchaus vergleichbar mit den <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel Threading Building Blocks</a>.</li>
</ul>
<ul>
<li>Und natürlich geht es in diversen Tracks um Microsoft Visual Studio 2010, das ab nächsten Jahr auf Basis des .NET-Frameworks 4 eine ganze Menge zum Thema Parallelprogrammierung beitragen wird.</li>
</ul>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-wissen-auf-der-adc-2009/10/2009/&via=sw_devtwits&text=Parallel-Wissen auf der ADC 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-wissen-auf-der-adc-2009/10/2009/&via=sw_devtwits&text=Parallel-Wissen auf der ADC 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/parallel-wissen-auf-der-adc-2009/10/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDF09: Parallel Computing mit .NET 4 und Visual Studio 2010</title>
		<link>http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/</link>
		<comments>http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 20:23:05 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Liveblogging]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1175</guid>
		<description><![CDATA[Ich sitze hier in der Microsoft Techsession, die von Steve Teixeira gehalten wird. Steve spricht über Parallelprogrammierung unter .NET 4 und Visual Studio 2010. Ich kann natürlich nicht den gesamten Vortrag wiedergeben, daher konzentriere mich auf seine wesentlichen Aussagen: Multithreaded programming is &#8220;hard&#8221; today Das bedeutet für Microsoft (und Intel), Software-Entwicklern dabei zu helfen. Hierzu [...]]]></description>
			<content:encoded><![CDATA[<p>Ich sitze hier in der Microsoft Techsession, die von <a title="Videochat mit Steve Teixeira, Microsoft-Parallel-Guru über Visual Studio 2010 und .NET 4" href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-microsoft-parallel-guru/11/2008/">Steve Teixeira</a> gehalten wird. Steve spricht über Parallelprogrammierung unter .NET 4 und Visual Studio 2010. Ich kann natürlich nicht den gesamten Vortrag wiedergeben, daher konzentriere mich auf seine wesentlichen Aussagen:</p>
<blockquote><p>Multithreaded programming is &#8220;hard&#8221; today</p></blockquote>
<p>Das bedeutet für Microsoft (und Intel), Software-Entwicklern dabei zu helfen. Hierzu bieten beide (Intel und Microsoft) <a title="Erfolgsgeschichten in Sachen Intel-Softwaretools" href="http://www.software-dev-blog.de/erfolgsgeschichten-in-sachen-intel-softwaretools/05/2009/">passende Tools</a>, die Programmierer  unterstützen. Dazu gehören laut Steve aber auch Programmiersprachen und Plattformen.</p>
<p>Ein kleines Schleifenbeispiel führt Steve vor, das zeigen soll, wie sich seriell programmierter Quellcode parallelisieren lässt &#8211; inklusive potenzieller Probleme.</p>
<p>Als Lösung für das Sortierproblem eignet sich laut Steve LINQ, das Teil von .NET 3.5 ist. Weitergesponnen bietet die parallele Version von LINQ = PLINQ eine viel bessere Lösung für Sortieralgorithmen &#8211; und mehr!</p>
<p><span id="more-1175"></span>Die nächste Folie &#8211; und Steve hat eine Menge davon &#8211; zeigt den Aufbau von Visual Studio 2010. Dazu gehören Tools wie Parallel Debugger und Profiler Concurrency Analysis, Programmierungsmodelle wie PLIN!, Task Parallel Library (TPL) und mehr.</p>
<p>Ein paar Daten zu TPL: Es handelt sich dabei um eine parallel API mit speziellen Konstrukten wie parallel_for, parallel_invoke, critical_section (Synchronisation), task_group (Tasks), combinable&lt;T&gt; (Container) etc.</p>
<p>Jetzt folgt ein Beispiel für die anwesenden C++-Programmierer: Es zeigt eine Matrizenberechnung, genauer gesagt eine vektorbasierte Addition. Zuerst geht es um die serielle Implementierung der Rechenaufgabe, dann um die parallele mithilfe einer Lambda-Funktion und der parallel_for aus der TPL. Dabei muss man sich ernsthafte Gedanken um Race Conditions machen. Die Lösung des Problems: Es gibt mehrere Instanzen des Rückgabewerts, die am Ende addiert werden.</p>
<p>Die <strong>Asynchronous Agents Library</strong> eignet sich vor allem für das asynchrone Ausführung paralleler Quellcode-Abschnitte. Damit lassen sich parallel ablaufende Programminstanzen generieren, die nichts voneinander wissen, die damit nicht synchronisiert oder gelockt werden müssen. Das erlaubt eine sichere Implementierung der parallelisierten Anwendung.</p>
<p>Der Concurrency Runtime Scheduler ist ein Dieb: Tasks werden auf die Worker Threads verteilt und parallel ausgeführt. Sobald einer der Worker Threads nichts zu tun hat, &#8220;stiehlt&#8221; er eine laufende Aufgabe eines anderen Worker Threads, was zu einer besseren Auslastung der vorhandenen Prozessorkerne führt.</p>
<p>Jetzt ist das Aufspüren möglicher Fehler an der Reihe, die sich beim Parallelisieren von Anwendungen ergeben können. Das Beispiel, das Steve hierfür verwendet, ist eine Matrizenmultiplikation. Also nichts Spektakuläres. Hierfür steht in Visual Studio 2010 eine Art <a title="Vergleich: Intel Thread Checker versus Parallel Inspector" href="http://www.software-dev-blog.de/vergleich-intel-thread-checker-versus-parallel-inspector/07/2009/">Thread Checker</a> parat, der eine Anwendung analysiert und das Ergebnis grafisch aufbereitet. Dazu gehört die CPU-, Core- und Threads-Auslastung.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/&via=sw_devtwits&text=IDF09: Parallel Computing mit .NET 4 und Visual Studio 2010&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/&via=sw_devtwits&text=IDF09: Parallel Computing mit .NET 4 und Visual Studio 2010&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/idf09-parallel-computing-mit-net-4-und-visual-studio-2010/09/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDF09: Techsession &#8220;Software-Tools für skalierende Apps&#8221;</title>
		<link>http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/</link>
		<comments>http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 18:30:44 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Liveblogging]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1173</guid>
		<description><![CDATA[Hier ist sie also: meine erste Techsession auf dem Intel Developer Forum 2009. Es geht um die Frage, mit welchen Tools Software-Entwickler arbeiten sollten, um das Beste aus ihren Anwendungen herauszuholen. Die Session beginnt mit einer Folie, die all das zeigt, was Intel in Sachen High Performance Computing tut. Folie 2 beschäftigt sich mit der [...]]]></description>
			<content:encoded><![CDATA[<p>Hier ist sie also: meine erste Techsession auf dem Intel Developer Forum 2009. Es geht um die Frage, mit welchen Tools Software-Entwickler arbeiten sollten, um das Beste aus ihren Anwendungen herauszuholen.</p>
<p>Die Session beginnt mit einer Folie, die all das zeigt, was Intel in Sachen High Performance Computing tut.</p>
<p>Folie 2 beschäftigt sich mit der Frage, welche Dinge zu berücksichtigen sind, um das Optimum aus seiner Anwendung zu holen. Dazu gehören die Wahl der richtigen Algorithmen, der passenden Programmiersprache und Compiler und natürlich die Frage nach den passenden Software-Tools, mit denen sich Anwendungen optimieren lassen.</p>
<p>Mit Fragen der Portabilität und der Produktivität sollten sich Entwickler ebenfalls beschäftigen. Auch hier geht es um Dinge wie Programmiersprachen, Tools, Betriebssysteme etc.</p>
<p>Jetzt dreht es sich um das Thema Skalierung und was getan werden muss, um eine Beschleunigung der Anwendungen zu erhalten, die sich an der Zahl der vorhandenen Prozessorkerne und Hardware-Threads orientiert.</p>
<p><span id="more-1173"></span>Ok, jetzt wird&#8217;s interessanter. Der Intel-Kollege spricht über die vorhandenen Entwickler-Tools, die Intel bereit hält. Natürlich ist die Rede von <a title="GDC09: So funktioniert Intel Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a> für C/C++-Entwickler, aber auch von Workstation-/Server- und HPC-Tools wie <a title="Quellcode-Schwachstellen mit Intel VTune aufspüren" href="http://www.software-dev-blog.de/quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a>, <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel TBB</a> und mehr.</p>
<p>Wer übrigens glaubt, dass Intel sich nur der Windows-Welt verpflichtet fühlt, der irrt. Der Chiphersteller bietet ebenso Software-Tools für die Linux- und Mac-Entwickler dieser Welt.</p>
<p>Eine sehr schöne Folie: die Unterschiede zwischen Task- und datenbasierter Parallelprogrammierung.</p>
<p>Natürlich darf Parallel Studio nicht fehlen. Es geht also um Parallel Advisor, Parallel Composer, Parallel Inspector und Parallel Amplifier.</p>
<p>Vier Schritte, um eine serielle programmierte Anwendung zu parallelisieren:</p>
<p>1. Der Wechsel zum <a title="Optimierte Compiler helfen beim Parallelisieren" href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel Compiler</a> verbessert ohne direkten Eingriff in den Code die Laufzeit der Anwendung.</p>
<p>2. Die Vektorisierung des Sourcecodes mithilfe von SIMD-Befehlen.</p>
<p>3. Die Implementierung von <a title="Software-Projekte mit Multicore-Bibliotheken optimieren" href="http://www.software-dev-blog.de/software-projekte-mit-multicore-bibliotheken-optimieren/12/2008/">Intel-MKL-Code</a>.</p>
<p>4. Automatische Parallelisierung mithilfe von <a title="Workshop: parallel Programmieren mit OpenMP" href="http://www.software-dev-blog.de/parallel-programmieren-mit-openmp/02/2009/">OpenMP</a> und andere Techniken.</p>
<p>Ein wenig Zukunftsaussichten gehören natürlich auch dazu: Intel wird seine Tools weiterentwickeln und damit sicher stellen, dass zukünftige Plattformen mit zukünftigen Anwendungen weiterhin skalieren. Dazu gehören unter anderem Weiterentwicklungen basierend auf <a title="Cilk: parallele Programmierung mit intelligenten Ansätzen" href="http://www.software-dev-blog.de/cilk-parallele-programmierung-mit-intelligenten-ansatzen/08/2009/">Cilk++</a> und <a title="ISC’09: die Zukunft der parallelen Programmierung" href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">Ct</a>.</p>
<p>Am Schluss gibt es noch ein paar Surftipps: <a title="Intel Software Network" href="http://software.intel.com/" target="_blank">Intel Software Network</a> und <a title="whatif.intel.com" href="http://software.intel.com/en-us/whatif/" target="_blank">whatif</a> sollten Parallelprogrammierer auf jeden Fall kennen. Und natürlich das Software Dev Blog. Aber das stand leider nicht auf der Folie &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/&via=sw_devtwits&text=IDF09: Techsession "Software-Tools für skalierende Apps"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/&via=sw_devtwits&text=IDF09: Techsession "Software-Tools für skalierende Apps"&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/idf09-techsession-software-tools-fur-skalierende-apps/09/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDF09: Multithreaden und Parallel Studio abgreifen</title>
		<link>http://www.software-dev-blog.de/idf09-multithreaden-und-parallel-studio-abgreifen/09/2009/</link>
		<comments>http://www.software-dev-blog.de/idf09-multithreaden-und-parallel-studio-abgreifen/09/2009/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 09:28:19 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Preview]]></category>
		<category><![CDATA[Wettbewerb]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1170</guid>
		<description><![CDATA[Es hat sich ja wohl schon rumgesprochen, dass ich Montagnachmittag gen San Francisco abhaue, um mich am Dienstag, Mittwoch und Donnerstag über die künftigen Intel-Pläne und -Produkte zu informieren. Ich werde übrigens meine kleine Videokamera Zi6 von Kodak dabei haben, um das ein oder andere Vor-Ort-Statement filmtechnisch in Szene zu setzen. Und klar, live bloggen [...]]]></description>
			<content:encoded><![CDATA[<p>Es hat sich ja wohl schon rumgesprochen, dass ich Montagnachmittag gen San Francisco abhaue, um mich am <a title="IDF09: Techsessions zu Atom-CPU, Moblin und mehr" href="http://www.software-dev-blog.de/idf09-techsessions-zu-atom-cpu-moblin-und-mehr/09/2009/">Dienstag</a>, <a title="IDF09: Weitere Techsessions zu Multicore, Moblin und Co." href="http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/">Mittwoch</a> und <a title="IDF09: Tag drei mit mehr MID- und Netbook-Sessions" href="http://www.software-dev-blog.de/idf09-tag-drei-mit-mehr-mid-und-netbook-sessions/09/2009/">Donnerstag</a> über die künftigen Intel-Pläne und -Produkte zu informieren. Ich werde übrigens meine kleine Videokamera Zi6 von <a title="Twitter-Stream von Kodak Deutschland" href="http://twitter.com/Kodak_DE" target="_blank">Kodak</a> dabei haben, um das ein oder andere Vor-Ort-Statement filmtechnisch in Szene zu setzen. Und klar, live bloggen werde ich auch. Gibt wohl eine ganze Menge zu berichten, so wie es aussieht.</p>
<p>Neben all den bereits erwähnten Sessions und Keynotes wird es für angehende Parallelprogrammierer ein ganz spezielles Bonbon geben: Am Mittwoch, den 23. September, veranstaltet Intel von 14:00 bis 18:00 Uhr PDT (23:00 bis 24/9, 3:00 Uhr MESZ) einen vierstündigen Workshop, in dem erfahrene C- und C++-Programmierer lernen werden, wie sie mithilfe von <a title="GDC09-Video: So funktioniert Intel Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a> sequenziell programmierten Quellcode parallelisieren können. Als besonderen Anreiz haben sich die Organisatoren dieses Workshops zwei Leckerbissen überlegt:</p>
<p>1. Die ersten 50 Teilnehmer, die ein lauffähiges, parallelisiertes Programm einschicken, erhalten eine Vollversion von Parallel Studio. Gegenwert: 799 Dollar.</p>
<p>2. In drei Kategorien wird der jeweils beste Beitrag ermittelt. Hierbei geht es um die schnellste Ausführung, die beste Prozessorausnutzung und den besten Einsatz von Parallel Studio. Der Sieger (oder die Siegerin) erhalten eine Visa-Geschenkkarte im Wert von 250 Dollar.</p>
<p>Wer schon mal gucken will, was zu tun ist, um eines der 50 Parallel-Studio-Pakete abzugreifen oder gar die 250 Dollar zu gewinnen, kann sich auf der Contest-Seite <a title="Alle Infos zum Parallel-Studio-Contest auf dem IDF 2009 in San Francisco" href="http://software.intel.com/en-us/articles/application-for-the-intel-parallel-studio-parallelism-contest-lab-at-the-intel-developer-forum-san-francisco-2009/" target="_blank">ausführlich darüber informieren</a>. Und <a title="30-Tage-Versionen von Intel Tools kostenlos downloaden" href="http://software.intel.com/en-us/articles/intel-software-evaluation-center/" target="_blank">im Evaluation Center</a> von Intel könnt ihr euch eine 30-Tage-Version von Parallel Studio besorgen. Zum Aufwärmen, quasi.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-multithreaden-und-parallel-studio-abgreifen/09/2009/&via=sw_devtwits&text=IDF09: Multithreaden und Parallel Studio abgreifen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-multithreaden-und-parallel-studio-abgreifen/09/2009/&via=sw_devtwits&text=IDF09: Multithreaden und Parallel Studio abgreifen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/idf09-multithreaden-und-parallel-studio-abgreifen/09/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IDF09: Weitere Techsessions zu Multicore, Moblin und Co.</title>
		<link>http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/</link>
		<comments>http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 15:48:43 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1166</guid>
		<description><![CDATA[In meinem gestrigen Blogbeitrag war eine interessante Auswahl an dienstäglichen Techsessions während des Intel Developer Forums dran. Heute folgt der Mittwoch mit einer Selektion besuchenswerter Workshops und Vorträge. Ach ja: Am zweiten Tag des IDF beginnen die Techsessions erst um 13:05 Uhr PDT (22:05 MESZ), da vormittags zwei Keynote-Sessions anstehen und die Organisatoren obendrein die [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem <a title="IDF09: Techsessions zu Atom-CPU, Moblin und mehr" href="http://www.software-dev-blog.de/idf09-techsessions-zu-atom-cpu-moblin-und-mehr/09/2009/">gestrigen Blogbeitrag</a> war eine interessante Auswahl an dienstäglichen Techsessions während des <a title="IDF-Website" href="http://www.intel.com/IDF/" target="_blank">Intel Developer Forums</a> dran. Heute folgt der Mittwoch mit einer Selektion besuchenswerter Workshops und Vorträge.</p>
<p>Ach ja: Am zweiten Tag des IDF beginnen die Techsessions erst um 13:05 Uhr PDT (22:05 MESZ), da vormittags zwei Keynote-Sessions anstehen und die Organisatoren obendrein die anwesenden Entwickler dazu ermutigen wollen, den <a title="Mehr Infos zum Ausstellerbereich" href="http://www.intel.com/idf/technology/" target="_blank">Ausstellerbereich</a> (Technology Showcase) zu besuchen.</p>
<p><strong>13:05 Uhr PDT (22:05 MESZ):</strong> Parallel-Guru und Product Unit Manager <a title=" Videochat mit Steve Teixeira, Microsoft-Parallel-Guru " href="http://www.software-dev-blog.de/videochat-mit-steve-teixeira-microsoft-parallel-guru/11/2008/">Steve Teixeira</a> wird 50 Minuten lang über das geplante .NET-4-Framework mit all seinen Vorzügen für Parallelprogrammierer reden. Dabei geht es unter anderem um die Parallel Extensions und das task-basierte Debuggen mithilfe von Visual Studio 2010. Und ein kurzes Produkt-Update gibt es bestimmt auch.</p>
<p><strong>13:05 Uhr PDT (22:05 MESZ): </strong>Wer die Intel Threading Building Blocks mal in Aktion sehen will, sollte in den Raum 2000 kommen, um dem Workshop von Victoria Gromova beizuwohnen. Und allen, die den Termin nicht schaffen, empfehle ich <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">die ein</a> oder <a title="Mit Intel Threading Building Blocks parallel programmieren" href="http://www.software-dev-blog.de/mit-intel-threading-building-blocks-parallel-programmieren/12/2008/">andere Lektüre</a>.</p>
<p><strong>14:05 Uhr PDT (23:05 MESZ): </strong>Eine Techsession mit dem Titel &#8220;Next Generation Core-to-Core Interconnects for Many-Core Processors&#8221; sollte man eher nicht versäumen. In dem Workshop geht es unter anderem um die Themen Latency, Bandbreite und Traffic Management bei Prozessorverbünden. Aber auch um die möglichen Ansätze, solche Hochgeschwindigkeits-Netze aufzubauen.</p>
<p><span id="more-1166"></span></p>
<p><strong>14:05 Uhr PDT (23:05 MESZ): </strong>Ich sag mal: Qual der Wahl, denn zeitgleich zu der Many-Core-Session gibt es im Raum 3016 interessante Einsichten in das Innenleben von Moorestown, der zukünftigen MID-, Smartphone- und Netbook-Plattform von Intel. Hier erfährt man alles über SOC (System-on-a-chip) im 45-nm-Fertigungsverfahren, verbessertes Energiemanagement inklusive verlängerter Batterielaufzeiten und weitere interessante Details.</p>
<p><strong>15:05 Uhr PDT (24/9, 00:05 MESZ): </strong>Im April dieses Jahres habe ich bereits <a title=" ISC’09: die Zukunft der parallelen Programmierung " href="http://www.software-dev-blog.de/isc09-die-zukunft-der-parallelen-programmierung/04/2009/">über das Ct-Projekt berichtet</a>, das noch in diesem Jahr in seine Beta-Phase überführt werden soll. Hinter dem Begriff Ct verbirgt sich eine Weiterentwicklung von C++, und zwar für datenbasierte Anwendungen, die beispielsweise bei der Bildbearbeitung oder dem Videoschnitt zum Einsatz kommen. Und genau darüber werden vier Intel-Experten 50 Minuten lang reden: Wie Ct Entwicklern dabei hilft, skalierende Anwendungen zu entwerfen und zu programmieren. Dabei gibt es auch diverse Beispiele zu begutachten.</p>
<p><strong>16:05 Uhr PDT (24/9, 1:05 MESZ): </strong>Um kurz nach vier kommen wieder alle Mobil-Geeks auf ihre Kosten: In einer 50-minütigen Techsession gibt es einen Rundumschlag in Sachen Moblin, der Linux-Distribution für mobile Endgeräte. Die anwesenden Entwickler erfahren also, warum Netbooks und andere Gadgets auf Moblin-Basis so schnell booten, was die Hauptbestandteile des Moblin-Kerns sind und was es mit den Fachbegriffen Clutter, GeoClue und ConnMan auf sich hat.</p>
<p><strong>16:05 Uhr PDT (24/9, 1:05 MESZ): </strong>Darüber berichtet habe ich ja schon, in Aktion gesehen habe ich ihn allerdings noch nicht: <a title="Parallel Studio: Das leistet der Parallel Advisor Lite" href="http://www.software-dev-blog.de/parallel-studio-das-leistet-der-parallel-advisor-lite/05/2009/">Parallel Advisor</a>, der künftig fester Bestandteil von <a title="GDC09-Video: So funktioniert Intel Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a> werden soll. Daher heißt er auch noch Parallel Advisor Lite und ist in der Lage, diejenige Abschnitte im C++-Code zu finden, die sich besonders für das Multithreaden eignen. Der Advisor trägt aber auch dazu bei, strukturierter zu programmieren und damit weniger fehleranfälligen Sourcecode zu generieren.</p>
<p><strong>17:15 Uhr PDT (24/9, 2:15 MESZ):</strong> Moblin überall, so könnte man das diesjährige IDF fast bezeichnen. Daher gibt es um Viertel nach fünf lokaler Zeitrechnung einen guten Überblick, wie sich Anwendungen für das Linux-Derivat programmieren lassen. Robert Bradfort und Bob Spencer werden hierfür Einblicke gewähren in das Moblin SDK, in die APIs, wie sich Web-Apps programmieren lassen und welche Tools sonst nocht bei der Erstellung Moblin-basierter Programme helfen.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/&via=sw_devtwits&text=IDF09: Weitere Techsessions zu Multicore, Moblin und Co. &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/&via=sw_devtwits&text=IDF09: Weitere Techsessions zu Multicore, Moblin und Co. &related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/idf09-weitere-techsessions-zu-multicore-moblin-und-co/09/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multicore-Workshop mit Jeffrey Richter parallel zur Basta</title>
		<link>http://www.software-dev-blog.de/multicore-workshop-mit-jeffrey-richter-parallel-zur-basta/09/2009/</link>
		<comments>http://www.software-dev-blog.de/multicore-workshop-mit-jeffrey-richter-parallel-zur-basta/09/2009/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 10:35:47 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1158</guid>
		<description><![CDATA[Von 21. bis 25. September findet in Mainz die Basta! 2009 statt, eine der größten unabhängigen Entwicklerkonferenzen in diesem Land. Gerne würde ich ja dort hinfahren, um mir die eine oder andere Session anzuhören und darüber zu bloggen. Besonders interessant finde ich natürlich den Multicore-Workshop von Jeffrey Richter, der parallel zur Basta an drei Tagen [...]]]></description>
			<content:encoded><![CDATA[<p>Von 21. bis 25. September findet in Mainz die <a title="Mehr Infos zur Basta! 2009" href="http://www.software-dev-blog.de/basta-spring-2009-c40-visual-studio-2010-und-mehr/12/2008/" target="_blank">Basta! 2009</a> statt, eine der größten unabhängigen Entwicklerkonferenzen in diesem Land. Gerne würde ich ja dort hinfahren, um mir die eine oder andere Session anzuhören und darüber zu bloggen. Besonders interessant finde ich natürlich den <a title="Mehr Infos zum Multicore-Workshop von Jeffrey Richter" href="http://entwickler-akademie.de/codecamps/workshop-jeffrey-richter" target="_blank">Multicore-Workshop von Jeffrey Richter</a>, der parallel zur Basta an drei Tagen stattfindet.</p>
<p>Nun ist es aber so, dass ich von 21. bis 27. September in San Francisco weilen werde, um mich ebenfalls an drei Tagen auf dem <a title="Mehr Infos zur IDF 2009" href="http://www.intel.com/IDF/" target="_blank">Intel Developer Forum</a> über die neuesten Entwicklungen aus dem Hause Intel in Sachen Programmierung und mehr zu informieren. Und da ich leider nicht an zwei Orten gleichzeitig sein kann, habe ich mir schon mal den <a title="Das Basta!-Programm auf einen Blick" href="http://it-republik.de/konferenzen/planer/basta09_timetable.html" target="_blank">Workshop-Plan</a> ein wenig genauer angesehen. Darüber hinaus habe ich weitere Infos bei der Veranstalterin der Basta angefragt. Hoffentlich bekomme ich etwas zugeschickt. Damit ich es mit euch teilen kann.</p>
<p>Bis dahin lohnt sich auf jeden Fall ein kurzer Blick in die geplanten Inhalte des Power-Workshops von Jeffrey:</p>
<p>Der Titel des Ganzen lautet &#8220;Mastering .NET and Preparing for the Multi-Core Revolution&#8221;, findet von Montag bis Mittwoch von jeweils 9 bis 18 Uhr im Hotel Contel Mainz statt und kostet regulär 1.550 Euro. Falls sich drei Kollegen aus demselben Unternehmen anmelden, kommt der Workshop 100 Euro günstiger. Und für alle, die sich <a title="Zum Anmeldeformular" href="https://www.entwickler.com/ssl/formtool/index.php?id=66" target="_blank">noch heute anmelden</a>, gibt&#8217;s ein Netbook mit sämtlichen Ausgaben des <em>dot.NET</em> Magazins obendrauf.</p>
<p><span id="more-1158"></span>Für das Geld bekommt man eine ganze Menge: Freien Eintritt zu Basta,  Rundum-Verpflegung und ein Zertifikat der Entwickler-Akademie &#8211; und obendrein macht ihr euch fit für das Multicore-Zeitalter. Dabei geht es um folgende Inhalte:</p>
<ul>
<li>So gehe ich richtig mit Programmierfehlern mithilfe der Ausnahmebehandlung (exception handling) um.</li>
</ul>
<ul>
<li>So implementiert der C#-Compiler anonyme Methoden und Lambda-Funktionen.</li>
</ul>
<ul>
<li>So ermöglicht und unterstützt C# die funktionale Programmierung.</li>
</ul>
<ul>
<li>Sinn und Bedeutung von Threads und wie sich diese positiv auf die Leistungsfähigkeit einer Anwendung auswirken.</li>
</ul>
<ul>
<li>So vereinfacht der CLR-Threadpool die Programmierung von C#-Anwendungen und beschleunigt diese.</li>
</ul>
<ul>
<li>So führt Windows synchrone und asynchrone I/O-Operationen aus &#8211; wie .NET-Entwickler dies zu ihren Gunsten ausnutzen können.</li>
</ul>
<ul>
<li>So teste ich ein parallel programmiertes C#-Programm mithilfe von .NET-Bordmitteln.</li>
</ul>
<p>Diese und viele weitere Aspekte der Parallelprogrammierung werden also im Detail besprochen. Und, ist das nix?!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-workshop-mit-jeffrey-richter-parallel-zur-basta/09/2009/&via=sw_devtwits&text=Multicore-Workshop mit Jeffrey Richter parallel zur Basta&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/multicore-workshop-mit-jeffrey-richter-parallel-zur-basta/09/2009/&via=sw_devtwits&text=Multicore-Workshop mit Jeffrey Richter parallel zur Basta&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/multicore-workshop-mit-jeffrey-richter-parallel-zur-basta/09/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallel programmieren für 100 $: Intel-Gewinnspiel</title>
		<link>http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/</link>
		<comments>http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 12:46:10 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Gewinnspiel]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1156</guid>
		<description><![CDATA[Intel nennt es &#8220;Threading Challenge 2009&#8243;, hat sich dafür den recht griffigen Claim &#8220;Code your future&#8221; ausgedacht und mittlerweile die zweite Phase des Programmierwettbewerbs gestartet. Dieser zweite Abschnitt umfasst wieder sechs Aufgaben, die alle möglichst gut gelöst werden sollen. Und zu gewinnen gibt es natürlich auch etwas: Jede am besten gelöste Aufgabe ist Intel 100 [...]]]></description>
			<content:encoded><![CDATA[<p>Intel nennt es <a title="Startseite des Programmierwettbewerbs" href="http://software.intel.com/en-us/contests/Threading-Challenge-2009/codecontest.php" target="_blank">&#8220;Threading Challenge 2009&#8243;</a>, hat sich dafür den recht griffigen Claim &#8220;Code your future&#8221; ausgedacht und mittlerweile die zweite Phase des Programmierwettbewerbs gestartet. Dieser zweite Abschnitt umfasst wieder sechs Aufgaben, die alle möglichst gut gelöst werden sollen. Und zu gewinnen gibt es natürlich auch etwas: Jede am besten gelöste Aufgabe ist Intel 100 US-Dollar wert, die in Form eines Visa-Geschenkcoupons überreicht werden. Und der Gesamtsieger pro Phase kann darüber hinaus ein schickes Netbook abgreifen. Die genauen Regeln dazu findet ihr <a title="Die Regeln des Programmierwettbewerbs" href="http://software.intel.com/en-us/articles/threading-challenge-2009-official-rules/" target="_blank">hier</a>.</p>
<p>Die erste Aufgabe beschäftigt sich übrigens mit der Matrizen-Multiplikation, und zwar auf Basis des <a title="Wiki-Infos zum Strassen-Algorithmus" href="http://de.wikipedia.org/wiki/Strassen-Algorithmus" target="_blank">Strassen-Algorithmus</a>. Hierfür muss ein kleines parallelisiertes Programm geschrieben werden, das auf einer <a title="Die serielle Berechnung der Matrizenmultiplikation" href="http://software.intel.com/file/21818" target="_blank">vorgegebenen seriellen Lösung</a> des Problemes basiert. Mithilfe des Strassen-Algorithmus ist also die parallele Version der seriellen Anwendung zu programmieren. Dabei müssen bestimmte Dinge wie Rumpf der Hauptfunktion erhalten bleiben, andere Dinge wie das Reservieren von notwendigem Speicher dürfen (und müssen) angepasst werden.</p>
<p>Zur Berurteilung der Güte der eingereichten Lösung wird übrigens die Zeit herangezogen, die das kleine Programm für die Matrizenmultiplikation benötgit. Da heißt es also sich anstrengen, um eine möglichst kurze Laufzeit herauszubekommen. Mehr Infos dazu bekommt man auf der <a title="Wettbewerbsseite" href="http://software.intel.com/en-us/contests/Threading-Challenge-2009/codecontest.php" target="_blank">Wettbewerbsseite</a>. Viel Spaß und Glück beim Programmieren!</p>
<p><em><strong>Ach ja:</strong></em> Die <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel Threading Building Blocks</a> könnten beim Lösen der Aufgabe helfen. Nur so als kleiner Tipp &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/&via=sw_devtwits&text=Parallel programmieren für 100 $: Intel-Gewinnspiel&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/&via=sw_devtwits&text=Parallel programmieren für 100 $: Intel-Gewinnspiel&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/parallel-programmieren-und-gewinnen-intel-gewinnspiel/09/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel und Rapidmind gemeinsam in Sachen Multicore</title>
		<link>http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/</link>
		<comments>http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 14:08:17 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[IDF09]]></category>
		<category><![CDATA[Kooperation]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1154</guid>
		<description><![CDATA[Intel hat kürzlich die Multicore-Schmiede Rapidmind akquiriert. Da könnte man im ersten Moment die Frage stellen: &#8220;Warum tut Intel so etwas?&#8221; Schließlich gibt der Prozessorhersteller seit vielen Jahren große Dollarbeträge für Tools aus, die Software-Entwickler dabei helfen sollen, ihre Anwendungen für die zahlreichen Intel-Plattformen zu optimieren. Sieht man sich aber das Portfolio von Rapidmind etwas [...]]]></description>
			<content:encoded><![CDATA[<p>Intel hat kürzlich die Multicore-Schmiede <a title="Rapidmind + Intel " href="http://software.intel.com/en-us/blogs/2009/08/19/rapidmind-intel/" target="_blank">Rapidmind akquiriert</a>. Da könnte man im ersten Moment die Frage stellen: &#8220;Warum tut Intel so etwas?&#8221; Schließlich gibt der Prozessorhersteller seit vielen Jahren große Dollarbeträge für <a title="GDC09: Spieletitel für integrierte Grafikchips optimieren" href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Tools</a> aus, die Software-Entwickler dabei helfen sollen, ihre Anwendungen für die zahlreichen Intel-Plattformen zu optimieren. Sieht man sich aber das <a title="Rapidmind-Portfolio" href="http://rapidmind.com/product.php" target="_blank">Portfolio von Rapidmind</a> etwas genauer an, wird schnell klar: Dieser Zusammenschluss folgt einer klaren Logik und bietet für beiden Seiten große Vorteile.</p>
<p>Zum einen werden die Rapidmind-Produkte und Lösungen in Zukunft von Intel vermarktet, was deren Reichweite natürlich drastisch erhöht. Zum anderen kommt Intel in den Genuss, die volle Bandbreite &#8211; sowohl technologisch als auch ressourcen-seitig &#8211; von Rapidmind zu nutzen. Und das geht meines Erachtens in diverse Richtungen.</p>
<p>Rapidmind-Tools wie Code Optimizer, Load Balancer, Data Manager und Diagnostics sind möglicherweise sehr gute Ergänzungen zu den vorhandenen Intel-Werkzeugen wie <a title="GDC09: So funktioniert Intel Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio,</a> <a title="Vergleich: Intel Thread Checker versus Parallel Inspector" href="http://www.software-dev-blog.de/vergleich-intel-thread-checker-versus-parallel-inspector/07/2009/">Thread Checker</a> und <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel TBB</a>. Vor allem, wenn man die Bandbreite der unterstützten Hardware seitens der Rapidmind-Tools genauer betrachtet: Ok, AMD-Prozessoren wird Intel wohl nicht im Visier haben, aber Grafiklösungen wie die kommende <a title="GDC09: Effizient und parallel mit Larrabee programmieren" href="http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/">Larrabee-Plattform</a> waren für Intel sicherlich ein wichtiger Kaufgrund.</p>
<p><span id="more-1154"></span>Auch die Nähe der Rapidmind-Werkzeuge zu Embedded Hardware ist für Intel sehr interessant. Denn das <a title="Webseite des Intel Developer Forum" href="http://www.intel.com/IDF/" target="_blank">IDF</a> steht vor der Tür, und was könnte dort angekündigt werden? Genau, die nächste Generation des Atom-Prozessors. Und der könnte ja mit zwei Prozessorkernen ausgestattet sein. Dann kommt Rapidmind erst richtig zum Zug.</p>
<p>Und nicht zuletzt der Blick auf die unterstützten Betriebssysteme lässt den Deal zwischen Intel und Rapidmind logisch erscheinen. Neben Mac OS X und Windows stehen nämlich diverse Linux-Distributionen auf der Liste der kompatiblen Rapidmind-Produkte. Unter anderen wird das Linux-Derivat Fedora unterstützt. Und wo steckt Fedora drin? Na? Stimmt, im Intel-eigenen Linuxprojekt <a title="Webseite von moblin.org" href="http://moblin.org/" target="_blank">Moblin</a>, das ja hauptsächlich auf Netbooks laufen soll, in denen möglicherweise demnächst Dualcore-Atom-CPUs werkeln. So kommt dann eins zum anderen, oder?!</p>
<p>Na, wir werden sehen, wie sich das Ganze entwickelt. Ich werde mir auf dem Intel Developer Forum auf jeden Fall die Zeit nehmen, die Rapidmind-Produkte aus nächster Nähe zu begutachten und mit den zuständigen Entwicklern über meine Vermutungen zu reden. Und vielleicht gibt&#8217;s ja dann auch schon mehr in Sachen Atom-Prozessor zu berichten.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/&via=sw_devtwits&text=Intel und Rapidmind gemeinsam in Sachen Multicore&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/&via=sw_devtwits&text=Intel und Rapidmind gemeinsam in Sachen Multicore&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/intel-und-rapidmind-gemeinsam-in-sachen-multicore/08/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mac OS X 10.6 erleichtert die Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/</link>
		<comments>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 16:06:42 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1152</guid>
		<description><![CDATA[Anfang Dezember vorigen Jahres hab ich schon mal ein wenig über die nächste OS-Version des Apple-Betriebssytems geschrieben. Und gestern erreichte mich eine E-Mail mit folgendem Inhalt: Hallo, vor wenigen Minuten solltest Du die Pressemeldung zu Mac OS X Snow Leopard bekommen haben. Am Freitag, 28. August, etwas früher als erwartet, ist die neue Version des [...]]]></description>
			<content:encoded><![CDATA[<p>Anfang Dezember vorigen Jahres hab ich schon mal ein wenig über die nächste OS-Version des Apple-Betriebssytems <a title="Apple Mac OS X 10.6 mit hohem Multicore-Potenzial" href="http://www.software-dev-blog.de/apple-mac-os-x-106-mit-hohem-multicore-potenzial/12/2008/">geschrieben</a>. Und gestern erreichte mich eine E-Mail mit folgendem Inhalt:</p>
<blockquote><p>Hallo,</p>
<p>vor wenigen Minuten solltest Du die Pressemeldung zu Mac OS X Snow Leopard bekommen haben. Am Freitag, 28. August, etwas früher als erwartet, ist die neue Version des fortschrittlichsten Betriebssystems der Welt erhältlich!</p>
<p>Wir möchten Dich noch am selben Tag zu einem kurzen Pressebriefing zur neuen Version des Desktop-Betriebssystems einladen, um Dir einige der Wichtigsten der neuen Verbesserungen und Technologien vorzustellen &#8211; von &#8216;Grand Central Dispatch&#8217; (GCD) bis zur serienmäßigen Unterstützung für Microsoft Exchange.</p>
<p>Lust und Zeit aus erster Hand alles über Mac OS X Snow Leopard zu erfahren, mit den Fachleuten zu diskutieren und selbstverständlich im Anschluss an das Briefing eine Version der neuen Software mitzunehmen?!</p></blockquote>
<p>Ob ich Lust und Zeit habe?! Na klar habe ich. Denn ich will endlich ein wenig mehr wissen über die geplanten Features des Schneeleoparden, wenngleich es kein ganz großes Update wird. Aber eins steht schon fest: Apple spendiert seiner sechsten OS-X-Version ein neues Tool, mit dem das Programmieren von Multicore-Anwendungen einfacher werden soll: <strong>Grand Central Dispatch (GCD)</strong>.</p>
<p>GCD wird Bestandteil des OS-X-Kernels sein und damit nicht anwendungs-, sondern betriebssystem-nah arbeiten. Und das wiederum soll eine Vereinfachung der Multicore-Programmierung mit sich bringen, da nicht mehr einzelne Multithread-Anwendungen aufeinander abgestimmt werden müssen. Hierfür soll GCD die globale Verwaltung der notwendigen Threads übernehmen und nicht mehr benötigte Ressourcen automatisch freigeben.</p>
<p><span id="more-1152"></span>Aber für all diese Verbesserungen braucht es natürlich ein wenig Wissen und diverse <a title="Videocast: So funktioniert Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Tools</a>, mit denen sich vor allem das Laufzeitverhalten parallel ablaufender Anwendungen untersuchen lässt. Hiefür bietet Apple seinen Entwicklern beispielsweise ein Debugger-Tool, das in die Entwicklerumgebung Xcode integriert ist. Oder das Analysetool &#8220;Instruments&#8221;, mit dem man zur Laufzeit in GCD hineingucken kann, um mögliche Schwachstellen oder Programmierfehler aufzudecken. Damit soll es sogar möglich sein, Warteschlangen zu untersuchen, und das auf Code-Ebene.</p>
<p>Dann bin ich schon mal sehr gespannt auf den Freitag und was Apple zu Snow Leopard zu erzählen hat. Und mit etwas Glück erfahre ich vom anwesenden Produktmanager mehr über GCD und ob es <a title="Mit Intel Thread Checker und Parallel Inspector Dead Locks und Konsorten aufspüren" href="http://www.software-dev-blog.de/vergleich-intel-thread-checker-versus-parallel-inspector/07/2009/">Dinge wie Dead Locks</a> und andere fiese Sachen zur Laufzeit entdeckt. Mal sehen.</p>
<p><em><strong>Lesetipp:</strong></em> Für alle, die jetzt mehr Lust bekommen haben auf Grand Central Dispatch, hat Apple <a title="Mehr zu GCD lesen" href="http://images.apple.com/euro/macosx/technology/docs/GrandCentral_TB_brief_20090608.pdf" target="_blank">ein PDF online</a> gestellt, das schon mal die wichtigsten Fragen beantwortet. Das werde ich mir beizeiten genauer ansehen. So, stay tuned &#8230;</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/&via=sw_devtwits&text=Mac OS X 10.6 erleichtert die Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/&via=sw_devtwits&text=Mac OS X 10.6 erleichtert die Multicore-Programmierung&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/mac-os-x-106-erleichtert-die-multicore-programmierung/08/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Von Crytek bis Larrabee: Das war die GDC09</title>
		<link>http://www.software-dev-blog.de/von-crytek-bis-larrabee-das-war-die-gdc09/08/2009/</link>
		<comments>http://www.software-dev-blog.de/von-crytek-bis-larrabee-das-war-die-gdc09/08/2009/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 12:58:32 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1150</guid>
		<description><![CDATA[Sodala, die Game Developers Conference 2009 ist Geschichte und wir präsentieren nochmals die schönsten Bilder der Entwicklerkonferenz. Ob CryEngine 3 samt Interview mit Cevat Yerli, Techsessions zu CPU-Fragen, Larrabee, Parallel Studio, Intel Graphics Performance Analyzer oder Duale Zahlen &#8211; wir hatte unseren Spaß und haben eine ganze Menge gelernt. Und die Entwickler hatten auch etwas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="464" height="261" data="http://www.youtube.com/v/FM0-P268f3o&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FM0-P268f3o&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>Sodala, die Game Developers Conference 2009 ist Geschichte und wir präsentieren nochmals die schönsten Bilder der Entwicklerkonferenz. Ob <a title="GDC09: Mit CryEngine für PC, XBox und Co. entwickeln" href="http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/">CryEngine 3</a> samt <a title="GDC09: Warum die nächste CryEngine erst 2012 kommt" href="http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/">Interview mit Cevat Yerli</a>, Techsessions zu <a title="GDC09: Warum CPUs für Spieleentwickler wichtig sind" href="http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/">CPU-Fragen</a>, <a title="GDC09: Effizient und parallel mit Larrabee programmieren" href="http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/">Larrabee</a>, <a title="GDC09: So funktioniert Intel Parallel Studio" href="http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/">Parallel Studio</a>, <a title="GDC09: Spieletitel für integrierte Grafikchips optimieren" href="http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/">Intel Graphics Performance Analyzer</a> oder <a title="GDC09: Wie Programmierer von Dualen Zahlen profitieren" href="http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/">Duale Zahlen</a> &#8211; wir hatte unseren Spaß und haben eine ganze Menge gelernt.</p>
<p>Und die Entwickler hatten auch etwas davon &#8211; na, mal vor allem die, die eines der vier <a title="GDC09: Netbook-Verlosung am Intel-Stand" href="http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/">Netbooks gewonnen</a> haben. Alle anderen hoffentlich auch. Also, wir sehen uns (wieder) im nächsten Jahr. Gleiche Stelle, gleich Welle. Tschö und macht et jut!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/von-crytek-bis-larrabee-das-war-die-gdc09/08/2009/&via=sw_devtwits&text=Von Crytek bis Larrabee: Das war die GDC09&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/von-crytek-bis-larrabee-das-war-die-gdc09/08/2009/&via=sw_devtwits&text=Von Crytek bis Larrabee: Das war die GDC09&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/von-crytek-bis-larrabee-das-war-die-gdc09/08/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GDC09:  Mit CryEngine für PC, XBox und Co. entwickeln</title>
		<link>http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 06:28:42 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1148</guid>
		<description><![CDATA[Am gestrigen dritten und letzten Tag der Game Developers Conference 2009 hatten wir noch ein richtiges &#8220;Wow&#8221;-Erlebnis. Und zwar am Crytek-Stand, wo wir Zeuge einer Präsentation wurden, in der es um die brandneue Entwicklungsumgebung von Crytek geht. Diese versteht sich als Komplementärprodukt zur CryEngine 3, die sich ja noch im Beta-Status befindet. Was wir von [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="464" height="261" data="http://www.youtube.com/v/25L1Wx97CFM&amp;hl=de&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/25L1Wx97CFM&amp;hl=de&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Am gestrigen dritten und letzten Tag der Game Developers Conference 2009 hatten wir noch ein richtiges &#8220;Wow&#8221;-Erlebnis. Und zwar am Crytek-Stand, wo wir Zeuge einer Präsentation wurden, in der es um die brandneue Entwicklungsumgebung von Crytek geht. Diese versteht sich als Komplementärprodukt zur CryEngine 3, die sich ja noch im Beta-Status befindet. Was wir von dem CryEngine-Backend sehen konnten, war mehr als beeindruckend.</p>
<p>So wird es möglich sein, ein neues Spiel für alle drei Plattformen &#8211; also PC, PlayStation und XBox &#8211; gleichzeitig zu entwickeln. Dabei lassen sich sämtliche Veränderungen an einem Level in Echtzeit testen &#8211; auf allen drei Plattformen. Das wird natürlich die notwendigen Entwicklungszeiten drastisch reduzieren. Das geht sogar so weit, dass Veränderungen an einem Gamelevel beim Ausfall einer der drei Plattformen nach deren Neustart automatisch aktualisiert werden &#8211; ein weiterer wesentlicher Vorteil für Spieleentwickler.</p>
<p>Aber auch die Integration von weiteren Tools wie <em>Photoshop</em> in die Crytek&#8217;sche Entwicklerumgebung hat es in sich: So lassen sich beispielsweise bestehende Texturen per einfachem Drag&#8217;n'Drop in die Bildbearbeitungssoftware kopieren, verändern und wieder per Mausklick in den Gamelevel übernehmen. Wirklich sehr trivial. Aber auch das Erstellen neuer Objekte wir Inseln, Felsen etc. geschieht schnell und einfach per Maus. Es war wohl noch nie leichter, Game-Designer zu sein &#8230;</p>
<p>Auf die CryEngine-3-Spiele kann man sich also wirklich freuen, wenngleich die Unterschiede zur CryEngine 2 nicht so dramatisch ausfallen werden. Außerdem müssen wir uns noch ein wenig gedulden, bis die nächste CryEngine ansteht. Denn das kann locker 2012 werden, wie wir <a title=" GDC09: Warum die nächste CryEngine erst 2012 kommt " href="http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/">von Cevat Yetil (CEO von Crytek) erfahren haben</a>.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/&via=sw_devtwits&text=GDC09:  Mit CryEngine für PC, XBox und Co. entwickeln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/&via=sw_devtwits&text=GDC09:  Mit CryEngine für PC, XBox und Co. entwickeln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-mit-cryengine-fur-pc-xbox-und-co-entwickeln/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Wie Programmierer von Dualen Zahlen profitieren</title>
		<link>http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:52:27 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1145</guid>
		<description><![CDATA[Vor einer Woche hatte ich angekündigt, dass wir uns die Session &#8220;Dual Numbers: Simple Math, Easy C++ Coding and Lots of Tricks&#8221; ansehen werden. Und genau das haben wir heute getan. Nur so viel: Tough stuff! Damit wir hier nix Falsches erzählen, konnten wir Gino van den Bergen zu einem Interview überreden, damit er uns [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einer Woche hatte ich <a title=" Wichtige Techsessions der GDC09 auf einen Blick " href="http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/">angekündigt</a>, dass wir uns die Session &#8220;Dual Numbers: Simple Math, Easy C++ Coding and Lots of Tricks&#8221; ansehen werden. Und genau das haben wir heute getan. Nur so viel: Tough stuff!</p>
<p>Damit wir hier nix Falsches erzählen, konnten wir Gino van den Bergen zu einem Interview überreden, damit er uns etwas über Duale Zahlen erzählt: Worum es in seinem Vortrag ging, warum Spieleentwickler auf Duale Zahlen setzen sollten und was das Ganze mit Larrabee zu tun hat.</p>
<p>Nur soviel: Es geht um &#8220;Clean Code&#8221;, um die Vereinfachung der Differentialrechnung, und andere schöne Dinge, mit denen vor allem Spieleprogrammierer zu tun haben.</p>
<p>Und jetzt: Film ab!</p>
<p style="text-align: center;">
<p style="text-align: center;"><object width="464" height="261" data="http://www.youtube.com/v/RlcbyOdvRZA&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/RlcbyOdvRZA&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/&via=sw_devtwits&text=GDC09: Wie Programmierer von Dualen Zahlen profitieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/&via=sw_devtwits&text=GDC09: Wie Programmierer von Dualen Zahlen profitieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-wie-programmierer-von-dualen-zahlen-profitieren/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Spieletitel für integrierte Grafikchips optimieren</title>
		<link>http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:09:28 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Optimieren]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1144</guid>
		<description><![CDATA[Anlässlich der Game Developers Conference 2009 in Köln betrat Steve Hughes von Intel die Bühne, um über ein Tool zu sprechen, von dem hier schon öfter die Rede war: Intel Graphics Performance Analyzer. Mithilfe dieses kleinen Software-Werkzeugs können Spieleentwickler wie Sega ihre Titel so optimieren, dass sie nicht nur auf Desktop-PCs mit diskreter Grafikkarte vernünftig [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="464" height="261" data="http://www.youtube.com/v/FRQoY6zDsxQ&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FRQoY6zDsxQ&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>Anlässlich der Game Developers Conference 2009 in Köln betrat Steve Hughes von Intel die Bühne, um über ein Tool zu sprechen, von dem hier <a title=" Warum Demigod auch auf Notebooks spielbar ist " href="http://www.software-dev-blog.de/warum-demigod-auch-auf-notebooks-spielbar-ist/07/2009/">schon öfter</a> <a title=" Analysetool für DirectX-Games für mehr Laptop-Performance " href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">die Rede</a> war: Intel Graphics Performance Analyzer. Mithilfe dieses kleinen Software-Werkzeugs können <a title=" Warum “Empire: Total War” auf Notebooks so gut läuft" href="http://www.software-dev-blog.de/warum-empire-total-war-auf-notebooks-so-gut-lauft/07/2009/">Spieleentwickler wie Sega</a> ihre Titel so optimieren, dass sie nicht nur auf Desktop-PCs mit diskreter Grafikkarte vernünftig laufen, sondern auch auf Rechnern mit integriertem Grafikchip.</p>
<p>Um dabei eine optimale Balance aus flüssigem Gameplay und möglichst detail- und effektreichen Bildern zu garantieren, ermittelt Intel GPA vorhandene Hotspots eines Spieletitels wie in <em>Empire: Total War</em>. Hierfür haben die Software-Spezialisten der Sega Tech Group im Auftrag von Sega das komplette Spiel zu Testzwecken zweigeteilt: &#8220;Kampagnen&#8221; und &#8220;Schlachten&#8221;. Innerhalb dieser zwei Segmente wurden dann mithilfe des Intel GPA interessante Dinge identifiziert.</p>
<p><span id="more-1144"></span>Dazu gehörte beispielsweise das Rendern der Küstenlinie, was eine Menge an Rechenzeit beansprucht. Zuviel für ein System mit integrierter Grafik. Die Lösung war dann recht simpel: Shader-Befehle wurden vereinfacht, sodass die GPU weniger zu rechnen hat, ohne dass die Szenerie ihren Reiz verliert. Ähnlich verfuhren die Software-Entwickler in Sachen Regenschauer, die das Spiel auf Notebooks erheblich ausbremsten. So entschlossen sich die Sega-Ingenieure dazu, die einzelnen Regentropfen mit einer Textur zu überziehen, anstatt diese mithilfe eines aufwendigen Shaders berechnen zu lassen.</p>
<p>Nach seiner Präsentation hat sich Steve dann noch ein wenig Zeit genommen, um uns Intel Graphics Performance Analyzer in Aktion zu zeigen. Sehr sehenswert!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/&via=sw_devtwits&text=GDC09: Spieletitel für integrierte Grafikchips optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/&via=sw_devtwits&text=GDC09: Spieletitel für integrierte Grafikchips optimieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-spieletitel-fur-integrierte-grafikchips-optimieren/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Netbook-Verlosung am Intel-Stand</title>
		<link>http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 07:59:28 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Gewinnspiel]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1141</guid>
		<description><![CDATA[An den ersten beiden Tag verloste Intel auf der Game Developers Conference vier Netbooks, über die sich vier glückliche Gewinner freuen konnten. Natürlich waren wir mit unserer Videokamera dabei und haben die schönsten Bilder für euch zusammengeschnitten. Und es gab nicht nur Netbooks, sondern auch Bücher, USB-Sticks und Mauspads, die man ergattern konnte &#8211; wenn [...]]]></description>
			<content:encoded><![CDATA[<p>An den ersten beiden Tag verloste Intel auf der <a title="Alle GDC09-Beiträge auf einen Blick" href="http://www.software-dev-blog.de/tag/gdc09/">Game Developers Conference</a> vier <a title="Netbooks halten die Mobil-Industrie auf Trab" href="http://www.it-techblog.de/netbooks-halten-die-mobil-industrie-auf-trab/07/2009/" target="_blank">Netbooks</a>, über die sich vier glückliche Gewinner freuen konnten. Natürlich waren wir mit unserer Videokamera dabei und haben die schönsten Bilder für euch zusammengeschnitten. Und es gab nicht nur Netbooks, sondern auch <a title=" Buchtipp: Multicore-Programmierung lernen mit Intel " href="http://www.software-dev-blog.de/buchtipp-multicore-programmierung-lernen-mit-intel/12/2008/">Bücher</a>, USB-Sticks und Mauspads, die man ergattern konnte &#8211; wenn man nur schnell genug war.</p>
<p><object width="464" height="261" data="http://www.youtube.com/v/-aeSAdtKjZs&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/-aeSAdtKjZs&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/&via=sw_devtwits&text=GDC09: Netbook-Verlosung am Intel-Stand&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/&via=sw_devtwits&text=GDC09: Netbook-Verlosung am Intel-Stand&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-netbook-verlosung-am-intel-stand/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: So funktioniert Intel Parallel Studio</title>
		<link>http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 14:52:06 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1139</guid>
		<description><![CDATA[Am zweiten Tag der Game Developers Conference 2009 in Köln bot sich die Gelegenheit, Parallel Studio aus nächster Nähe zu betrachten. Edmund Preiss nahm sich nämlich die Zeit und weihte uns in die Geheimnisse der Entwickler-Suite ein. Ok, über Parallel Studio habe ich eigentlich schon alles gesagt und geschrieben, aber in gut vier Minuten bekommt [...]]]></description>
			<content:encoded><![CDATA[<p>Am zweiten Tag der <a title="Alle GDC09-Beiträge auf einen Blick" href="http://www.software-dev-blog.de/tag/gdc09/">Game Developers Conference 2009</a> in Köln bot sich die Gelegenheit, <a title="Happy Birthday, Parallel Studio!" href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">Parallel Studio</a> aus nächster Nähe zu betrachten. Edmund Preiss nahm sich nämlich die Zeit und weihte uns in die Geheimnisse der Entwickler-Suite ein. Ok, über Parallel Studio habe ich eigentlich schon alles gesagt und geschrieben, aber in gut vier Minuten bekommt ihr per Video sämtliche Infos auf einen Blick. Daher: Film ab!</p>
<p><object width="464" height="261" data="http://www.youtube.com/v/BfArU1Ee9_0&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/BfArU1Ee9_0&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/&via=sw_devtwits&text=GDC09: So funktioniert Intel Parallel Studio&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/&via=sw_devtwits&text=GDC09: So funktioniert Intel Parallel Studio&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-so-funktioniert-intel-parallel-studio/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Effizient und parallel mit Larrabee programmieren</title>
		<link>http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 11:36:26 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1136</guid>
		<description><![CDATA[Auf seine gestrige erste Larrabee-Session folgte heute Morgen Teil zwei. Steve McCalla referierte über &#8220;Gather&#8221;, &#8220;Swizzle&#8221;, &#8220;Predication&#8221; und andere komplexe Dinge. Die Idee dahinter ist letztlich immer dieselbe: Aufgrund der sehr breiter Vektorregister, die Larrabee neben der reinen x86-Architektur spendiert bekommt, lassen sich Schleifenkonstrukte, Additionen, Multiplikationen, Maskierungen und andere Operation sehr parallel und damit sehr [...]]]></description>
			<content:encoded><![CDATA[<p>Auf seine gestrige erste Larrabee-Session folgte heute Morgen Teil zwei. Steve McCalla referierte über <a title="GDC09: Paralleles Speichern, Laden und mehr mit Larrabee" href="http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/">&#8220;Gather&#8221;</a><a title="GDC09: Paralleles Speichern, Laden und mehr mit Larrabee " href="http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/">, &#8220;Swizzle&#8221;, &#8220;Predication&#8221;</a> und andere komplexe Dinge. Die Idee dahinter ist letztlich immer dieselbe: Aufgrund der sehr breiter Vektorregister, die Larrabee neben der reinen x86-Architektur spendiert bekommt, lassen sich Schleifenkonstrukte, Additionen, Multiplikationen, Maskierungen und andere Operation sehr parallel und damit sehr schnell ausführen.</p>
<p>Und das auf einer Vielzahl von Prozessorkernen, die sowohl für allgemeine Aufgaben taugen als auch für grafisch orientierte (wie viele Cores Larrabee verpasst bekommt, verrät Intel leider noch nicht). Die Schlussfolgerung daraus: Der Befehlssatz von Larrabee (LRBni genannt) wird hoch komplexe mathematische Aufgaben blitzschnell und sehr parallel berechnen.</p>
<p>Steve hat übrigens während seines heutigen Vortrags für besonders schlaue Fragen Mauspads verschenkt, was ziemlich gut ankam (können sich Software-Entwickler die kleinen Matten nicht leisten?!). Außerdem hat er ein wirklich interessantes Statement abgegeben:</p>
<p><span id="more-1136"></span></p>
<blockquote><p>Wenn Intel eine Software-Firma wäre, würden wir zu der größten ihrer Zunft gehören!</p></blockquote>
<p>Soll heißen: Intel beschäftigt mehrere tausend Software-Entwickler, die Jahr für Jahr <a title="Happy Birthday, Parallel Studio!" href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">neue Software-Tools</a> programmieren und <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">bestehende weiterentwickeln</a>. Damit andere Software-Programmierer die Intel-Prozessoren bestmöglich ausschöpfen können. Ganz in Steves Sinne!</p>
<p>Ach ja: Nach seiner zweiten Session hat sich Mister McCalla noch ein wenig Zeit genommen, um unsere Fragen zu beantworten. Wir wollten noch unbedingt wissen, <a title="GDC09: Vektorisierung und Rasterisierung mit Larrabee" href="http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/">warum sich Game-Programmierer</a> auf Larrabee freuen sollten.</p>
<p><object width="464" height="261" data="http://www.youtube.com/v/dEHGV6fxZEs&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/dEHGV6fxZEs&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/&via=sw_devtwits&text=GDC09: Effizient und parallel mit Larrabee programmieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/&via=sw_devtwits&text=GDC09: Effizient und parallel mit Larrabee programmieren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-effizient-und-parallel-mit-larrabee-programmieren/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Warum CPUs für Spieleentwickler wichtig sind</title>
		<link>http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 10:54:48 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1135</guid>
		<description><![CDATA[Auf seiner gestrigen Techsession gab es von Leigh Davies eine Menge nützliche Tipps, wie Spieleentwickler von den aktuellen und zukünftigen Prozessoren profitieren können. Wie ich ja bereits geschrieben habe, bietet vor allem der Core i7 eine ganze Menge nützlicher Features: hohe Bandbreiten, verbesserte Registerprogrammierung, Simultaneous Multithreading (ehemals Hyperthreading) und vieles mehr. Erst einmal ging es [...]]]></description>
			<content:encoded><![CDATA[<p>Auf seiner gestrigen Techsession gab es von Leigh Davies eine Menge nützliche Tipps, wie Spieleentwickler von den aktuellen und zukünftigen Prozessoren profitieren können. Wie ich ja <a title=" So profitieren Spieleentwickler von neuen Prozessoren " href="http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/">bereits geschrieben habe</a>, bietet vor allem der <a title="3D-Demo “Smoke” zeigt das wahre Core i7-Potenzial" href="http://www.software-dev-blog.de/3d-demo-smoke-zeigt-das-wahre-core-i7-potenzial/11/2008/">Core i7</a> eine ganze Menge nützlicher Features: hohe Bandbreiten, verbesserte Registerprogrammierung, Simultaneous Multithreading (ehemals Hyperthreading) und vieles mehr.</p>
<p>Erst einmal ging es aber um das Tic-Toc-Modell von Intel: Seit 2005 gibt es in den ungeraden Jahren eine neue Prozessorgeneration, in den geraden eine Verkleinerung derselben, da die Fertigungsprozesse ständig verbessert werden. Derzeit steht der grundlegende Wechsel von 45 zu 32 Nanometern an.</p>
<p>Natürlich kam in Leighs Session auch der berühmte Satz <a title="Artikel &quot; The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software&quot;" href="http://www.gotw.ca/publications/concurrency-ddj.htm" target="_blank">&#8220;The free lunch is over&#8221;</a> zum Einsatz (der zwar ein wenig überstrapaziert ist, aber immer noch Gültigkeit hat). Diese von Herb Sutter geprägte Aussage bezieht sich auf die Tatsache, das seit 2005 die Taktraten nur noch unwesentlich ansteigen (dafür aber die Zahl der Prozessorkerne). Das bedeutet vor allem für Software-Entwickler, dass sie in die Programmierung neuer (oder bestehender) Anwendungen mehr Hirnschmalz stecken müssen, da sie nur noch mit Multithreading und solchen Vorgängen ihre Apps schneller machen können.</p>
<p><span id="more-1135"></span>Daher lautete <em><strong>Tipp #1</strong></em> von Leigh an die anwesende Entwicklerschar: <em><strong>&#8220;Beschäftigt euch so früh wie möglich mit künftigen Prozessoren!&#8221;</strong></em> Nur dann schaffen die Entwickler es nämlich, das Optimum aus der Hardware herauszuholen und damit die eigene Anwendung leistungsfähiger zu machen.</p>
<p>Dazu gehört zum Beispiel die verfügbare Anzahl von Prozessorkerne und möglichen Threads pro Core, aber auch die Evolution der registernahen SIMD-Befehle, die derzeit in der Version 4.2 auf dem Core i7 implementiert sind. Aus diesem Grund lautet <em><strong>Tipp #2: &#8220;Eure Kunden haben SSE, also nutzt es!&#8221;</strong></em></p>
<p>Abschließend folgte Leighs <em><strong>Tipp #3</strong></em>, und der hat mit der Bestimmung der vorhandenen Prozessorkerne in einem PC zu tun: <em><strong>&#8220;Das &#8216;Erraten&#8217; von CPU-Kernen ist ziemlich gefährlich, also gebt euch Mühe, diese zu berechnen!&#8221;</strong></em> Hierfür gibt es übrigens detaillierte Codebespiele auf intel.com.</p>
<p>Ja, und anschließend stand uns Leigh Davies noch für drei schlaue Fragen samt schlauer Antworten parat. Daher: Film ab!</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/w2vlaIBWhaE&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/w2vlaIBWhaE&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/&via=sw_devtwits&text=GDC09: Warum CPUs für Spieleentwickler wichtig sind&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/&via=sw_devtwits&text=GDC09: Warum CPUs für Spieleentwickler wichtig sind&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-warum-cpus-fur-spieleentwickler-wichtig-sind/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Warum die nächste CryEngine erst 2012 kommt</title>
		<link>http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 14:55:18 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1133</guid>
		<description><![CDATA[Während seiner sehr gut besuchten Keynote-Session überraschte Crytek-CEO Cevat Yerli mit der Aussage, dass die nächste Game-Engine aus dem Hause Crytek noch rund drei Jahre, also bis 2012, auf sich warten lässt. Der Grund hierfür ist recht simpel: Anstatt hauptsächlich auf den PC als Spieleplattform zu setzen, wird sich Crytek in Zukunft auch auf XBox [...]]]></description>
			<content:encoded><![CDATA[<p>Während seiner sehr gut besuchten Keynote-Session überraschte Crytek-CEO Cevat Yerli mit der Aussage, dass die nächste Game-Engine aus dem Hause Crytek noch rund drei Jahre, also bis 2012, auf sich warten lässt. Der Grund hierfür ist recht simpel: Anstatt hauptsächlich auf den PC als Spieleplattform zu setzen, wird sich Crytek in Zukunft auch auf XBox und PlayStation fokussieren. Und mit der nächsten Generation der Videospielkonsolen ist eben nicht vor 2012 zu rechnen.</p>
<p>Ansonsten war die Keynote-Präsentation wenig spektakulär, bot aber trotzdem interessante Einblicke in die Evolution der CryEngine. Diese erblickte in Form des Spieletitels <em>Far Cry</em> quasi das Licht der Welt (das Spiel selbst wurde zwischen 2001 und 2004 entwickelt). Mit <em>Far Cry</em> waren zum ersten Mal Pixel Shading, Bumpmapping, Vertex Shading und HDR möglich &#8211; ein echter Meilenstein im 3D-Gaming also.</p>
<p>Im November 2007 folgte dann <em>Crysis</em>, das auf der Folgegeneration CryEngine 2 basiert. Damit sah sich selbst Crytek auf einem guten Weg in Sachen fotorealistisches Rendering. Ein wesentlicher Unterschied zur Vorgänger-Engine war die verbesserte Skalierbarkeit von CryEngine 2, sowohl bei den 3D-Daten als auch bei der Pipeline.</p>
<p><span id="more-1133"></span>Tja, und nun gibt es bereits CryEngine 3, die sich allerdings noch im Betastadium befindet. Die neuen Möglichkeiten sind allerdings jetzt schon sehr beeindruckend: Neben skalierendem Many-/Multicore-Support bietet CryEngine 3 weitreichende grafische Verbesserungen. Aber auch die Entwicklungsumgebung hat es in sich: Wie man sich am Crytek-Stand im Ausstellerbereich überzeugen kann, erlaubt das Entwicklersystem die parallele Kreation eines Spielelevels für PC, Xbox und PlayStation zur selben Zeit. Das ermöglicht ein sehr effizientes simultanes Testen eines neuen Levels. Dazu werden wir noch Bewegtbilder nachreichen.</p>
<p>Aber natürlich wagte Cevat auch einen Blick in seine Kristallkugel, was in Sachen 3D-Spiele auf uns zukommt: Dazu gehörte die Feststellung, dass künftige Grafikprozessoren immer leistungsfähiger, da paralleler werden und zudem immer mehr Prozessoraufgaben übernehmen werden (hallo, Larrabee). Daneben fand ich die Tatsache halbwegs überraschend, dass es noch bis 2012 dauern wird, bis wir Abschied nehmen werden von festen Auflösungen innerhalb eines Spiels. Daher werden sich Spieleentwickler weiterhin darauf konzentrieren müssen, ihre Designs weiter zu verfeinern, die Physics Engines zu verbessern und die AI zu erhöhen. Nur auf diesem Weg lassen sich Spiele weiterhin differenzieren.</p>
<p>Ach ja: Direkt im Anschluss an seine Keynote stellte sich Cevat Yerli unseren vier Fragen. Die Antworten geben kurz und knapp Auskunft über seine Präsentation, über die Besonderheiten von CryEngine 3, über die Grafikengine der Zukunft und eine kleine Einschätzung in Sachen Larrabee. Danke, Cevat!</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/IUAqsjGv2Cg&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/IUAqsjGv2Cg&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/&via=sw_devtwits&text=GDC09: Warum die nächste CryEngine erst 2012 kommt&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/&via=sw_devtwits&text=GDC09: Warum die nächste CryEngine erst 2012 kommt&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-warum-die-nachste-cryengine-erst-2012-kommt/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Erste Impressionen aus Köln</title>
		<link>http://www.software-dev-blog.de/gdc09-erste-impressionen-aus-koln/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-erste-impressionen-aus-koln/08/2009/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 12:07:23 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1131</guid>
		<description><![CDATA[Tag eins der Game Developers Conference 2009 hält schon mal ein paar Überraschungen parat: Am Intel-Stand ging&#8217;s von der ersten Minute an richtig rund. Soll heißen, die Demos zu Parallel Studio, Intel TBB, Intel GPA und anderen Tools und Techniken sind ein echter Renner. Obendrein zieht das Gewinnspiel, bei dem man ein schickes Asus-Netbook abgreifen [...]]]></description>
			<content:encoded><![CDATA[<p>Tag eins der <a title="Spieleentwicklung auf der Game Developers Conference 2009" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Game</a><a title="Spieleentwicklung auf der Game Developers Conference 2009" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/"> Developers Conference 2009</a> hält schon mal ein paar Überraschungen parat:</p>
<ul>
<li>Am Intel-Stand ging&#8217;s von der ersten Minute an richtig rund. Soll heißen, die Demos zu <a title="Happy Birthday, Parallel Studio!" href="http://www.software-dev-blog.de/happy-birthday-parallel-studio/05/2009/">Parallel Studio</a>, <a title="Neue Version der Intel Threading Building Blocks" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">Intel TBB</a>, <a title="Analysetool für DirectX-Games für mehr Laptop-Performance" href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">Intel GPA</a> und anderen Tools und Techniken sind ein echter Renner. Obendrein zieht das Gewinnspiel, bei dem man ein schickes Asus-Netbook abgreifen kann, die Leute an den Stand. Das liegt natürlich vor allem an &#8220;fabulous&#8221; Kellie!</li>
</ul>
<ul>
<li>Die <a title="Keynotes und mehr auf der GDC09" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Keynote</a> von Cevat Yerli, seines Zeichens CEO von Crytek, war richtig gut besucht. Kein Wunder, es ging schließlich um die Zukunft der Grafik-Engine. Und über die Vergangenheit ebenfalls, mitels CryEngine 1 und 2.</li>
</ul>
<ul>
<li>Das Interview mit Cevat war kurz, knackig und sehr pointiert. Aber dazu gibt es etwas später mehr. So, stay tuned &#8230;</li>
</ul>
<p><em>Ach ja:</em> Wir haben schon mal ein wenig gedreht und die besten Impressionen in einen 80-Sekünder gepackt. So als Aufwärmprogramm &#8211; quasi &#8230;</p>
<p><object width="480" height="270" data="http://www.youtube.com/v/7vWKm-HK2bc&amp;hl=de&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/7vWKm-HK2bc&amp;hl=de&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-erste-impressionen-aus-koln/08/2009/&via=sw_devtwits&text=GDC09: Erste Impressionen aus Köln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-erste-impressionen-aus-koln/08/2009/&via=sw_devtwits&text=GDC09: Erste Impressionen aus Köln&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-erste-impressionen-aus-koln/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Von Keynotes, Sessions und Larrabee</title>
		<link>http://www.software-dev-blog.de/gdc09-von-keynotes-sessions-und-larrabee/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-von-keynotes-sessions-und-larrabee/08/2009/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 08:00:08 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1127</guid>
		<description><![CDATA[In genau 48 Stunden geht es also los: Spieleentwickler, -Designer und andere Kreative finden sich auf dem Messegelände Köln zusammen, um drei Tage lang über die Gegenwart und Zukunft der Spieleindustrie zu reden. Dazu gehören Keynote-Vorträge von Cevat Yerli, seines Zeichens CEO von Crytek, David Cage von Quantic Dream und anderen wichtigen Köpfen der Spielebranche. [...]]]></description>
			<content:encoded><![CDATA[<p>In genau 48 Stunden geht es also los: Spieleentwickler, -Designer und andere Kreative finden sich <a title="Spieleentwicklung auf der Game Developers Conference 2009" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">auf dem Messegelände Köln</a> zusammen, um drei Tage lang über die Gegenwart und Zukunft der Spieleindustrie zu reden.</p>
<p>Dazu gehören <a title="Sämtliche Keynotes auf einen Blick" href="http://www.gdceurope.com/conference/keynotes.html" target="_blank">Keynote-Vorträge</a> von Cevat Yerli, seines Zeichens CEO von Crytek, David Cage von Quantic Dream und anderen wichtigen Köpfen der Spielebranche. Das Bild der Konferenz werden allerdings die <a title="Alle Voträge auf einen Blick" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=1&amp;SB=4" target="_blank">zahlreiche Sessions</a> aus den Themenbereichen Geschäftsmodelle, Game Design, Produktionsabläufe, Programmierung und Entwicklung sowie Visual Arts bestimmen.</p>
<p>Das Software Dev Blog interessiert sich natürlich hauptsächlich für die <a title="Wichtige Techsessions der GDC09 auf einen Blick" href="http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/">technischen Vorträge</a>. Daher werden wir uns &#8211; ausgestattet mit Notebook und Videokamera &#8211; auf die Suche machen nach interessanten Gesprächspartnern und spannenden Inhalten. Wir werden also unter anderem mit <a title="So profitieren Spieleentwickler von neuen Prozessoren" href="http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/">Leigh Davies</a> darüber reden, worauf es beim Entwickeln von Software ankommt und warum mit jeder neuen Prozessorgeneration neue Herausforderungen und Chancen auf Spieleentwickler zukommen.</p>
<p><span id="more-1127"></span>Natürlich werden wir uns auch das Entwicklertool <a title="Analysetool für DirectX-Games für mehr Laptop-Performance" href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">Graphics Performance Analyzers</a> ansehen und uns von Steve Hughes zeigen lassen, wie es Sega mithilfe der Toolsuite geschafft hat, ihren Spieletitel <a title="Warum “Empire: Total War” auf Notebooks so gut läuft" href="http://www.software-dev-blog.de/warum-empire-total-war-auf-notebooks-so-gut-lauft/07/2009/">&#8220;Empire: Total War&#8221;</a> für integrierte Grafikchips zu optimieren. Darüber hinaus werden wir uns in die Larrabee-Sessions setzen und mit den zuständigen Intel-Ingenieuren reden, was es mit der <a title="GDC09: Vektorisierung und Rasterisierung mit Larrabee " href="http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/">Vektorisierung und Rasterisierung</a> sowie dem <a title="GDC09: Paralleles Speichern, Laden und mehr mit Larrabee" href="http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/">parallelen Speichern und Laden</a> mithilfe des Befehlssatzes LRBni auf sich hat.</p>
<p>Daneben werden wir natürlich unsere Fühler ausstrecken und die interessantesten Infos auf der GDC09 ausgraben. Sicherlich fündig werden wir am Crytek-Stand im großen Aussteller-Areal. Dort kann man nämlich die CryEngine 3 bewundern. Und hoffentlich können wir mit den Ubisoft-Leuten am Stand 153 über <em>Anno 1404</em> reden &#8211; und über die Bemühungen reden, die in Sachen Multicore-Optimierung in dem Spieltitel stecken.</p>
<p>Deshalb solltet ihr es auf keinen Fall verpassen, von Montag bis Mittwoch unsere Liveberichterstattung von der GDC09 mitzuverfolgen. Und zwar per Blog, <a title="Intel-Channel auf Youtube" href="http://www.youtube.com/user/channelintel" target="_blank">Videoclips</a> und <a title="Twitter-Stream des Software Dev Blog" href="http://twitter.com/SW_DevTwits" target="_blank">Twitter</a>. Die volle Bandbreite eben!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-von-keynotes-sessions-und-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Von Keynotes, Sessions und Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-von-keynotes-sessions-und-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Von Keynotes, Sessions und Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-von-keynotes-sessions-und-larrabee/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Paralleles Speichern, Laden und mehr mit Larrabee</title>
		<link>http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 10:43:10 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1125</guid>
		<description><![CDATA[&#8220;Wer A sagt, muss auch B sagen!&#8221; Dieser Spruch lässt sich auf meinen heutigen Blogbeitrag anlässlich der GDC09-Vorberichterstattung prima anwenden. Denn erst gestern habe ich über eine der geplanten Techsessions zum Thema Larrabee-Programmierung berichtet. Und schon heute geht quasi der zweite Teil online. Dieser trägt offiziell den Titel SIMD programming with Larrabee: Second Glance at [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Wer A sagt, muss auch B sagen!&#8221; Dieser Spruch lässt sich auf meinen heutigen Blogbeitrag anlässlich der GDC09-Vorberichterstattung prima anwenden. Denn <a title=" GDC09: Vektorisierung und Rasterisierung mit Larrabee" href="http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/">erst gestern</a> habe ich über eine der geplanten Techsessions zum Thema Larrabee-Programmierung berichtet. Und schon heute geht quasi der zweite Teil online.</p>
<p>Dieser trägt offiziell den Titel <a title="Weitere Sessioninfos" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9915" target="_blank">SIMD programming with Larrabee: Second Glance at the New Instructions in Action</a> und beschäftigt sich sehr detailliert mit der SIMD-, also registernahen Programmierung von Larrabee-basierter Software. Hierzu werden Steve Hughes und Steve McCalla von Intel sehr tief in die Materie einsteigen und darüber referieren, dass &#8230;</p>
<p>&#8230; zu jedem Larrabee-CPU-Kern 32 Vektor-Register gehören, die jeweils 16 Bit breit sind und sich für parallel ausführbare Operationen nutzen lassen. Das ergibt in Summe 512 breite SIMD-Register pro Core.</p>
<p>&#8230; die Larrabee-nahe Programmierung zwei Methoden bereithält, um Vektoroperationen durchzuführen: <em><strong>SOA</strong></em> (Structure of Arrays) und <em><strong>AOS</strong></em> (Array of Structure). Beide haben ihre Berechtigung und Steve &amp; Steve werden ausführlich darlegen, in welchem Fall welche der beiden Methoden die bessere ist. Und das anhand einfacher mathematischer Beispiele wie der Matrizenberechnung.</p>
<p><span id="more-1125"></span></p>
<p>&#8230; <em><strong>Predication</strong></em> acht 16-Bit-breite Register nutzt, um vektorbasierte Vergleichsoperation parallel durchzuführen. Damit sind auch klassische x86-Schleifenkonstrukte realisierbar.</p>
<p>&#8230; <em><strong>Gather</strong></em> und <em><strong>Scatter</strong></em> ebenfalls ganz wichtig sind, wenn man über Larrabee-Programmierung redet. Gather entspricht einem auf 16 Floatingpoint-Registern parallel ausführbaren Ladebefehl pro Kern. Und Scatter bezeichnet den umgekehrten Weg, also das simultane Speichern dieser 512 Bit breiten Vektoren. Dabei werden wir auch lernen, dass Gather und Scatter wesentlich von der Cache-Taktung abhängig sind.</p>
<p>&#8230; es bereits eine <em><strong>C++ Larrabee Protoype-Bibliothek</strong></em> gibt, in der es nur noch einen Header und keine .lib- oder .dll-Dateien mehr gibt. Zudem wird wohl das Debuggen um einiges einfacher sein und es sollen möglichst sämtliche bestehenden Plattformen unterstützt werden.</p>
<p>Es gibt also viele gute Gründe, sich den Dienstagmorgen (10:10 bis 11:00 Uhr MESZ) zu reservieren, um entweder direkt auf der GDC&#8217;09 zu Köln die Larrabee-Session live mitzuerleben oder hier auf diesem Blog vorbeizuschauen. Denn wir werden in Bild und Ton darüber berichten, was Steve &amp; Steve zu erzählen haben &#8211; und warum man als 3D-Programmierer in Zukunft wohl kaum noch an Larrabee vorbeikommen wird.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Paralleles Speichern, Laden und mehr mit Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Paralleles Speichern, Laden und mehr mit Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-paralleles-speichern-laden-und-mehr-mit-larrabee/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDC09: Vektorisierung und Rasterisierung mit Larrabee</title>
		<link>http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/</link>
		<comments>http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 11:04:01 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1122</guid>
		<description><![CDATA[Am Dienstag habe ich über diverse Techsessions berichtet, die nächste Woche auf der Game Developers Conference 2009 in Köln stattfinden werden. Gestern dann habe ich eine davon etwas detaillierter vorgestellt. In diesem Vortrag geht es vor allem um die permanente Weiterentwicklung von Intel-Prozessoren und um die Frage, wie Spieleentwickler davon profitieren. Natürlich wird Leigh Davies [...]]]></description>
			<content:encoded><![CDATA[<p><span>Am Dienstag habe ich </span><a title=" Wichtige Techsessions der GDC09 auf einen Blick " href="http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/">über diverse Techsessions berichtet</a><span>, die nächste Woche auf der </span><a title=" Spieleentwicklung auf der Game Developers Conference 2009 " href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Game Developers Conference 2009 in Köln</a><span> stattfinden werden. Gestern dann habe ich eine davon </span><a title=" So profitieren Spieleentwickler von neuen Prozessoren " href="http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/">etwas detaillierter vorgestellt</a><span>. In diesem Vortrag geht es vor allem um die permanente Weiterentwicklung von Intel-Prozessoren und um die Frage, wie Spieleentwickler davon profitieren.</span></p>
<p><span>Natürlich wird Leigh Davies in seiner Session auch kurz und knapp auf </span><a title=" Eurographics 2009: Tech-Session Larrabee " href="http://www.software-dev-blog.de/eurographics-2009-techsession-larrabee/04/2009/">Larrabee</a><span> eingehen. In diesem Zusammenhang habe ich versprochen, euch ein paar mehr Infos zu den Larrabee-Sessions zukommen zu lassen. Dieses Versprechen löse ich hiermit ein. Ok, eigentlich ist der heutige Beitrag nur die eine Hälfte des eingelösten Versprechens, da die Kurzfassung des zweiten Larrabee-Vortrags morgen folgt.</span></p>
<p><span>Nach einer kurzen Einführung, </span><a title="Mehr Infos zu Larrabee" href="http://software.intel.com/en-us/blogs/2008/08/11/gcdc08-larrabee-will-push-3d-into-new-dimesions/" target="_blank">was Larrabee ist</a><span> und </span><a title=" Deshalb ist Larrabee für realistische 3D-Spiele wichtig " href="http://www.software-dev-blog.de/deshalb-ist-larrabee-fur-realistische-3d-spiele-wichtig/03/2009/">wozu es eingesetzt werden kann</a><span>, wird Steve McCalla von Intel ziemlich schnell in Medias Res gehen. Ohne Umschweife wird er über einen Teil der mehr als 100 neuen Befehle reden, die Larrabee zu bieten hat. Dazu gehören vor allem Vektor-Befehle, mit deren Hilfe bestimmte Operationen wie Multiplikation und Addition in den vorhandenen 32 Vektor-Registern parallel ausgeführt werden können (diese Register v0 bis v31 sind übrigens allesamt 512 Bit breit!).</span></p>
<p><span><span id="more-1122"></span>Steve wird aber auch darüber referieren, dass notwendige Datenkonvertierungen bereits während eines LOAD-Befehls durchgeführt werden können. Und beim Speichern von Daten ist diese Umwandlung natürlich auch möglich.</span></p>
<p><span>Doch was nützt die schönste Theorie, wenn die Praxis nicht zu Wort kommt. Daher steigt Steve in die Larrabee-Programmierung ein und zeigt anhand diverser Bespiele, dass man mit relativ wenig Aufwand die volle Bandbreite von Larrabee effizient nutzen kann. Dazu gehört ein sehr komplexes Mandelbrot-Codebeispiel, aber auch einfache mathematische Operationen sollen die Vorteile der Vektorisierung zeigen. Und so geht es weiter: Steve spricht über Broadcast- und Konvertierungsbeispiele, über die GPU-Eigenschaften von Larrabee und sehr ausführlich über die Rasterisierung mit der neuen GPGPU-Technik von Intel.</span></p>
<p><span>Ach ja: Ich bin ja schon sehr gespannt, ob </span><a title="Webseite von Epic Games" href="http://www.epicgames.com/" target="_blank">Tim Sweeney von Epic Games </a><span>zu Wort kommen wird. Der hatte nämlich schon mal die Gelegenheit, einen Blick auf Larrabee zu werfen, und befand kurz und knapp: &#8220;Larrabee rocks!&#8221; Oder etwas genauer gesagt: &#8220;Jede traditionell programmierte Schleife kann vektorisiert und mithilfe der Larrabee-Vektoren parallel ausgeführt werden!&#8221; Oder so ähnlich &#8230;</span></p>
<p><span>Wenn ihr auch wissen wollt, ob Tim das wirklich gesagt hat, solltet ihr es auf keinen Fall versäumen, unsere Liveberichterstattung aus Köln mitzuverfolgen. Ich bin nämlich gemeinsam mit dem Kollegen </span><a title="Twitter-Stream von Tom Papadhimas" href="http://twitter.com/tpapadhimas" target="_blank">Papadhimas</a><span> vor Ort und werde über alles Wissenswerte berichten, was sich auf der GDC Europe 2009 zuträgt. Drei volle Tage. Das rockt!</span></p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Vektorisierung und Rasterisierung mit Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/&via=sw_devtwits&text=GDC09: Vektorisierung und Rasterisierung mit Larrabee&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/gdc09-vektorisierung-und-rasterisierung-mit-larrabee/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So profitieren Spieleentwickler von neuen Prozessoren</title>
		<link>http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/</link>
		<comments>http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 08:14:43 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1120</guid>
		<description><![CDATA[In meinem gestrigen Blogbeitrag ging es um die geplanten Techsessions zum Thema Programmierung während der GDC 2009, die vom 17. bis 19. August in Köln stattfindet. Mit von der Partie sind auch vier Workshops, die Intel veranstaltet. Für alle, die schon mal wissen wollen, was auf sie zukommt, folgen auf diesem Sender ein paar Infos [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem <a title="Wichtige Techsessions der GDC09 auf einen Blick" href="http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/">gestrigen Blogbeitrag</a> ging es um die geplanten Techsessions zum Thema Programmierung während der <a title="Mehr Infos zur GDC09" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">GDC 2009</a>, die vom 17. bis 19. August in Köln stattfindet. Mit von der Partie sind auch vier Workshops, die Intel veranstaltet. Für alle, die schon mal wissen wollen, was auf sie zukommt, folgen auf diesem Sender ein paar Infos rund um die Intel-Sessions auf der GDC&#8217;09. Und alle anderen sind natürlich auch herzlich eingeladen, sich ein wenig zu informieren.</p>
<p>Am <a title="Leigh Davies Vortrag auf der GDC'09" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9912" target="_blank">Montag um 17:40 Uhr</a> stellt sich Leigh Davies die Frage, wie Spieleentwickler Schritt halten können mit den permanenten Neuentwicklungen im Prozessorsegment &#8211; und was sie davon haben. Es geht also um aktuelle Mikroarchitekturen von Intel (Core 2, Core i7) und geplante Prozessoren (Westmere, Sandy Bridge). Letztere werden übrigens ausschließlich auf 32-nm-Basis gefertigt. An diese ständigen Veränderungen sollten sich die Spieleentwickler permanent anpassen können. Spieleprogrammierer sind vor allem dazu aufgerufen, nicht mehr ausschließlich sequenziell, sondern auch parallel zu entwickeln.</p>
<p>Leigh bleibt aber nicht an der Oberfläche: So wird er die letzten drei Mikroarchitekturen (Pentium 4, Core und Core i7) genauer beleuchten und die Vorteile erläutern, die vor allem die neueren Architekturen mit sich bringen. Und zu der aktuellen <a title=" 3D-Demo “Smoke” zeigt das wahre Core i7-Potenzial " href="http://www.software-dev-blog.de/3d-demo-smoke-zeigt-das-wahre-core-i7-potenzial/11/2008/">Core-i7-Architektur</a> gibt es ganz besonders viele Informationen. Also solche Dinge wie verbesserte Sprungvorhersagen, höhere Speicherbandbreiten und vieles mehr.</p>
<p><span id="more-1120"></span>Vor allem das verbesserte Speichersystem der Core-i7-Architektur ist für Spieleentwickler eine große Chance: Die Latenzzeiten sind im Vergleich zur Core-Architektur deutlich geringer (zirka minus 40 Prozent) und die Bandbreite konnte drastisch erhöht werden (von zirka 10 GByte/Sek. auf rund 33 GByte/Sek.). Das ist vor allem für hochkomplexe 3D-Gebilde mit vielen tausenden von Polygonen ein echter Glücksfall.</p>
<p>Aber auch von der hardware-nahen Programmierung mithilfe der SSE-Befehlssätze profitieren 3D-Spiele. Dank der SSE4-Befehle können viele Operationen noch schneller und effizienter ausgeführt werden. Darum lautet ein gut gemeinter Rat von Leigh Davies: &#8220;Eure Kunden haben SSE-basierte Hardware &#8211; also macht auch etwas damit!&#8221;</p>
<p>Es geht aber nicht nur um Speicheraspekte, sondern auch um das Hyperthreading, das von vielen Intel-CPUs unterstützt wird (Intel nennt es auch SMT = Simultaneous Multithreading). SMT bietet standardmäßig ein gewisses Maß an eingebauter Parallelität: Es werden zwei Threads gleichzeitig verarbeitet, Ressourcen werden simultan genutzt und aufgrund der optimierten Out-of-Order-Verarbeitung können verbesserte CPI-Werte erreicht werden (CPI = Clockticks per Instruction). Die gute Nachricht: Die Core-i7-Architektur beherrscht SMT noch ein ganzes Stück besser, da die Caches größer sind, die Bandbreite wesentlich erhöht wurde und auch die Execution Units schneller rechnen können.</p>
<p>Natürlich kommt während Leighs Session die Zukunft nicht zu kurz: So wird die die nächste Prozessorgeneration mit dem Codenamen &#8220;Sandy Bridge&#8221; standardmäßig 256-Bit-breite SSE-Register aufweisen, was die parallele Datenverarbeitung auf Prozessorebene erheblich beschleunigen wird. Klar ist auch, dass Mister Davies über Larrabeee und dessen Auswirkungen auf die Softwareentwicklung referieren wird. Aber hierfür gibt es ja schließlich zwei eigene Techsessions. Hiervon wird auch noch die Rede sein. Versprochen!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/&via=sw_devtwits&text=So profitieren Spieleentwickler von neuen Prozessoren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/&via=sw_devtwits&text=So profitieren Spieleentwickler von neuen Prozessoren&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/so-profitieren-spieleentwickler-von-neuen-prozessoren/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wichtige Techsessions der GDC09 auf einen Blick</title>
		<link>http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/</link>
		<comments>http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 08:15:41 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1117</guid>
		<description><![CDATA[Erst gestern habe ich über die bevorstehende Game Developers Conference 2009 berichtet. Es ging um das große Ganze, nämlich um die Keynote-Sessions, die für die GDC09 geplant sind. Neben diesen Informationen auf einer eher abstrakten Ebene gibt es natürlich auch sehr reale, da technische Vorträge. Welche von diesen mich besonders interessieren, erfahrt ihr hier und [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Mehr Infos zur GDC09" href="http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/">Erst gestern</a> habe ich über die bevorstehende Game Developers Conference 2009 berichtet. Es ging um das große Ganze, nämlich um die Keynote-Sessions, die für die GDC09 geplant sind. Neben diesen Informationen auf einer eher abstrakten Ebene gibt es natürlich auch sehr reale, da technische Vorträge. Welche von diesen mich besonders interessieren, erfahrt ihr hier und jetzt.</p>
<p>Dazu gehören vor allem die Techsessions, die unter <a title="Sämtliche Sessions, die sich mit dem Thema Spieleentwicklung beschäftigen" href="http://www.gdceurope.com/conference/programming.html" target="_blank">Programming</a> aufgeführt sind:</p>
<ul>
<li><a title="Weitere Sessioninfos" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9917" target="_blank">Bringing &#8216;Empire: Total War&#8217; to the masses with Intel&#8217;s Graphics Performance Analyzers:</a> In dieser Techsession geht es um die Optimierung von 3D-Spielen für integrierte Grafikchips, wie sie immer öfter in Notebooks zu finden sind. Hierfür gibt es übrigens eine Toolsuite, die sich <a title="Mehr Infos zum GPA" href="http://www.software-dev-blog.de/analysetool-fur-directx-games-fur-mehr-laptop-performance/05/2009/">Graphics Performance Analyzer</a>s nennt und dafür sorgt, dass 3D-Spiele gut aussehen und trotzdem auf Grafikeinheiten à la <a title="Mehr Infos zu Intel GMA X4500" href="http://software.intel.com/en-us/articles/quick-reference-guide-to-intel-integrated-graphics/" target="_blank">Intel GMA X4500</a> flüssig laufen &#8211; und den Akku schonen.</li>
</ul>
<ul>
<li><a title="Mehr Infos zu der Session" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9851" target="_blank">Dual Numbers: Simple Math, Easy C++ Coding, and Lots of Tricks:</a> Am Ende dieser Session sollen vor allem C++-Programmierer verstehen, wie sie ihre Herausforderungen mithilfe von Dualen Zahlen bei der Programmierung von Grafik- und Physics-Einheiten besser meistern. Duale Zahlen werden insbesondere bei der Berechnung von Matrizen eingesetzt, spielen aber auch in der Geometrie und bei der Differentialrechnung eine wichtige Rolle.</li>
</ul>
<p><span id="more-1117"></span> </p>
<ul>
<li><a title="Weitere Sessioninfos" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9911" target="_blank">SIMD programming with Larrabee: First Glance at the New Instructions in Action:</a> In diesem TechTalk geht es um den neuen Befehlssatz LRBni, der für die Programmierung von <a title="Mehr Infos uzu Larrabee" href="http://www.software-dev-blog.de/eurographics-2009-techsession-larrabee/04/2009/">Larrabee-basierten Plattformen</a> zum Einsatz kommen wird. Steve McCalla von Intel wird dabei mit einfachen mathematischen Beispielen beginnen, weiter machen mit Schleifenkonstrukten und komplexen Flusskontrollen und letztlich bei der Frage landen, wie sich diese Algorithmen mithilfe von LRBni implementieren lassen.</li>
</ul>
<ul>
<li><a title="Weitere Sessioninfos" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9915" target="_blank">SIMD programming with Larrabee: Second Glance at the New Instructions in Action:</a> Wenn es von Steve einen ersten Blick auf LRBni gibt, darf ein zweiter natürlich nicht fehlen. In dieser Session werden Steve (Hughes) &amp; Steve (McCalla) ein wenig mehr über den Befehlssatz erzählen, den LRBni zu bieten hat. Es geht also um sehr breite SIMD-Register, spezielle Multiplikation-Addition-Befehle, eingebaute Datenkonvertierung und einiges mehr.</li>
</ul>
<ul>
<li><a title="Weitere Sessioninfos" href="https://www.cmpevents.com/GDCE09/a.asp?option=C&amp;V=11&amp;SessID=9912" target="_blank">Who Moved the Goalposts? The Rapidly changing World of CPU&#8217;s and Optimization:</a> Wer kann da noch Schritt halten: Core 2 Quad, Core 2 Extreme, Core i7, demnächst Core i5 und, und, und. Intel bringt scheinbar permanent neue Prozessoren auf den Markt, und alle bieten neue Features und neue Möglichkeiten für Spieleentwickler. Um das CPU-Gestrüpp ein wenig zu entwirren, stellt Intel-Mann Leigh Davies die aktuellen (und künftigen?) Prozessoren vor und nennt deren Wesensmerkmale und wie sich Programmierer diese zu eigen machen können. Für noch bessere und schnellere Computerspiele.</li>
</ul>
<p>Bevor ich&#8217;s vergesse: Ich werde während der drei Tage GDC09 in Köln nicht nur livebloggen, sondern kann zudem die Videodienste von <a title="Twitter-Stream von Tom Papadhimas" href="http://twitter.com/tpapadhimas" target="_blank">Tom Papadhimas</a> in Anspruch nehmen. Es gibt also auch bewegte Bilder, in denen wir die Größen der Spiele-Industrie mit Fragen löchern werden. Darauf freuen wir uns schon sehr &#8211; und ihr euch hoffentlich auch.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/&via=sw_devtwits&text=Wichtige Techsessions der GDC09 auf einen Blick&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/&via=sw_devtwits&text=Wichtige Techsessions der GDC09 auf einen Blick&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/wichtige-techsessions-der-gdc09-auf-einen-blick/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spieleentwicklung auf der Game Developers Conference 2009</title>
		<link>http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/</link>
		<comments>http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 08:10:30 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[GDC09]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1116</guid>
		<description><![CDATA[In genau einer Woche öffnet die Game Developer Conference 2009 ihre Pforten und bietet an drei Tagen das volle Programm in Sachen Entwicklung, Design, Vertrieb und mehr von Computerspielen. Hier schon mal ein kleiner Vorgeschmack auf das, was uns in Köln von 17. bis 19. August erwartet: Montagmorgen, 9 Uhr, geht es los mit den [...]]]></description>
			<content:encoded><![CDATA[<p>In genau einer Woche öffnet die <a title="Die offizielle Webseite der GDC09" href="http://www.gdceurope.com/index.html" target="_blank">Game Developer Conference 2009</a> ihre Pforten und bietet an drei Tagen das volle Programm in Sachen Entwicklung, Design, Vertrieb und mehr von Computerspielen. Hier schon mal ein kleiner Vorgeschmack auf das, was uns in Köln von 17. bis 19. August erwartet:</p>
<ul>
<li>Montagmorgen, 9 Uhr, geht es los mit den ersten Sessions, die bis 18:3o angeboten werden. Von 10 bis 18 Uhr kann man sich aber auch in entspannter Atmosphäre mit den Ausstellern über deren Produkte unterhalten. Dies gilt auch für den Dienstag; am Mittwoch enden die Sessions allerdings schon um kurz nach 16:00 Uhr.</li>
</ul>
<ul>
<li>Am Montag um 11:20 Uhr wird es dann zum ersten Mal richtig interessant: Da hält Crytek-Chef Cevat Yerli seine <a title="Alle Keynotes auf einen Blick" href="http://www.gdceurope.com/conference/keynotes.html" target="_blank">Keynote</a> unter dem Titel &#8220;The Future of Gaming Graphics&#8221;. Dabei geht es natürlich auch um die <a title="Mehr Infos zu CryEngine 2" href="http://www.cryengine2.com/" target="_blank">CryEngine 2</a>, aber auch um das Rendern hochkomplexer 3D-Gebilde.</li>
</ul>
<p><span id="more-1116"></span></p>
<ul>
<li>Am Dienstag sollte man auf keinen Fall die Keynote von David Cage verpassen. David ist CEO von <a title="Mehr Infos zu Quantic Dream" href="http://www.quanticdream.com/#home" target="_blank">Quantic Dream</a> und ist unter anderem verantwortlich für den Titel <em>Indigo Prophecy</em>. Der Titel seines Vortrags: &#8220;Writing Interactive Narrative for a Mature Audience&#8221;. Ob er uns dabei einen Blick hinter die Kulissen in Sachen <em>Heavy Rain</em> gewährt, kann man nur hoffen.</li>
</ul>
<ul>
<li>Das absolute Highlight am Mittwochvormittag ist sicherlich die Keynote von Klass Kersting von <a title="Mehr Infos zu Gameforge" href="http://www.gameforge.de/" target="_blank">Gameforge</a>. In seinem Vortrag geht es wohl um Geschäftsmodelle, zumindest lässt das der Titel vermuten: &#8220;Changes in the Games Industry – Free-to-play vs. Payment Models&#8221;.</li>
</ul>
<p>Neben diesen interessanten Keynotes wird es eine Reihe sogenannter Techsessions geben, in denen der geneigte Zuhörer sehr kompakt und sehr fundiert über neue Techniken und Entwicklungen der Spieleprogrammierung informiert wird. Welche ich mir auf jeden Fall selbst geben werde, erfahrt ihr in meinem morgigen GDC09-Blogpost.</p>
<p><em><strong>Ach ja:</strong></em> Natürlich werde ich mir die Sessions nicht nur anhören, sondern auch live und in Farbe darüber berichten. Zu diesem Zweck fährt <a title="Twitter-Stream von Tom Papadhimas" href="http://twitter.com/tpapadhimas" target="_blank">Tom Papadhimas</a> mit nach Köln und hat seine Videokamera dabei. Es gibt also nicht nur das geschriebene Wort, sondern auch bewegte Bilder, in denen wir die Größen der Spiele-Industrie mit Fragen malträtieren werden. Darauf freuen wir uns schon sehr &#8211; und ihr euch hoffentlich auch.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/&via=sw_devtwits&text=Spieleentwicklung auf der Game Developers Conference 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/&via=sw_devtwits&text=Spieleentwicklung auf der Game Developers Conference 2009&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/spieleentwicklung-auf-der-game-developers-conference-2009/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Von Intel TBB 2.1 auf Version 2.2 unfallfrei umsteigen</title>
		<link>http://www.software-dev-blog.de/von-intel-tbb-21-auf-version-22-unfallfrei-umsteigen/08/2009/</link>
		<comments>http://www.software-dev-blog.de/von-intel-tbb-21-auf-version-22-unfallfrei-umsteigen/08/2009/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 12:16:26 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[TBB]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1115</guid>
		<description><![CDATA[Erst am Dienstag hat Intel seine neueste Version der Threading Building Blocks vorgestellt. Und gerade mal einen Tag später hat Terry Wilmarth von Intel ein Rezept online gestellt, mit dessen Hilfe der Umstieg von 2.1 auf 2.2 halbwegs unfallfrei gelingen sollte. Zu den wichtigsten Empfehlungen zählen: Da die parallel arbeitenden Warteschlangen mit der Version 2.2 [...]]]></description>
			<content:encoded><![CDATA[<p>Erst am Dienstag hat Intel seine <a title="Mehr Infos zu Intel TBB 2.2" href="http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/">neueste Version der Threading Building Blocks</a> vorgestellt. Und gerade mal einen Tag später hat Terry Wilmarth von Intel <a title="Der Umstieg von Intel TBB 2.1 auf Version 2.2" href="http://software.intel.com/en-us/blogs/2009/08/05/transitioning-from-intel-tbb-21-to-22/" target="_blank">ein Rezept online gestellt</a>, mit dessen Hilfe der Umstieg von 2.1 auf 2.2 halbwegs unfallfrei gelingen sollte. Zu den wichtigsten Empfehlungen zählen:</p>
<ul>
<li>Da die parallel arbeitenden Warteschlangen mit der Version 2.2 sowohl begrenzt (bounded) als auch unbegrenzt (unbounded) arbeiten, sollten Programmierer möglichst die begrenzten Warteschlangen benutzen.</li>
</ul>
<ul>
<li>Da sich die Rückgabewerte der Vektor-Funktionen <em>grow_by</em>, <em>grow_to_at_least </em>und<em> push_back</em> geändert haben, ist der Funktionsaufruf ein wenig einfacher geworden. So wird aus <em><strong>std::copy(begin, end, x.begin()+x.grow_by(end-begin));</strong></em> jetzt <em><strong>std::copy(begin, end, x.grow_by(end-begin));</strong></em></li>
</ul>
<ul>
<li>In Intel TBB 2.2 ist <em><strong>auto_partitioner()</strong></em> als Standard gesetzt und löst damit <strong><em>simple_partitioner()</em> </strong>ab.</li>
</ul>
<ul>
<li>Der Begriff der Task-Tiefe spielt in TBB 2.2 keine Rolle mehr. Daher sind <em><strong>depth_type</strong></em> und die Methoden <em><strong>depth()</strong></em>, <em><strong>set_depth()</strong></em> und <em><strong>add_to_depth()</strong></em>.</li>
</ul>
<p>Mehr Infos und weitere Codebeispiele sind <a title="Mehr Beispiele und Infos zum Umstieg von Intel TBB 2.1 auf 2.2" href="http://software.intel.com/en-us/blogs/2009/08/05/transitioning-from-intel-tbb-21-to-22/" target="_blank">im angegebenen Blogbeitrag</a> erhältlich.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/von-intel-tbb-21-auf-version-22-unfallfrei-umsteigen/08/2009/&via=sw_devtwits&text=Von Intel TBB 2.1 auf Version 2.2 unfallfrei umsteigen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/von-intel-tbb-21-auf-version-22-unfallfrei-umsteigen/08/2009/&via=sw_devtwits&text=Von Intel TBB 2.1 auf Version 2.2 unfallfrei umsteigen&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/von-intel-tbb-21-auf-version-22-unfallfrei-umsteigen/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neue Version der Intel Threading Building Blocks</title>
		<link>http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/</link>
		<comments>http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 16:00:51 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[TBB]]></category>
		<category><![CDATA[Tool]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1112</guid>
		<description><![CDATA[Intel hat heute anlässlich der Siggraph 2009 die neueste Version 2.2 seiner C++-Bibliothek Threading Building Blocks vorgestellt. Die wesentlichen Verbesserungen im Vergleich zur Vorgängerversion 2.1 sind zwei Dinge: Lambda-Funktionen gemäß des künftigen C++0x-Standards werden jetzt vollständig unterstützt, und das Lizenzmodell wurde erheblich vereinfacht. Das soll vor allem Software-Entwicklern die Möglichkeit geben, Intel TBB bei der [...]]]></description>
			<content:encoded><![CDATA[<p>Intel hat heute anlässlich der <a title="Intel @ Siggraph 2009" href="http://software.intel.com/en-us/articles/intel-software-network-at-siggraph-2009/" target="_blank">Siggraph 2009</a> die neueste Version 2.2 seiner C++-Bibliothek <a title="Mehr Infos zu Intel TBB" href="http://www.software-dev-blog.de/mit-intel-threading-building-blocks-parallel-programmieren/12/2008/">Threading Building Blocks</a> vorgestellt. Die wesentlichen Verbesserungen im Vergleich zur Vorgängerversion 2.1 sind zwei Dinge: Lambda-Funktionen gemäß des <a title="Heise Developer Online über C++0x" href="http://www.heise.de/newsticker/C-0x-fruehestens-2010-und-ohne-Concepts--/meldung/142523" target="_blank">künftigen C++0x-Standards</a> werden jetzt vollständig unterstützt, und das Lizenzmodell wurde erheblich vereinfacht.</p>
<p>Das soll vor allem Software-Entwicklern die Möglichkeit geben, Intel TBB bei der Programmierung und Optimierung von Multithread-Sourcecode von Anfang an einsetzen zu können. So umfasst beispielsweise die Unreal Engine von Epic Games ab sofort eine kommerzielle Lizenz der Intel TBB, Autodesk stellt in Maya Intel TBB standardmäßig zur Verfügung.</p>
<p>Neben diesen Neuerungen gibt es weitere Dinge, die hinsichtlich mehr Leistung optimiert wurden:</p>
<ul>
<li>Der Taks-Scheduler wurde erheblich überarbeitet, sodass optimierte Anwendungen auf Multicore-Plattformen besser skalieren. Dazu gehören eine automatische Initialisierung bei paralleler Ausführung bestimmter Codeabschnitte und das Zusammenfassen mehrerer Tasks zu einer Gruppe.</li>
</ul>
<ul>
<li>Der Memory Allocator wurde ebenfalls verbessert, was den standardmäßigen Allocator des Betriebssystems ersetzen kann. Folge: bessere Skalierbarkeit der vorhandenen Speicherressourcen und weniger Datenkollisionen.</li>
</ul>
<ul>
<li>Darüber hinaus gibt es neue und verbesserte Konstrukte. Neu sind <em><strong>parallel_invoke</strong></em> and <em><strong>parallel_for_each, </strong></em>mit deren Hilfe sich parallele Konstrukte noch einfacher erstellen lassen. Zudem wurde das Erstellen der häufig benutzten parallel_for-Konstrukts vereinfacht.</li>
</ul>
<p>Ach ja: Für ein besseres Verständnis, was es mit den optimierten Lambda-Funktionen auf sich hat, empfehle ich zwei Blogposts (<a title="&quot;Hello Lambdas&quot; C++ 0x, a quick guide to Lambdas in C++" href="http://software.intel.com/en-us/blogs/2009/08/03/hello-lambdas-c-0x-a-quick-guide-to-lambdas-in-c/" target="_blank">Nummer 1</a> und <a title="parallel_for is easier with lambdas, Intel Threading Building Blocks" href="http://software.intel.com/en-us/blogs/2009/08/03/parallel_for-is-easier-with-lambdas-intel-threading-building-blocks/" target="_blank">Nummer 2</a>) des Kollegen Reinders, in denen er sehr anschaulich erklärt, was es bringt und was sich dadurch ändert.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/&via=sw_devtwits&text=Neue Version der Intel Threading Building Blocks&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/&via=sw_devtwits&text=Neue Version der Intel Threading Building Blocks&related=:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.software-dev-blog.de/neue-version-der-intel-threading-building-blocks/08/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

