<?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; Entwickler</title>
	<atom:link href="http://www.software-dev-blog.de/tag/entwickler/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.software-dev-blog.de</link>
	<description>Multicore-Programmierung, Multithreading &#38; Visual Computing</description>
	<lastBuildDate>Thu, 09 Feb 2012 19:54:51 +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>Lernen von erfahrenen Programmierern &#8211; Teil 2</title>
		<link>http://www.software-dev-blog.de/lernen-von-erfahrenen-programmierern-teil-2/04/2011/</link>
		<comments>http://www.software-dev-blog.de/lernen-von-erfahrenen-programmierern-teil-2/04/2011/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 20:06:28 +0000</pubDate>
		<dc:creator>Oliver</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1579</guid>
		<description><![CDATA[Am Mittwoch erst habe ich Auszüge eines Interviews mit eigenen Anmerkungen veröffentlicht, das die Kollegen des SoftTalk-Blog mit dem Software-Entwickler Asaf Shelly geführt haben. Im ersten Teil ging es vor allem um Fragen wie: Was war deine größte Herausforderung beim Umstieg auf die Parallelprogrammierung? Was ist ein guter Tipp für angehende Parallelprogrammierer? Was bringen Sandy [...]]]></description>
			<content:encoded><![CDATA[<p>Am Mittwoch erst habe ich Auszüge eines Interviews mit eigenen Anmerkungen <a title="Lernen von einem erfahrenen Programmierer: Asaf Shelly" href="http://www.software-dev-blog.de/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/">veröffentlicht</a>, das die Kollegen des SoftTalk-Blog mit dem Software-Entwickler Asaf Shelly geführt haben. Im ersten Teil ging es vor allem um Fragen wie:</p>
<blockquote><p>Was war deine größte Herausforderung beim Umstieg auf die Parallelprogrammierung?</p></blockquote>
<blockquote><p>Was ist ein guter Tipp für angehende Parallelprogrammierer?</p></blockquote>
<blockquote><p>Was bringen Sandy Bridge und AVX für parallel ablaufende Anwendungen?</p></blockquote>
<p>Der zweite Teil hingegen befasst sich mit Fragen wie:</p>
<blockquote><p>Welche Programmiermodelle werden sich durchsetzen?</p></blockquote>
<p>Laut Asafs Aussage werden objektorientierte Programmiermodelle wie C++ zwar weiterhin bestehen, allerdings stoßen sie beim Parallelprogrammieren immer wieder an ihre Grenzen, da es sehr schwer ist, Tasks zu kontrollieren. Asaf glaubt, dass man in Zukunft auf der obersten Abstraktionsebene viel stärker in Tasks denken muss, um dann im weiteren Verlauf mit Objekten arbeiten zu können. Allerdings behebt auch diese Heransgehensweise nicht das Problem immer wieder auftretender Zufallsabstürze, wie man sie beispielsweise bei Borland C++ 5.0 beobachten kann. Fazit: neue Programmiermodelle müssen her! Und Tools wie der <a title="Intel Software Developer Conference 2011 (II): Intel VTune Amplifier XE in Action" href="http://www.software-dev-blog.de/intel-software-developer-conference-2011-ii-intel-vtune-amplifier-xe-in-action/04/2011/">VTune Amplifier XE</a> für das Aufspüren potenzieller Abstürze von parallel programmierten Anwendungen.</p>
<blockquote><p>Welche Programmiersprachen bevorzugst du?</p></blockquote>
<p>Asaf setzt für seine Programme &#8211; der ersten Frage zum Trotz &#8211; am liebsten noch auf C und C++ (für den Programmcode) und auf C# (für das Programmieren für Bedieneroberflächen). Zudem lassen sich beide Sprachen mithilfe von .NET-Wrappern prima innerhalb derselben Entwicklungsumgebung wie <a title="AVX mit Visual Studio 2010 und OpenMP optimal einsetzen" href="http://www.software-dev-blog.de/avx-mit-visual-studio-2010-und-openmp-optimal-einsetzeni/01/2011/">Visual Studio</a> verwenden.</p>
<blockquote><p>Was sollte man Studenten empfehlen, die sich mit dem Thema Parallelprogrammierung beschäftigen wollen?</p></blockquote>
<p>Guter parallel programmierter Code beginnt bereits mit dem Design. Denkt also nicht seriell, sondern parallel! Gute Anwendungen müssen sogar parallel programmiert sein, da der Computer von Haus parallel arbeitet, da er ja auf mehrere Ereignisse aus unterschiedlichen Richtungen gleichzeitig reagieren muss. Um den seriellen Eingabestrang, dem wir immer noch unterworfen sind, aufzubrechen, sollte man laut Asaf mit Threads oder Thread-Pools arbeiten. Parallelprogrammierung beginnt also in den Köpfen und erfordert sehr viel Arbeit und Umdenken beim Einsatz bekannter Modelle.</p>
<p>Das vollständige Interview können Sie auf dem SoftTalk-Blog nachlesen (<a href="http://softtalkblog.com/2011/04/26/programmer-profile-asaf-shelly/" target="_blank">Teil 1</a> und <a href="http://softtalkblog.com/2011/04/27/programmer-profile-asaf-shelly-part-2/" target="_blank">Teil 2</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/lernen-von-erfahrenen-programmierern-teil-2/04/2011/&via=sw_devtwits&text=Lernen von erfahrenen Programmierern - 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/lernen-von-erfahrenen-programmierern-teil-2/04/2011/&via=sw_devtwits&text=Lernen von erfahrenen Programmierern - 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/lernen-von-erfahrenen-programmierern-teil-2/04/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lernen von einem erfahrenen Programmierer: Asaf Shelly</title>
		<link>http://www.software-dev-blog.de/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/</link>
		<comments>http://www.software-dev-blog.de/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 13:52:16 +0000</pubDate>
		<dc:creator>Oliver</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1568</guid>
		<description><![CDATA[Die lieben Kollegen des SoftTalk-Blog haben einen Intel Black-Belter interviewt, namentlich Asaf Shelly. Asaf Shelly ist Software-Entwickler und arbeitet unter anderem am Thema Parallelprogrammierung. Darüber hinaus wird er auf dem Intel-Entwickler-Event teilnehmen, das am 10. Mai in München stattfinden wird. Grund genug, Teile des Interviews mit Asaf hier wiederzugeben. Zudem möchten wir Sie an dieser [...]]]></description>
			<content:encoded><![CDATA[<p>Die lieben Kollegen des <a href="http://softtalkblog.com/2011/04/26/programmer-profile-asaf-shelly/" target="_blank">SoftTalk-Blog</a> haben einen Intel Black-Belter interviewt, namentlich Asaf Shelly. Asaf Shelly ist Software-Entwickler und arbeitet unter anderem am Thema Parallelprogrammierung. Darüber hinaus wird er auf dem <a title="Auf geht’s: Intel-Entwickler-Event in München am 10. Mai" href="http://www.software-dev-blog.de/auf-gehts-intel-entwickler-event-in-munchen-am-10-mai/04/2011/">Intel-Entwickler-Event</a> teilnehmen, das am 10. Mai in München stattfinden wird. Grund genug, Teile des Interviews mit Asaf hier wiederzugeben.</p>
<p><strong>Zudem möchten wir Sie an dieser Stelle noch einmal herzlich zu der exklusiven und kostenlosen Entwickler-Veransaltung einladen! Es sind nur noch wenige Plätze frei. <a href="http://software.intel.com/en-us/articles/isn-black-belts-event-munichlondon-registration/">Melden Sie sich am besten noch heute an</a>!</strong></p>
<p>Nun aber zu dem Interview: Eine wichtige Frage handelt von den Herausforderungen, mit denen Asaf in Sachen Parallelprogrammierung konfrontiert wurde. Dazu hat er eine ganz einfache Antwort parat: Der Umstieg war die größte Hürde, da es gar nicht so einfach war, parallel und nicht mehr seriell zu denken. So hatte er echte Schwierigkeiten, für kritische Code-Abschnitte einen Mutex anstatt eines Locks zu verwenden. Außerdem musste er beispielsweise erst mal lernen, dass ein Mutex nicht die kritische Sektion, sondern die betreffende Ressource, also die involvierten Speicherbereiche schützt.</p>
<p>Ein sehr schönes Bild hält Asaf auf die Frage bereit, was denn der beste Tipp in Sachen Parallelprogrammierung sei. Sein Antwort: Man muss wie Menschen und nicht wie Maschinen denken. Als konkreten Fall nennt er einen Schnellimbiss, bei dem mehrere Leute an mehreren Verkaufstheken gleichzeitig bestellen, und diese Bestellungen anschließend von verschiedenen Mitarbeitern des Restaurants bearbeitet und an die Kunden ausgegeben werden. Genau so verhält es sich nämlich mit asynchroner Datenverarbeitung mithilfe von Task-Queues, Worker-Threads und vielem mehr.</p>
<p>Interessant sind auch Asafs Antworten auf die Fragen, was <a title="Sandy Bridge, AVX und Core-CPUs: GCC 4.6 mag Intel" href="http://www.software-dev-blog.de/sandy-bridge-avx-und-core-cpus-gcc-4-6-mag-intel/03/2011/">Sandy Bridge</a> und <a title="Wie Entwickler von neuen Sandy-Bridge-Registern und -Ops profitieren" href="http://www.software-dev-blog.de/wie-entwickler-von-neuen-sandy-bridge-registern-und-ops-profitieren/02/2011/">AVX</a> für Entwickler tun können. So sieht er in der neuen Core-Architektur eine erhebliche Verbesserung für parallel programmierte Anwendungen, da aufgrund des Core-to-Core-Designs Daten schneller zwischen den einzelnen Prozessorkernen hin- und herfließen können, was die Zahl an Bottlenecks erheblich reduziert.</p>
<p>Als Beispiel führt er die Berechnung einer Aufgabe an, die ohne AVX vier Prozessorkerne mitsamt aller Sycnhronisationsalgorithmen erfordert. Mithilfe von AVX geschieht dies wegen der breiteren Register auf einem einzigen Prozessorkern, was natürlich viel zu besser handhabbar ist. AVX kann laut Asaf in bestimmten Fällen bis zu 16 Prozessorkerne eliminieren.</p>
<p>Die Fortsetzung des interssanten Interviews können Sie am Freitag hier 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/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/&via=sw_devtwits&text=Lernen von einem erfahrenen Programmierer: Asaf Shelly&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/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/&via=sw_devtwits&text=Lernen von einem erfahrenen Programmierer: Asaf Shelly&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/lernen-von-einem-erfahrenen-programmierer-asaf-shelly/04/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rückschau: Das war das GameCamp Munich 2009</title>
		<link>http://www.software-dev-blog.de/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/</link>
		<comments>http://www.software-dev-blog.de/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 09:56:26 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=1074</guid>
		<description><![CDATA[Es soll ja Leute geben, die mit ihrem Wochenende etwas anzufangen wissen: Entweder gehen sie in die Berge zum Wandern oder besuchen Tante Ilse aufm Land oder machen sonst was. Und was mache ich? Ich treibe mich lieber an zwei Tagen auf dem GameCamp Munich 2009 herum, das vorigen Samstag und Sonntag bei Microsoft in [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1076" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-1076" style="margin: 5px 10px;" title="Intel mit eigenem Demo-PC auf dem GameCamp 2009" src="http://www.software-dev-blog.de/wp-content/images/2009/06/intel-gamecamp-demo1-300x237.jpg" alt="Intel mit eigenem Demo-PC auf dem GameCamp 2009" width="300" height="237" /><p class="wp-caption-text">Foto: Simon Muhm - www.simon-muhm.de</p></div>
<p>Es soll ja Leute geben, die mit ihrem Wochenende etwas anzufangen wissen: Entweder gehen sie in die Berge zum Wandern oder besuchen Tante Ilse aufm Land oder machen sonst was. Und was mache ich?</p>
<p>Ich treibe mich lieber an zwei Tagen auf dem <a title="Alles zum GameCamp Munich 2009" href="http://www.gamecampmunich.de/" target="_blank">GameCamp Munich 2009</a> herum, das vorigen Samstag und Sonntag bei Microsoft in Unterschleißheim stattgefunden hat.</p>
<p>Jetzt mag sich manch einer fragen: GameCamp, was&#8217;n das?! Hierzu habe ich <a title="Sinn und Bedeutung eines BarCamps" href="http://www.contentxperten.de/2009/06/09/kontaktborse-wissensaustausch-gamecamp-munich-09/" target="_blank">erst kürzlich etwas verfasst</a>, was bei der Beantwortung dieser Frage weiterhelfen könnte. Insgesamt war das GCMUC09 eine gut gelungene Veranstaltung, die gemeinsam von Microsoft und <a title="Das Blog von Flobbymedia" href="http://www.flobbymedia.de/blog/" target="_blank">Flobbymedia</a> initiiert und organisiert wurde. Den Machern des Barcamps ging es vor allem darum</p>
<blockquote><p>die interdisziplinäre Vernetzung der Branche, die Entwicklung neuer Thesen und Ideen sowie die Förderung der Videospielkultur</p></blockquote>
<p>voranzutreiben. Ob ihnen das gelungen ist, kann ich nicht sagen. Aber am Ende waren <a title="Nabelschau des GameCamp Munich 2009" href="http://www.gamecampmunich.de/2009/06/23/blog-o-rama/" target="_blank">wohl alle (sehr) zufrieden</a>. Behandelt wurden unter anderem <a title="Der Sessionplan des ersten Tages als Bild" href="http://www.gamecampmunich.de/wp-content/uploads/2009/06/dsc_0982.jpg" target="_blank">folgende Themen</a>:</p>
<p><span id="more-1074"></span></p>
<ul>
<li>Vermarktung von Spieletiteln</li>
</ul>
<ul>
<li>Pressearbeit ohne Presseabteilung</li>
</ul>
<ul>
<li>Was macht eigentlich die Gema?</li>
</ul>
<ul>
<li>Interaktives Storytelling</li>
</ul>
<ul>
<li>Was ist vom Killerspieleverbot zu halten?</li>
</ul>
<ul>
<li>Programmieren lernen mit Serious Games anhand von <a title="antme.net" href="http://antme.net/" target="_blank">AntMe</a></li>
</ul>
<ul>
<li>In-Game Advertising</li>
</ul>
<ul>
<li><a title="GCMUC09: 3D-Games und Multicore-Programmierung" href="http://www.software-dev-blog.de/gcmuc09-3d-games-und-multicore-programmierung/06/2009/">Multicore-Programmierung für 3D-Spiele</a></li>
</ul>
<p>Darüber hinaus waren mit einem eigenen Stand vertreten:</p>
<ul>
<li>Intel mit zwei coolen <a title="Smoke, eine der beiden Demos, in Wort und Bild" href="http://www.software-dev-blog.de/3d-demo-smoke-zeigt-das-wahre-core-i7-potenzial/11/2008/" target="_blank">3D-Demos</a>, die ziemlich eindrucksvoll gezeigt haben, wie ein komplexes 3D-Spiel zum Leben erwacht, wenn es nicht nur auf einem, sondern auf acht Prozessorkernen gleichzeitig läuft.</li>
</ul>
<ul>
<li><a title="Webseite von Qantm" href="http://www.qantm.de/" target="_blank">Qantm</a>, die unter anderem angehenden Spieleprogrammierern und -designern dabei helfen, ihren Job in Zukunft richtig gut zu machen.</li>
</ul>
<ul>
<li>Die Jungs von <a title="game-tv.com" href="http://game-tv.com/" target="_blank">Game-TV</a>, die mit Kamera und Mikro bewaffnet (sic!) den ein oder anderen Anwesenden interviewt haben.</li>
</ul>
<p>Und sonst? Es gibt <a title="Flickr-Pool des GameCamp Munich 2009" href="http://www.flickr.com/groups/gcmuc09/pool/" target="_blank">eine Menge Bilder</a> vom GameCamp zu begutachten und wer wissen will, was an den zwei Tagen alles passiert ist, sollte sich mal <a title="Der GCMUC-Twitterstream" href="http://search.twitter.com/search?q=%23gcmuc" target="_blank">den Twitter-Stream geben</a>. Na dann, bis zum GameCamp Munich 20X!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/&via=sw_devtwits&text=Rückschau: Das war das GameCamp Munich 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/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/&via=sw_devtwits&text=Rückschau: Das war das GameCamp Munich 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/ruckschau-das-war-das-gamecamp-munich-2009/06/2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bücher und Webinar an Software-Entwickler zu verschenken</title>
		<link>http://www.software-dev-blog.de/bucher-und-webinar-an-software-entwickler-zu-verschenken/02/2009/</link>
		<comments>http://www.software-dev-blog.de/bucher-und-webinar-an-software-entwickler-zu-verschenken/02/2009/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 16:04:55 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[Visual Computing]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Nehalem]]></category>
		<category><![CDATA[Support]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=754</guid>
		<description><![CDATA[Über das Intel Software Partner Program (Intel SPP) hatte ich Ende Oktober ausführlich berichtet. Kurz gefasst geht es um die Möglichkeit, als Software-Entwickler von Intel in Sachen Programmierung unterstützt zu werden. Das reicht von vergünstigten Einkaufskonditionen für Software-Tools bis hin zur Möglichkeit, an professionell erstelltes Marketingmaterial heranzukommen. Um am Intel SPP teilnehmen zu können, muss [...]]]></description>
			<content:encoded><![CDATA[<p>Über das <a title=" Intel at its best: Intel Software Partner Program " href="http://www.software-dev-blog.de/intel-at-its-best-intel-software-partner-programm/10/2008/">Intel Software Partner Program</a> (Intel SPP) hatte ich Ende Oktober ausführlich berichtet. Kurz gefasst geht es um die Möglichkeit, als Software-Entwickler von Intel in Sachen Programmierung unterstützt zu werden. Das reicht von vergünstigten Einkaufskonditionen für Software-Tools bis hin zur Möglichkeit, an professionell erstelltes Marketingmaterial heranzukommen.</p>
<p>Um am <a title="direkt zur Intel-SPP-Seite" href="http://www.intel.com/cd/software/partner/asmo-na/eng/index.htm" target="_blank">Intel SPP</a> teilnehmen zu können, muss man sich natürlich erst mal registrieren. Logisch. Um dies ein wenig schmackhafter zu machen, verschenkt Intel derzeit <strong>50 Exemplare des Buchs <em>Multi-Core Programming</em></strong><em>,</em> das ich übrigens auf meinem Schreibtisch liegen habe. Dabei handelt es um einen <a title="Buchtipp: Multicore-Programmierung lernen mit Intel" href="http://www.software-dev-blog.de/buchtipp-multicore-programmierung-lernen-mit-intel/12/2008/">wirklich gelungenen Einstieg</a> in das Thema und eine nützliche Wissensdatenbank für alle Entwickler. Also, ran an den Speck!</p>
<p>Apropos Speck: Software-Entwicklung für den relativ neuen <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/">Intel-Prozessor Core i7</a> ist noch kein echtes Mainstream-Thema. Zwar gibt es schon eine ganze Weile <a title="Mehr Infos zum Core i7 SDK" href="http://software.intel.com/en-us/articles/intel-next-generation-intel-core-i7-processor-family-sdk/" target="_blank">ein eigenes SDK</a>, aber Experten auf diesem Terrain sind noch eher rar. Um diesen Umstand zu verbessern, bietet Intel am nächsten Dienstag (<strong>10. Februar, 17 Uhr MEZ</strong>) ein 60-minütiges <a title="Hier für das Webinar anmelden" href="http://intel-isn.createsend5.com/t/r/l/jjitky/btjeljk/y" target="_blank">Webinar</a> genau zu diesem Thema an. Der Titel:</p>
<blockquote><p>Create Applications with Superior Performance and Energy-Efficiency: An Introduction to the Software Development Kit for the new Intel Core i7 Platform</p></blockquote>
<p>Das ist doch genau das Richtige für angehende Multicore-Entwickler, oder?! Und wie gesagt: Davon gibt es nicht so wahsinnig viele. Ach ja: Um an diesem internetbasierten Training teilnehmen zu können, muss man sich für das <a title="Mehr Infos zum Black-Belt-Programm in Videoform" href="http://www.software-dev-blog.de/videochat-so-wird-man-trager-des-schwarzen-intel-gurtels/11/2008/">Intel Black Belt-Programm</a> <a title="Hier kann man sich zum Intel Black Belt Program anmelden" href="http://software.intel.com/sites/blackbelt/" target="_blank">anmelden</a>. Das ist allerdings ein Klacks &#8211; verglichen mit Multithreading für Multicore-Prozessoren.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/bucher-und-webinar-an-software-entwickler-zu-verschenken/02/2009/&via=sw_devtwits&text=Bücher und Webinar an Software-Entwickler zu verschenken&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/bucher-und-webinar-an-software-entwickler-zu-verschenken/02/2009/&via=sw_devtwits&text=Bücher und Webinar an Software-Entwickler zu verschenken&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/bucher-und-webinar-an-software-entwickler-zu-verschenken/02/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12 Thesen und Antithesen zur Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/</link>
		<comments>http://www.software-dev-blog.de/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 11:02:29 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=691</guid>
		<description><![CDATA[Gestern auf der OOP 2009 hielt Professor Walter F. Tichy von der Uni Karlsruhe einen Vortrag mit dem Titel &#8220;Herausforderung Mehrkernsysteme&#8221;. Darin beschäftigte er sich mit diversen Aspekten der Parallelprogrammierung. Und das zu Recht, denn das Thema scheint ein echter Renner zu sein; der Raum war auf jeden Fall gut gefüllt. Im Laufe seines Referats [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern auf der <a title="Mehr Infos zur OOP 2009" href="http://www.software-dev-blog.de/multicore-programmierung-auf-der-oop-2009/01/2009/">OOP 2009</a> hielt <a title="Thesen von Walter F. Tichy zum Thema Parallelprogrammierung im Widerspruch?!" href="http://www.software-dev-blog.de/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/">Professor Walter F. Tichy</a> von der Uni Karlsruhe einen Vortrag mit dem Titel &#8220;Herausforderung Mehrkernsysteme&#8221;.  Darin beschäftigte er sich mit diversen Aspekten der Parallelprogrammierung. Und das zu Recht, denn das Thema scheint ein echter Renner zu sein; der Raum war auf jeden Fall gut gefüllt.</p>
<p>Im Laufe seines Referats stellte Professor Tichy mehrere Thesen in Sachen Parallelprogrammierung auf, die ich hier ein wenig aufdröseln will.</p>
<p><strong>These #1:</strong> Die Informatik erlebt gerade eine Evolution: Weg von der sequenziellen Programmierung hin zur parallelen Entwicklung. Parallelität gab es bis dato nur in Nischenbereichen wie Numerisches Rechnen, Betriebssystemen und Datenbanken und Parallelität auf Instruktionsebene. <strong>Meine Antithese dazu:</strong> Stimmt!</p>
<p><strong>These #2:</strong> Es gab immer wieder spezielle Parallelrechner wie den <a title="Wiki-Infos dazu" href="http://en.wikipedia.org/wiki/Atanasoff–Berry_Computer" target="_blank">Atanasoff-Berry-Rechner</a> von 1942, der ausschließlich lineare Gleichungen mit 30 Koeffizienten lösen konnte. Dazu gehörte aber auch der <a title="Wiki-Infos dazu" href="http://en.wikipedia.org/wiki/ILLIAC_IV" target="_blank">Illiac-IV</a>, ein SIMD-Rechner mit verteiltem Speicher und 64 Prozessoren. Dieser Großrechner wurde 1976 gebaut und war bis 1981 der schnellster Rechner der Welt. Natürlich erwähnte Tichy auch den <a title="Wiki-Infos dazu" href="http://de.wikipedia.org/wiki/Cray-1" target="_blank">Cray-1</a> Vektorrechner, der ebenfalls aus dem Jahr 1976 stammt und wohl den bekanntesten Vertreter der prähistorischen Parallelrechner darstellt. Das Alles (und viel mehr) mündete schließlich in riesigen Clustersystemen der Gegenwart, die allesamt auf der Webseite <a title="Die aktuell 500 schnellsten Großrechner der Welt" href="http://www.top500.org" target="_blank">Top500.org</a> zu bestaunen sind. <strong>Meine Antithese</strong><strong> dazu: </strong>Eine schöne Liste!</p>
<p><strong>These #3:</strong> Es gibt neben Intel-CPUs wie Core 2 Quad oder <a title="Das Multithread-Potenzial des Core i7-Prozessors" href="http://www.software-dev-blog.de/mehr-multithread-leistung-mit-dem-intel-core-i7-prozessor/11/2008/">Core i7</a> weitere Parallelprozessoren, die allerdings (beispielsweise die Grafik-CPU Geforce 8 von Nvidia) hauptsächlich für Spezialbereiche konzipiert sind. <strong>Meine Antithese</strong><strong> dazu: </strong>Wie sagte erst kürzlich ein bekannter Chefentwickler zu mir: &#8220;CUDA und die angeblich enorme Rechenleistung der Geforce-GPUs ist vor allem eins: Marketing!&#8221;</p>
<p><strong>These #4:</strong> Die Moore&#8217;sche Regel hat eine Variation erfahren, die wir an der Uni Karlsruhe sogar ein wenig verfeinern wurde: <em>&#8220;Die der Anzahl Prozessoren pro Chip wird sich mit jeder Chip-Generation bei etwa gleicher Taktfrequenz verdoppeln&#8221;</em>. <strong>Meine Antithese</strong><strong> dazu: </strong>Ja, das sagt Intel auch. Dann wird es wohl stimmen &#8230;</p>
<p><strong>These #5:</strong> Was sollen wir mit all den Kernen nur anfangen, die uns in Zukunft zur Verfügung stehen? Die Antworten lieferte Professor Tichy postwendend selbst: automatische Protokollführer; inhaltsbasierte Bildersuche mithilfe einer Datenbank; intuitive Schnittstellen mit Bild- und Sprachverarbeitung; vorausschauende Anwendungen, die &#8220;ahnen&#8221;, was der Benutzer will; Modellierung des Benutzers und der Umgebung; Erhöhung der Zuverlässigkeit (Redundanzen). <strong>Meine Antithese</strong><strong> dazu: </strong>Wie wäre es mit weiteren Beispielen: <a title="PowerDirector 7 ist für Core i7-Prozessor optimiert" href="http://www.software-dev-blog.de/powerdirector-7-ist-fur-core-i7-prozessor-optimiert/12/2008/">Videoschnitt</a>, <a title="Skalierende Filter: Nik Software setzt auf Multicore" href="http://www.software-dev-blog.de/skalierende-filter-nik-software-setzt-auf-multicore/01/2009/">Bildbearbeitung</a>, <a title="Lernen mit Crytek: Deshalb ist Crysis erfolgreich" href="http://www.software-dev-blog.de/lernen-mit-crytek-deshalb-ist-crysis-erfolgreich/01/2009/">3D-Spiele</a>, <a title="Windows 7 und seine Multicore-Fähigkeiten" href="http://www.software-dev-blog.de/ist-fur-windows-7-ein-neuer-taskmanager-notwendig/01/2009/">skalierende Betriebssysteme</a> und <a title="Darum skaliert DivX 7 so gut auf Multicoreplattformen" href="http://www.software-dev-blog.de/how-to-deshalb-skaliert-divx-7-auf-multicore-plattformen/01/2009/">Videoencoding</a>, um nur einige zu nennen.</p>
<p><span id="more-691"></span></p>
<p><strong>These #6:</strong> Es gibt natürlich Probleme bei der parallelen Programmierung, die aber nicht dazu führen dürfen, dass darunter die Qualität leidet. <strong>Meine Antithese</strong><strong> dazu: </strong>In der Tat, dass würden wohl die Kunden und Endanwender nicht tolerieren!</p>
<p><strong>These #7:</strong> Paralleltools sind immer noch unzureichend vorhanden. <strong>Meine Antithese</strong><strong> dazu: </strong>Ach, und was ist mit folgenden Werkzeugen: <a title="etzt Beta-Tester des Intel Parallel Composer werden" href="../jetzt-beta-tester-des-intel-parallel-composer-werden/11/2008/">Parallel Composer</a>, <a title="Fehler im Multithread-Code aufspüren: Thread Checker" href="../fehler-im-multithread-code-aufspuren-thread-checker/11/2008/">Thread Checker</a>, <a title="Mit Intel Threading Building Blocks parallel programmieren" href="../mit-intel-threading-building-blocks-parallel-programmieren/12/2008/">Threading Building Blocks</a>, <a title="Quellcode-Schwachstellen mit Intel VTune aufspüren" href="../quellcode-schwachstellen-mit-intel-vtune-aufspuren/11/2008/">VTune Performance Analyzer</a> und andere mehr?</p>
<p><strong>These #8:</strong> Software-Entwickler sind oder werden nicht gut genug ausgebildet. <strong>Meine Antithese</strong><strong> dazu: </strong>Ja, das <a title=" Ausbildungslücken bei der Multicore-Programmierung " href="http://www.software-dev-blog.de/ausbildungslucken-bei-der-multicore-programmierung/12/2008/">sagen andere auch</a>. Wie gut, dass es zum Beheben dieses Dilemmas die <a title="Die TU München ist am Intel University Programm beteiligt" href="http://www.software-dev-blog.de/tu-munchen-verstarkt-sein-multicore-engagement/12/2008/">passenden Programme</a> gibt.</p>
<p><strong>These #9:</strong> Der Weg zum fehlerfrei programmierten Parallelcode ist lang und steinig. Dabei sind vor allem massive Umstrukturierungen des Quellcodes notwendig. Und potenzielle Abhängigkeiten sowie mögliche Seiteneffekte müssen unbedingt beachtet werden. <strong>Meine Antithese dazu: </strong>Ja, dazu habe ich mir auch schon so meine Gedanken gemacht. Resultat: <a title="Beliebte Fehler bei der Parallelprogrammierung" href="http://www.software-dev-blog.de/beliebte-fehler-bei-der-parallelprogrammierung/12/2008/">beliebte Fehler bei der Parallelprogrammierung</a>, <a title="Fünf Multicore-Programmierregeln auf einen Blick" href="http://www.software-dev-blog.de/funf-multicore-programmierregeln-auf-einen-blick/11/2008/">fünf Multicore-Programmierregeln</a> und die passenden <a title="Multithreading-Konzepte: OpenMP und Intel TBB" href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">Multithreading-Konzepte</a>.</p>
<p><strong>These #10:</strong> Es gibt immer noch bestimmte Dinge in der Parallelprogrammierung, die kaum oder gar nicht funktionieren. Dazu gehört die oft ausgesprochene Empfehlung, Parallelkonstrukte nach und nach hinzuzufügen. Selbst vor allem laufzeitkritische Pfade zu parallelisieren bringt meist nichts. Darüber hinaus hat die feingranulare Parallelisierung innerer Schleifen nach Tichy keinen wesentlichen Effekt. <strong>Meine Antithese</strong><strong> dazu: </strong>Es ist sicherlich kein einfaches Unterfangen, sequenziellem Quellcode paralleles Leben einzuhauchen, aber es gibt die passenden Methoden und Tools (siehe Antithese #7). Darüber hinaus lassen sich vor allem nummerische Probleme sehr gut mithilfe von parallelen Konstrukten lösen (auch im Nachhinein).</p>
<p><strong>These #11:</strong> Parallelisierung darf nicht per Trial-and-Error erfolgen. Und man muss gut  abschätzen, wo die Parallelisierung am meisten bringt &#8211; und wo nicht! <strong>Meine Antithese</strong><strong> dazu: </strong>Gut gebrüllt, Löwe! Denn nur ein guter Parallelquellcode produziert keine ungewollten oder unvorhersehbaren <a title="Von Deadlocks, Race Conditions und anderen Laufzeitfehlern" href="http://www.software-dev-blog.de/fehler-im-multithread-code-aufspuren-thread-checker/11/2008/">Laufzeitfehler</a>. Mit Tools wie dem <a title="Fehler im Multithread-Code aufspüren: Thread Checker" href="../fehler-im-multithread-code-aufspuren-thread-checker/11/2008/">Thread Checker</a> lässt sich das übrigens überprüfen.</p>
<p><strong>These #12:</strong> Es sind bessere Programmiersprachen zum Ausdruck paralleler Abläufe notwendig, aber auch parallele Algorithmen und Bibliotheken. Und Tools für das Debuggen von Parallelisierungsfehlern sowie Tools für parallele Programmierung. <strong>Meine Antithese</strong><strong> dazu: </strong>Wie gut, dass es hierfür schon <a title="Software-Bibliotheken zum Optimieren von bestehendem oder neuem Quellcode" href="http://www.software-dev-blog.de/software-projekte-mit-multicore-bibliotheken-optimieren/12/2008/">das ein</a> oder <a title="Threading Building Blocks " href="http://www.software-dev-blog.de/mit-intel-threading-building-blocks-parallel-programmieren/12/2008/">andere</a> gibt.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/&via=sw_devtwits&text=12 Thesen und Antithesen 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/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/&via=sw_devtwits&text=12 Thesen und Antithesen 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/12-thesen-und-antithesen-zur-multicore-programmierung/01/2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>In der Parallelprogrammierung steckt die Zukunft!</title>
		<link>http://www.software-dev-blog.de/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/</link>
		<comments>http://www.software-dev-blog.de/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 12:28:09 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Vision]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=647</guid>
		<description><![CDATA[Die Überschrift dieses Beitrags ist das Fazit eines sehr interessanten Artikels von Walter F. Tichy, seines Zeichens Professor für Softwaretechnik an der Uni Karlsruhe. In seinem Gastbeitrag auf Computerzeitung.de spricht er nämlich von der Herausforderung Multicore-Programmierung und den Chancen, die sich daraus ergeben. Dabei nennt er einerseits ein paar sehr wichtige Aspekte, andererseits vermisst er [...]]]></description>
			<content:encoded><![CDATA[<p>Die Überschrift dieses Beitrags ist das Fazit eines sehr interessanten Artikels von Walter F. Tichy, seines Zeichens Professor für Softwaretechnik an der Uni Karlsruhe. In seinem <a title="Der Artikel in voller Länge" href="http://www.computerzeitung.de/articles/multicore-herausforderung_liegt_in_der_programmierung:/2009005/31800939_ha_CZ.html?thes=&amp;tp=/themen/forschung/&amp;page=1" target="_blank">Gastbeitrag auf Computerzeitung.de</a> spricht er nämlich von der Herausforderung Multicore-Programmierung und den Chancen, die sich daraus ergeben. Dabei nennt er einerseits ein paar sehr wichtige Aspekte, andererseits vermisst er ein, zwei Dinge, die jedoch entgegen seiner Aussagen bereits existieren. Aber der Reihe nach.</p>
<p>Wichtig erscheint mir auf jeden Fall die Feststellung, dass &#8220;in Zukunft [...] Parallelrechner ungefragt und flächendeckend zur Verfügung stehen&#8221; werden. Ganz klar, das ist der Trend, und wenn man sich die Roadmap von Intel ansieht, wird schnell klar, dass der <a title="Das Multithread-Potenzial des Core i7-Prozessors" href="http://www.software-dev-blog.de/mehr-multithread-leistung-mit-dem-intel-core-i7-prozessor/11/2008/">Core i7</a> nur der Anfang der Multicore-Ära ist.</p>
<p>Ebenso wichtig sind die potenziellen Multicore-Anwendungen, die Professor Tichy aufzählt: Dazu gehören natürlich Medienprogramme wie <a title="How-to: Deshalb skaliert DivX 7 auf Multicore-Plattformen " href="http://www.software-dev-blog.de/how-to-deshalb-skaliert-divx-7-auf-multicore-plattformen/01/2009/">DivX</a> und 3D-Spiele wie <a title="Lernen mit Crytek: Deshalb ist Crysis erfolgreich " href="http://www.software-dev-blog.de/lernen-mit-crytek-deshalb-ist-crysis-erfolgreich/01/2009/">Crysis</a> oder <a title=" Crysis und Sacred 2 räumen beim Entwicklerpreis 2008 ab" href="http://www.software-dev-blog.de/crysis-und-sacred-2-raumen-beim-entwicklerpreis-2008-ab/12/2008/">Sacred 2</a> (und Bildbearbeitungstools wie <a title=" Skalierende Filter: Nik Software setzt auf Multicore " href="http://www.software-dev-blog.de/skalierende-filter-nik-software-setzt-auf-multicore/01/2009/">Silver Efex Pro</a> von Nik Software). Aber auch weniger spektakuläre Anwendungen wie Logistikplaner, Tabellenkalkulation, Suchalgorithmen und Sicherheitsüberprüfungen profitieren vom Multithread-Code. Zusammengefasst könnte man mit Tichys Worten sagen:</p>
<blockquote><p><em>Diejenigen Firmen, die jetzt die richtigen Anwendungen identifizieren und parallelisieren, werden in Zukunft zu den Gewinnern gehören, zumal Beschleunigung durch Abwarten – das heißt: das Setzen auf weiter steigende Taktfrequenzen – nicht mehr funktioniert.</em></p></blockquote>
<p><span id="more-647"></span>Aber Professor Tichy weist zu Recht auch darauf hin, dass es große Hemmschwellen seitens der Software-Entwickler gibt, da sie sich durchaus dessen bewusst sind, dass es beim Parallelisieren von Anwendungen so <a title="Beliebte Fehler bei der Parallelprogrammierung " href="http://www.software-dev-blog.de/beliebte-fehler-bei-der-parallelprogrammierung/12/2008/">hässliche Dinge</a> wie Race Conditions, Dead Locks, Reihenfolgeprobleme und andere Synchronisationstücken gibt. Außerdem lassen sich bestimmte Fehler einfach nicht reproduzieren, da sie oft erst zur Laufzeit auftreten.</p>
<p>An dieser Stelle gibt es übrigens ein erstes &#8220;Hm?!&#8221;. Denn Testtools wie der <a title=" Fehler im Multithread-Code aufspüren: Thread Checker " href="http://www.software-dev-blog.de/fehler-im-multithread-code-aufspuren-thread-checker/11/2008/">Thread Checker </a>sind durchaus in der Lage, potenzielle Fehler aufzuspüren, bevor ein einziger Betatester oder Endanwender die Software in den Händen hält. Dies ist naturgemäß nicht trivial, aber es sind entsprechende Tools vorhanden.</p>
<p>Ein weiterer wichtiger Punkt in seinem Vortrag hat mit den sequenziellen Algorithmen zu tun, die immer noch zu einem Großteil in existierenden Anwendungen implementiert sind. Die große Herausforderung hierbei ist natürlich das <a title=" Vier Schritte zum optimierten Multicore-Quellcode " href="http://www.software-dev-blog.de/vier-schritte-zum-optimierten-multicore-quellcode/12/2008/">Aufspüren des Parallelisierungspotenzials</a>. Dies lässt sich zum einen mit 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> oder <a title="Infos zum Thread Profiler" href="http://www.intel.com/cd/software/products/asmo-na/eng/threading/winthreadprofiler/286749.htm" target="_blank">Thread Profiler</a> erledigen. Zum anderen muss man als Entwickler noch <a title="Fünf Multicore-Programmierregeln" href="http://www.software-dev-blog.de/funf-multicore-programmierregeln-auf-einen-blick/11/2008/">einen wichtigen Schritt</a> weiter gehen: Wie mache ich aus einem sequenziellen ein paralleles Software-Konzept? Und genau an diesem Punkt scheitern immer noch ganz viele.</p>
<p>Jetzt ist übrigens die Gelegenheit gekommen für ein zweites &#8220;Hm?!&#8221;. Und zwar bezüglich Professor Tichys Aussage, dass es derzeit keine vernünftigen Compiler und Bibliotheken gibt, die ein gewisses Maß an Parallelimus in sich bergen. So stecken beispielsweise im <a title="Optimierte Compiler helfen beim Parallelisieren " href="http://www.software-dev-blog.de/optimierte-compiler-helfen-beim-parallelisieren/12/2008/">Intel C++-Compiler</a> eine ganze Menge an parallelen Konstrukten und Bibliotheken, die mit wenigen Hangriffen in den Quellcode übernommen werden können. Und <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/">Programmiermethoden</a> wie OpenMP erledigen dies sogar automatisch – von den <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/">Threading Building Blocks</a> und den multicore-optimierten <a title=" Software-Projekte mit Multicore-Bibliotheken optimieren " href="http://www.software-dev-blog.de/software-projekte-mit-multicore-bibliotheken-optimieren/12/2008/">Bibliotheken</a> ganz zu schweigen.</p>
<p>Aber für Professor Tichy steht außer Frage, dass es hierzulande kluge Köpfe gibt, die durchaus in der Lage sind, mit den richtigen Tools und den richtigen Konzepten die Multicore-Programmierung voranzutreiben und für Anwendungen zu sorgen, die auf 4, 8, 16 oder gar <a title="Windows 7 skaliert auf bis zu 256 Prozessorkernen" href="http://www.software-dev-blog.de/ist-fur-windows-7-ein-neuer-taskmanager-notwendig/01/2009/">256 Prozessorkernen</a> skalieren. Und dann wird es auch so kommen, wie Professor Tichy abschließend scheibt:</p>
<blockquote><p><em>Bessere Produkte mit intuitiveren Schnittstellen, Sprach- und Videoverarbeitung, mehr Intelligenz und eingehender Modellierung des Nutzers und der Umgebung werden entstehen.</em></p></blockquote>
<p><strong>Ach ja:</strong> Ich werde mir nächste Woche auf der <a title="Infos zur OOP 2009" href="http://www.software-dev-blog.de/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/">OOP 2009</a> den Vortrag von Professor Tichy zum Thema &#8220;Herausforderung Mehrkernsysteme&#8221; anhören – und dazu mit ihm ein Interview führen. Darauf bin ich schon sehr gespannt!</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/&via=sw_devtwits&text=In der Parallelprogrammierung steckt die Zukunft!&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/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/&via=sw_devtwits&text=In der Parallelprogrammierung steckt die Zukunft!&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/in-der-parallelprogrammierung-steckt-die-zukunft/01/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entwicklergemeinde trifft sich auf der OOP 2009</title>
		<link>http://www.software-dev-blog.de/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/</link>
		<comments>http://www.software-dev-blog.de/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 14:16:29 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=574</guid>
		<description><![CDATA[Die Software-Entwicklergemeinde trifft sich vom 26. bis 30. Januar auf der OOP 2009 im ICM der Messe München. An fünf Tagen wird es um die ganze Bandbreite der (objektorientierten) Programmierung und Software-Entwicklung gehen. Namhafte Redner geben in Vorträgen und Workshops Auskunft darüber, wohin die Entwicklerreise geht. Zu den Highlight zählen unter anderem: Java – Quo [...]]]></description>
			<content:encoded><![CDATA[<p>Die Software-Entwicklergemeinde trifft sich vom 26. bis 30. Januar <a title="Webseite der OOP 2009" href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/index.php" target="_blank">auf der OOP 2009</a> im ICM der Messe München. An fünf Tagen wird es um die ganze Bandbreite der (objektorientierten) Programmierung und Software-Entwicklung gehen. Namhafte Redner geben in Vorträgen und Workshops Auskunft darüber, wohin die Entwicklerreise geht. Zu den Highlight zählen unter anderem:</p>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=33" target="_blank">Java – Quo Vadis?</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=35" target="_blank">Entwurf von mobilen iPhone-Anwendungen für Firmen</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=39" target="_blank">Was ein Software-Architekt wissen sollte</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=51" target="_blank">Herausforderung Mehrkern-Systeme</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=72" target="_blank">How to be an IT Superhero – The Future of Application Development</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=80" target="_blank">Warum Anwendungen nicht skalieren – Wie man Performance- und Skalierbarkeitsprobleme findet und eliminiert</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=90" target="_blank">Programmierung für Multicore CPUs</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=115" target="_blank">10 Jahre Model-Driven Software Development</a></li>
</ul>
<ul>
<li><a href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/program.php?cat=session&amp;ID=125" target="_blank">Ursprung des Computers</a> (Horst Zuse!)</li>
</ul>
<p>Daneben gibt es interessante Ganztagskurse, die am Montag und am Freitag stattfinden. Und wer es besonders lange mag, dem seien die &#8220;Night School Sessions&#8221; empfohlen.</p>
<p><span id="more-574"></span>Übrigens: Falls Sie nicht wissen sollten, warum es keinen triftigen Grund gibt, von der OOP 2009 fernzubleiben, sollten Sie sich mal die <a title="10 + 5 Gründe für die OOP 2009" href="http://www.sigs-datacom.de/sd/kongresse/oop_2009/index.php?cat=reasons" target="_blank">zehn Gründe</a> dafür zu Rate ziehen. Und fünf Argumentationshilfen für den Chef gibt&#8217;s auch gleich dazu.</p>
<p>Neben den zahlreichen Vorträgen und Workshops wird  auch eine Ausstellung geboten, auf der zahlreiche Unternehmen wie Borland, Oracle und andere ihre Lösungen zeigen. Und der Bitkom ist ebenfalls anwesend.</p>
<p>Ich habe mich übrigens gerade akkreditiert und werde vor Ort sein, um mit einigen Leuten über das Thema Multicore-Programmierung zu sprechen. So wie mit <a title="Mehr Infos zu Professor Tichy" href="http://www.ipd.uka.de/Tichy/people.php?id=15" target="_blank">Professor Walter F. Tichy</a> von der Uni Karlsruhe, der zu dem Thema Multicore-Plattformen eigene Vorlesungen anbietet. Darauf bin ich schon sehr gespannt.</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/&via=sw_devtwits&text=Entwicklergemeinde trifft sich auf der OOP 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/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/&via=sw_devtwits&text=Entwicklergemeinde trifft sich auf der OOP 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/entwicklergemeinde-trifft-sich-auf-der-oop-2009/01/2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ausbildungslücken bei der Multicore-Programmierung</title>
		<link>http://www.software-dev-blog.de/ausbildungslucken-bei-der-multicore-programmierung/12/2008/</link>
		<comments>http://www.software-dev-blog.de/ausbildungslucken-bei-der-multicore-programmierung/12/2008/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 13:41:16 +0000</pubDate>
		<dc:creator>Michael Hülskötter</dc:creator>
				<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Bildung]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.software-dev-blog.de/?p=379</guid>
		<description><![CDATA[Ein Interview auf Elektroniknet.de brachte mir eine fundamentale Erkenntnis: Die Multicore-Programmierung findet offensichtlich noch in einem zu geringen Ausmaß statt, da es nicht an Entwicklertools fehlt, sondern an Entwicklern, die damit umgehen können. Diese Theorie stellt zumindest Professor Klaus Kißig von der FH Kiel auf. Seine Kernthese dürfte die Ohren diverser Kollegen und Dekane anderer [...]]]></description>
			<content:encoded><![CDATA[<p>Ein <a title="via elektroniknet.de" href="http://www.elektroniknet.de/home/bauelemente/news/n/d/bei-multicore-programmierung-fehlen-kenntnisse/" target="_blank">Interview auf Elektroniknet.de</a> brachte mir eine fundamentale Erkenntnis: Die Multicore-Programmierung findet offensichtlich noch in einem zu geringen Ausmaß statt, da es nicht an <a title="Mehr Infos zu Entwickler-Tools" href="http://www.software-dev-blog.de/tag/tool/">Entwicklertools</a> fehlt, sondern an Entwicklern, die damit umgehen können. Diese Theorie stellt zumindest Professor Klaus Kißig von der FH Kiel auf. Seine Kernthese dürfte die Ohren diverser Kollegen und Dekane anderer Bildungseinrichtungen zum Klingeln bringen:</p>
<blockquote><p>Das Problem ist eher, dass es zu wenige Leute gibt, die die Kenntnisse haben, um diese Compiler effektiv anzuwenden und die Hardware optimal ausnutzen können.</p></blockquote>
<p>Mit „diese Compiler“ meint er unter anderem <a title="Intel-Compiler-Webseite" href="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm" target="_blank">Intel-Compiler</a>, die ständig weiterentwickelt werden. Aber auch den Einsatz von <a title="Mehr Infos zu OpenMP" href="http://www.software-dev-blog.de/multithreading-konzepte-openmp-apis-und-intel-tbb/11/2008/">OpenMP</a> in Verbindung mit Standard-Compilern sieht er in diesem Kontext als großen Vorteil.</p>
<p>Das bedeutet also, dass es vor allem bei der Ausbildung hakt, da es die jeweiligen Einrichtungen bis dato offensichtlich noch nicht geschafft haben, neue Techniken wie Multicore-Systeme in den Vorlesungsplan zu integrieren.</p>
<p><span id="more-379"></span>Eine kurze Stichprobe via Google mit dem Suchbegriff <em>„Vorlesung Multicore“</em> fördert es dann tatsächlich zu Tage: Parallele Programmierung steht bei den allermeisten Unis und FHs noch nicht auf der Tagesordnung. Als lobenswerte Ausnahmen sind hier die FH Kiel zu nennen (sic!), die <a title="Vorlesungsplan der Uni Augsburg zur parallelen Programmierung" href="http://www.informatik.uni-augsburg.de/lehrstuehle/sik/lehre/ws/multicore/" target="_blank">Uni Augsburg</a>, die <a title="Lehrplan der TU Chemnitz zum Thema paralleles Programmieren" href="http://www.tu-chemnitz.de/informatik/PI/lehre/plan/teach_mp08.php" target="_blank">TU Chemnitz</a>, die <a title="Lehrplan der TU Dortmund zum Thema paralleles Programmieren" href="http://ls5-www.cs.tu-dortmund.de/opencms/de/lehre/vorlesungen/ws0809/mpes.html" target="_blank">TU Dortmund</a>, die <a title="Lehrplan der Uni Karlsruhe zum Thema paralleles Programmieren" href="http://www.ira.uni-karlsruhe.de/I3V_HTML/VERANSTALTUNGEN/01325935.htm" target="_blank">Uni Karlsruhe</a>, die <a title="Lehrplan der LMU zum Thema paralleles Programmieren" href="http://www.bio.ifi.lmu.de/lehre/WS2008/VLG_HPC/" target="_blank">Uni München</a>, die <a title="Lehrplan der Uni Potzdam zum Thema paralleles Programmieren" href="http://www.cs.uni-potsdam.de/bs/teaching/ws2008/seminar_pr.html">Uni Potsdam</a> und die <a title="Lehrplan der Uni Stuttgart zum Thema paralleles Programmieren" href=" http://www.ipvs.uni-stuttgart.de/abteilungen/pas/lehre/lehrveranstaltungen/ws0809/Parallele_Systeme_Vorlesung" target="_blank">Uni Stuttgart</a>.</p>
<p>Dass sich noch nicht mehr Unis und FHs mit dem Thema Multicore-Programmierung befassen, ist doch ein wenig überraschend, da sich Intel <a title="Pressemeldung vom 9. August 2006" href="http://www.intel.com/cd/corporate/pressroom/emea/deu/archive/2006/312023.htm" target="_blank">seit über zwei Jahren</a> mit einem groß angelegten Ausbildungsprogramm an Universitäten und Fachhochschulen wendet, um diesen das Thema paralleles Programmieren schmackhaft zu machen.</p>
<p>Das beginnt mit einer finanziellen Unterstützung, geht weiter über das Bereitstellen von Entwicklertools und endet bei Experten der <a title="Intel Software College Group" href="http://www.intel.com/software/college" target="_blank">Intel Software College Group</a>, die an Unis und FHs Kurse zum Thema Multicore-Programmierung geben. Fragt sich nur, warum nicht mehr Einrichtungen auf diesen Zug aufspringen?</p>
<div style="float: left margin-left: 30px; margin-buttom: 20px"><a href="http://twitter.com/share?url=http://www.software-dev-blog.de/ausbildungslucken-bei-der-multicore-programmierung/12/2008/&via=sw_devtwits&text=Ausbildungslücken bei der 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/ausbildungslucken-bei-der-multicore-programmierung/12/2008/&via=sw_devtwits&text=Ausbildungslücken bei der 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/ausbildungslucken-bei-der-multicore-programmierung/12/2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

