Intel AppUp Center öffnet seine Pforten

veröffentlicht von Michael Hülskötter am 8. Januar 2010 (2) Kommentare

So, ihr Software-Entwickler mobiler Anwendungen für Netbooks, es ist soweit! Intel hat auf der CES 2010 seinen App Store offiziell eröffnet und seinem Baby den Namen Intel AppUp Center gegeben. Zwar liegt der App Store zunächst nur als Beta vor und auch nur in Englisch und nur für Windows, aber internationale Versionen sollen folgen und einen App Store für Moblin-Anwendungen soll es ebenfalls bald geben. Das ist nur eine Frage der Zeit.

Bis dahin solltet ihr weiterhin an euren angepassten Apps für Netbooks arbeiten, damit ihr sie rechtzeitig im Intel AppUp Center einstellen und somit eine Zielgruppe von rund 50 Millionen potenziellen Anwendern erreichen könnt. Hierfür müsst ihr euch lediglich für das Intel Atom Developer Program anmelden und eure Netbook-App einreichen. Den Rest erledigt dann Intel für euch. Und schon habt ihr am boomenden Netbookmarkt teil. Also, worauf wartet ihr noch?

Kategorien : Mobile Tags : ,

Maxon setzt auf Intel Softwaretools für optimierte Apps

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

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 mit Intel-Architektur laufen.

Ein wesentlicher Punkt ist unter anderem der Einsatz des Intel C++ Compilers, der laut Maxon schon mal ohne nennenswerte Änderungen am Code etwa 15 Prozent mehr Speed bringt. Aber auch der Intel Thread Profiler 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).

Darüber hinaus kommen VTune Performance Analyzer und Intel Threading Building Blocks zur Sprache. Ok, dann würde ich mal sagen, den Rest solltet ihr euch am besten selbst ansehen. Viel Spaß dabei!

Kategorien : Multicore Tags : , , ,

Die vier Schichten der Moblin-Linux-Distribution

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

Moblin Arch DiagramSchaut man obiges Diagramm an, wird schnell klar, dass Moblin viel mehr ist als nur ein weiteres Linux-Derivat. Moblin bietet nämlich von Top to Buttom die passenden Tools und Schnittstellen, die für angepasste Anwendungen notwendig sind. Angepasste Anwendungen? Moblin ist ja ein Kunstwort aus “Mobile” und “Linux” und wurde speziell für den Einsatz auf tragbaren Geräten wie Netbooks, Nettops, MIDs und auch Smartphones konzipiert (letzteres wird allerdings noch ein wenig auf sich warten lassen).

Aus diesem Grund geht Moblin einen sehr konsequenten und klaren Weg, indem es die Eigenheiten des jeweiligen Gerätetyps möglichst optimal berücksichtigt. Das betrifft vor allem die Größe des Monitors, aber auch die unterschiedlichen Leistungsdaten wie Prozessor- und Speichertakt, Akkulaufzeiten und andere Parameter.

Moblin besteht grundsätzlich aus vier Schichten: Ganz unten befindet sich der Linux-Kern samt der notwendigen Treiber. Darüber treiben die App Services ihr Unwesen. Das sind vor allem die hardware-nahen Dienste für den Wifi- und Bluetooth-Stack, aber auch das Powermanagement lässt sich mit Hilfe der App Services einheitlich und über alle Plattformen hinweg konsistent implementieren.

weiterlesen…

Kategorien : Mobile Tags : , ,

Apps unter Mac OS X multicore-tauglich machen

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

Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels “Mehrkern-Beschleuniger”, 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 multicore-tauglich zu machen. Und das ohne größeren Programmieraufwand, sondern lediglich mithilfe der C-API und den NSOperation-Klassen.

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.

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.

NSOperation: Warteschlangentechnik für asynchrone Tasks
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.

weiterlesen…

Kategorien : Multicore Tags : , ,

Weitere Details zu Intels Cloud-Service “Parallel Universe”

veröffentlicht von Michael Hülskötter am 18. November 2009 (0) Kommentare

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 Augen öffnen und (b) beim korrekten Multithreaden helfen.

Für ein paar weitere detaillierte Informationen rund um diesen Service hatte ich gestern Abend die Gelegenheit, an einer Telefonkonferenz mit James Reinders 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 Supercomputing Conference 2009 herum, um dort vermutlich unter anderem sein paralleles Universum vorstellen. Von ihm erfuhren wir ein paar sehr interessante Details zum neuen Cloud-Service:

  • 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.
  • 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.

weiterlesen…

Kategorien : Multicore Tags : ,

Multicore-Testumgebung in der Cloud: Intel Parallel Universe

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

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 Dead Locks und Data Races, die unverhofft und völlig überraschend zur Laufzeit auftauchen.

Damit es erst gar nicht so weit kommt, stellt Intel seit Ende Mai dieses Jahres für C- und C++-Anwendungen Parallel Studio 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. – theoretisch zumindest.

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: Intel Parallel Universe. Seine Idee: Das Testen parallelisierter Apps mithilfe eines 16-Core-Rechners, der via Internet zur Verfügung steht. Die Voraussetzungen: ein Internetbrowser, Zugang zum Intel Software Network und Parallel Studio für weitere Auswertungen und Analysen.

weiterlesen…

Kategorien : Multicore Tags : ,

Preview: Das leistet das Intel App Store SDK

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

Auch wenn ihr euch noch ein paar Tage gedulden müsst, bis das Intel App Store SDK verfügbar ist, will ich es nicht versäumen, schon mal einen Blick auf das Software Development Kit zu werfen. Nicht zuletzt, um damit die Wartezeit ein wenig zu verkürzen.

Die gute Nachricht zuerst: Das App Store SDK erfordert keine langwierigen Einarbeitungszeiten, da es sich in die vorhandene Entwicklungsumgebung integrieren lässt. Egal also, ob ihr mit Eclipse Java-, Mac-OS- oder Linux-basierten Quellcode entwickelt oder lieber mithilfe von Visual Studio Windows-Programme schreibt – das Intel App Store SDK bietet für nahezu jeden Software-Entwickler die passende Plattform. Damit lassen sich sämtliche Prozesse, die für das Erstellen von neuer Software für Netbook und Co. und das Transferieren in den Intel App Store notwendig sind, unter einer einzigen Oberfläche durchführen. Das spart Zeit, Geld und Nerven.

Das AppStore SDK beherrscht folgende Dinge:

  • Mithilfe eines eigenen Assistenten lässt sich ein neues Projekt anlegen, das die notwendigen Komponenten wie Codeschnipsel für die Abrechnung und das Tracking automatisch integriert. Anschließend könnt ihr den Programmcode wie gewohnt schreiben, testen und mehr.
  • Innerhalb der eigenen Entwicklungsumgebung stellt das SDK den Komponentenkatalog zur Verfügung. Damit stehen sämtliche Tools anderer Entwickler zur Verfügung, die man für das eigene Projekt einsetzen kann, ohne dafür die IDE verlassen zu müssen. Bezahlen müsst ihr dafür aber wohl schon (bis auf die kostenlosen Komponenten).
  • Die Abrechnungsfunktionen kann man ebenfalls direkt aus der Entwicklungsumgebung aufrufen.

weiterlesen…

Kategorien : Mobile Tags : , ,

Intel und Rapidmind gemeinsam in Sachen Multicore

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

Intel hat kürzlich die Multicore-Schmiede Rapidmind akquiriert. Da könnte man im ersten Moment die Frage stellen: “Warum tut Intel so etwas?” 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 genauer an, wird schnell klar: Dieser Zusammenschluss folgt einer klaren Logik und bietet für beiden Seiten große Vorteile.

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 – sowohl technologisch als auch ressourcen-seitig – von Rapidmind zu nutzen. Und das geht meines Erachtens in diverse Richtungen.

Rapidmind-Tools wie Code Optimizer, Load Balancer, Data Manager und Diagnostics sind möglicherweise sehr gute Ergänzungen zu den vorhandenen Intel-Werkzeugen wie Parallel Studio, Thread Checker und Intel TBB. 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 Larrabee-Plattform waren für Intel sicherlich ein wichtiger Kaufgrund.

weiterlesen…

Kategorien : Mobile, Multicore Tags : , ,

Mac OS X 10.6 erleichtert die Multicore-Programmierung

veröffentlicht von Michael Hülskötter am 25. August 2009 (2) Kommentare

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 fortschrittlichsten Betriebssystems der Welt erhältlich!

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 – von ‘Grand Central Dispatch’ (GCD) bis zur serienmäßigen Unterstützung für Microsoft Exchange.

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?!

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: Grand Central Dispatch (GCD).

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.

weiterlesen…

Kategorien : Multicore Tags : , , ,

GDC09: Mit CryEngine für PC, XBox und Co. entwickeln

veröffentlicht von Michael Hülskötter am 20. August 2009 (0) Kommentare

Am gestrigen dritten und letzten Tag der Game Developers Conference 2009 hatten wir noch ein richtiges “Wow”-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.

So wird es möglich sein, ein neues Spiel für alle drei Plattformen – also PC, PlayStation und XBox – gleichzeitig zu entwickeln. Dabei lassen sich sämtliche Veränderungen an einem Level in Echtzeit testen – 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 – ein weiterer wesentlicher Vorteil für Spieleentwickler.

Aber auch die Integration von weiteren Tools wie Photoshop in die Crytek’sche Entwicklerumgebung hat es in sich: So lassen sich beispielsweise bestehende Texturen per einfachem Drag’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 …

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 von Cevat Yetil (CEO von Crytek) erfahren haben.

Kategorien : Visual Computing Tags : , , ,