Sämtliche Beiträge des Monats Januar 2009

Multicore-Programmierung im .NET-Umfeld – Teil 2

veröffentlicht von am 30. Januar 2009 (2) Kommentare

Wie ich gestern versprochen habe, folgt heute der zweite Teil meines Mini-OOP-Specials zum Thema Multicore-Programmierung in der .NET-Welt.

Im einleitenden Teil habt ihr unter anderem erfahren …

… warum es mittlerweile mehr Anstrengungen erfordert, bestehende oder neue Anwendungen auf vorhandenen Computerplattformen schneller zu machen,

… was die Gesetze von Amdahl und Gustafson für die parallele Programmierung bedeuten

… und auf welchen Elementen moderne Programmarchitekturen basieren.

Im heutigen zweiten Teil geht es ans Eingemachte: Welche Hürden sind bei der Multicore-Programmierung im .NET-Umfeld zu überwinden? Welche Tools gibt es bereits dafür? Und was kommt auf die Entwickler in den nächsten Monaten noch alles zu?

Die gute Nachricht: Multithreading wird mittlerweile von den nativen Programmiersprachen wie C++ und Fortran bestens unterstützt. Hierfür gibt es auch diverse Tools wie Threading Building Blocks, Thread Checker und OpenMP, die Entwickler für die Parallelprogrammierung einsetzen können. In Sachen C#, Java und Python sieht es zwar (noch) nicht ganz so gut aus, aber es gibt bereits einige Methoden, Multithreading in .NET-Applikationen zu realisieren. Dabei handelt es sich um Konstrukte zum Erzeugen und Synchronisieren von Threads, aber auch zum Sperren von gemeinsamen Ressourcen (Speicher) und zum Verwalten von Threadpools.

weiterlesen…

Kategorien : Multicore Tags : , ,

Multicore-Programmierung im .NET-Umfeld – Teil 1

veröffentlicht von am 29. Januar 2009 (3) Kommentare

Gestern war ich auf der zweiten Multicore-Session der OOP 2009 (am Dienstag wohnte ich dem Vortrag von Professor Tichy der Uni Karlsruhe bei). Die Mittwoch-Veranstaltung trug den Titel “Programmierung für Multicore-CPUs”, die sich im Speziellen an .NET-Entwickler richtete. Warum Klaus Bode nicht auf native Programmiersprachen wie C++ eingegangen ist, erklärte er mir im Anschluss an seinen Vortrag; das ist aber eine andere Geschichte.

Die Session gliederte sich in vier Abschnitte: Einleitung, Parallelisierung durch Multithreading, neue Konzepte in .NET 4.0 und Ausblick. Die Zusammenfassung verschweige ich einfach mal.

Der erste Teil “Einleitung” beschäftigte sich vor allem mit der Frage, warum das kostenlose Mittagessen vorbei ist. Dies ist die zugegebenermaßen schwachsinnige Übersetzung eines englischsprachigen Artikels, der sich mit der Tatsache beschäftigt, dass Prozessoren seit Jahren nicht mehr schneller werden (sondern eher langsamer) und man daher als Entwickler keine Geschwindigkeitszuwächse mehr erwarten kann, die quasi kostenlos für mehr Leistung sorgen, ohne dass man hierfür am Quellcode herumschrauben muss. Das heißt dann im Umkehrschluss, dass sich Programmierer in Zukunft intensiv mit dem Thema Parallelprogrammierung auseinandersetzen müssen, um aus den künftigen Multicore-Prozessoren das Optimum herauszuholen.

Um die möglichen Schwierigkeiten der Parallelprogrammierung zu verdeutlichen, wies Rohe zunächst auf die Architektur des Core 2 Duo Prozessors von Intel hin, der aus zwei Kernen mit einem eigenem L1-Cache besteht, aber zudem über einen gemeinsamen L2-Cache verfügt. Und genau das stellt eine der wesentlichen Herausforderungen der Parallelprogrammierung dar: der gemeinsame Speicherzugriff mit all seinen unvorhersehbaren Verklemmungen und Problemen!

weiterlesen…

Kategorien : Multicore Tags : , ,

12 Thesen und Antithesen zur Multicore-Programmierung

veröffentlicht von am 28. Januar 2009 (1) Kommentar

Gestern auf der OOP 2009 hielt Professor Walter F. Tichy von der Uni Karlsruhe einen Vortrag mit dem Titel “Herausforderung Mehrkernsysteme”. 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 stellte Professor Tichy mehrere Thesen in Sachen Parallelprogrammierung auf, die ich hier ein wenig aufdröseln will.

These #1: 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. Meine Antithese dazu: Stimmt!

These #2: Es gab immer wieder spezielle Parallelrechner wie den Atanasoff-Berry-Rechner von 1942, der ausschließlich lineare Gleichungen mit 30 Koeffizienten lösen konnte. Dazu gehörte aber auch der Illiac-IV, 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 Cray-1 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 Top500.org zu bestaunen sind. Meine Antithese dazu: Eine schöne Liste!

These #3: Es gibt neben Intel-CPUs wie Core 2 Quad oder Core i7 weitere Parallelprozessoren, die allerdings (beispielsweise die Grafik-CPU Geforce 8 von Nvidia) hauptsächlich für Spezialbereiche konzipiert sind. Meine Antithese dazu: Wie sagte erst kürzlich ein bekannter Chefentwickler zu mir: “CUDA und die angeblich enorme Rechenleistung der Geforce-GPUs ist vor allem eins: Marketing!”

These #4: Die Moore’sche Regel hat eine Variation erfahren, die wir an der Uni Karlsruhe sogar ein wenig verfeinern wurde: “Die der Anzahl Prozessoren pro Chip wird sich mit jeder Chip-Generation bei etwa gleicher Taktfrequenz verdoppeln”. Meine Antithese dazu: Ja, das sagt Intel auch. Dann wird es wohl stimmen …

These #5: 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 “ahnen”, was der Benutzer will; Modellierung des Benutzers und der Umgebung; Erhöhung der Zuverlässigkeit (Redundanzen). Meine Antithese dazu: Wie wäre es mit weiteren Beispielen: Videoschnitt, Bildbearbeitung, 3D-Spiele, skalierende Betriebssysteme und Videoencoding, um nur einige zu nennen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Multicore-Programmierung auf der OOP 2009 [Upd]

veröffentlicht von am 27. Januar 2009 (0) Kommentare

Seit gestern läuft eine der größten Entwicklerkonferenzen im deutschsprachigen Raum, die OOP 2009. Dort geht es um vielfältige Softwarethemen und natürlich auch um die Multicore-Programmierung.

Aus diesem Grund werde ich mich heute und morgen Nachmittag im Messezentrum München herumtreiben und diesbezügliche Informationen zusammentragen. So treffe ich unter anderem die Leute der Dotnetpro, die auf der OOP mit einem eigenem Stand vertreten sein werden. Eines ihrer Themen wird die erste deutschsprachige Multicore-Konferenz sein, die am 23. April diesen Jahres ebenfalls in München stattfindet.

Am Dotnetpro-Stand hoffe ich die Hauptredner des Multicore-Powerday zu treffen, Ralf Westphal und Bernd Marquardt. Mit beiden plane ich kurze Interviews, in denen sie mir hoffentlich ein wenig mehr über ihre Sessions auf der Eintagesveranstaltung im April erzählen werden.

Nach diesen Interviews treffe ich mich mit einer weiteren Koryphäe der Multicore-Programmierung: Walter F. Tichy von der Uni Karlsruhe, der um 17:45 Uhr mit seinem Vortrag “Herausforderung Mehrkernsysteme” dran ist. Im Gespräch mit ihm werde ich versuchen, die scheinbaren Widersprüche aufzulösen, die in seinem Gastbeitrag zu stecken scheinen, den er für die Online-Ausgabe der Computerzeitung geschrieben hat. In seinem Vortrag scheint er ebenfalls ein, zwei diskussionswürdige Thesen zu vertreten:

Der Vortrag skizziert die gegenwärtige Hardwareentwicklung und geht dann auf erste Erfahrungen mit der Parallelisierung nicht-numerischer Anwendungen ein. Insbesondere werden einige der üblichen Parallelisierungsempfehlungen als Mythen entlarvt.

Wie dem auch sei, ich bin schon sehr gespannt, was die Herren Westphal, Marquardt und Tichy zu erzählen haben. Und was sonst noch alles auf der OOP 2009 los ist, sehe ich mir ebenfalls an und werde darüber live und in Farbe berichten. So, stay tuned …

Update: Ich habe während der OOP 2009 zwei Vorträge zum Thema Multicore-Programmierung besucht. Daraus sind 12 Thesen zur Multithread-Entwicklung enstanden sowie eine mehrteilige Mini-Serie zum Thema Multicore-Programmierung (Teil 1, Teil 2, Teil 3).

Kategorien : Multicore Tags : , ,

Multicore-Powerday: Preise und weitere Infos

veröffentlicht von am 26. Januar 2009 (0) Kommentare

Sodala, jetzt bekommt die Entwicklerkonferenz “Multicore-Programmierung für .NET-Entwickler”, die am 23. April im Münchner Konferenzzentrum stattfindet, ein Gesicht. Und zwar in Form einer Webseite, auf der man schon eine ganze Menge über die Veranstaltung lernen kann.

Da wäre zum einen der Schauplatz zu nennen: Das Konferenzzentrum befindet sich in unmittelbarer Nähe der FH München, also dort, wo unter anderem die Software-Entwickler von morgen ausgebildet werden. Ich habe auf jeden Fall gerade eine Mail an eine meiner Ex-Professorinnen abgeschickt; vielleicht wird ja dort an der Hochschule für angewandte Wissenschaften auch das Thema Multicore gelehrt (nix mehr FH!).

Zum anderen geht es auf der Webseite natürlich auch um die Inhalte der Konferenz, die zum Großteil schon feststehen. Diese ranken sich wie bereits berichtet um folgende Themen:

Um 9 Uhr findet zunächst einmal die Keynote-Präsentation statt. Wer diese halten wird, ist noch offen. Zumindest findet sich in der Agenda noch kein Name.

Ab 9:45 Uhr gibt es eine Einführung in das Thema Parallelverarbeitung. Es geht um Deadlocks, Race Conditions, Latenzen, Kanäle und andere Dinge.

Nach der Kaffeepause geht es ab 11.15 Uhr einen Schritt weiter: Bernd Marquardt und  Ralf Westphal erläutern, wie man mit .NET-Bordmitteln parallel programmierte Anwendungen erstellt. Sie behandeln also Begriffe wie ThreadPool, BackgroundWorker, WaitHandle und mehr. Grundwissen für Programmierer.

weiterlesen…

Kategorien : Multicore Tags : , , ,

In der Parallelprogrammierung steckt die Zukunft!

veröffentlicht von am 22. Januar 2009 (0) Kommentare

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 ein, zwei Dinge, die jedoch entgegen seiner Aussagen bereits existieren. Aber der Reihe nach.

Wichtig erscheint mir auf jeden Fall die Feststellung, dass “in Zukunft [...] Parallelrechner ungefragt und flächendeckend zur Verfügung stehen” werden. Ganz klar, das ist der Trend, und wenn man sich die Roadmap von Intel ansieht, wird schnell klar, dass der Core i7 nur der Anfang der Multicore-Ära ist.

Ebenso wichtig sind die potenziellen Multicore-Anwendungen, die Professor Tichy aufzählt: Dazu gehören natürlich Medienprogramme wie DivX und 3D-Spiele wie Crysis oder Sacred 2 (und Bildbearbeitungstools wie Silver Efex Pro 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:

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.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Multicore-Powerday 2009 am 23. April in München [Upd]

veröffentlicht von am 20. Januar 2009 (0) Kommentare

Jetzt ist es tatsächlich soweit: Die Neue Mediengesellschaft Ulm (Dotnetpro, Database pro und PHP Journal) veranstaltet gemeinsam mit Penton Media den ersten Multicore-Powerday. Die Subheadline sagt im Grunde schon alles: “Multicore-Programmierung für .NET-Entwickler”.

Und dieser “Krafttag” wird es wohl in sich haben. Es geht unter anderem um folgende Fragen:

  • Wie nutze ich aktuelle und zukünftige Multicore-Prozessoren optimal für meine Anwendungen?
  • Was ist die Concurrency Coordination Runtime und welche Aufgaben übernimmt sie?
  • Welche Bedeutung haben die Parallel Extensions für das .NET-Framework und wie setze ich sie am besten ein?
  • Wie erstelle mithilfe von F# parallel programmierte Anwendungen?

Diese und viele weitere Fragen werden auf der großen .NET-Konferenz beantwortet. Und zwar von bekannten Größen der Branche wie Ralf Westphal und Bernd Marquardt, beide ihres Zeichens Microsoft MVP.

Falls Sie also zu den .NET-Entwicklern gehören, die unbedingt mehr wissen wollen (oder müssen) zum Thema Multicore-Programmierung, sollten Sie den 23. April schon mal ganz fett und dick im Kalender markieren.

Spartipp: Geben Sie bei der Anmeldung zum Multicore-Powerday einfach den Gutscheincode PPMC9SDB ein und schon sparen Sie 100 Euro. Ist das nix?!

Update: Sodala, jetzt ist auch die zugehörige Webseite online.

Kategorien : Multicore Tags : , , ,

How-to: Deshalb skaliert DivX 7 auf Multicore-Plattformen

veröffentlicht von am 19. Januar 2009 (0) Kommentare

Anfang des Monats haben wir über eine Neuerscheinung am Codec-Firmament berichtet, nämlich über DivX Version 7. Das Besondere daran: DivX 7 wurde intensiv auf seine Multicore-Fähigkeiten hin überprüft und optimiert.

Natürlich wollten wir wissen, was DivX alles dafür getan hat, dass Version 7 unter anderem HD-Videos im H.264-Format bei voller Auflösung dekodieren kann, ohne dass es auf einem PC oder Notebook mit Core 2 Duo oder Quad ordentlich ruckelt. Heute kamen die Antworten bei uns an. Und das sind sie (inklusive ihrer Fragen):

Welche Softwaretools kamen zum Einsatz, damit DivX 7 vorhandene Multicore-Plattformen optimal unterstützt?

Antwort: Zunächst einmal haben wir ganz unten angefangen. Soll heißen, dass wir sämtliche DivX-Algorithmen auf Quellcode-Ebene mithilfe des VTune Performance Analyzer auf mögliche Flaschenhälse und damit auf potenzielle Optimierungsarbeiten hin untersucht haben. Das lieferte uns schon mal sehr interessante Anhaltspunkte. Darüber hinaus kamen eigene Tools zum Einsatz, um die Leistungswerte und die Qualität unserer Codecs zu überprüfen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Ist für Windows 7 ein neuer Taskmanager notwendig?

veröffentlicht von am 16. Januar 2009 (0) Kommentare

Gerade eben habe ich einen interessanten Blog-Beitrag zum Thema Windows 7 und dessen Multicore-Fähigkeiten gefunden. Da das nächste Betriebssystem aus dem Hause Microsoft (das eigentlich gar nicht so richtig neu ist) mit bis zu 256 Prozessorkernen zurechtkommen wird, stellt sich Blog-Autor Doug Holland die Frage, ob der Windows Taskmanager noch das passende Tool ist für solch eine Fülle an CPUs.

Das ist sicherlich nicht ganz ernst gemeint, macht aber die Herausforderungen sehr anschaulich, vor der die Entwicklergemeinde stehen wird, sobald Windows 7 auf dem Markt ist und das Programmieren von neuer Software für maximal 256 Cores ansteht. Dann gibt es nämlich nur noch eins: die richtigen Tools kaufen und parallelisieren, was das Zeug hält. Andernfalls wird aus dem Multicore-Riesen ein lahmer Singlecore-Zwerg, der von der sequenziell programmierten Anwendung jämmerlich ausgebremst wird.

Wie gut, dass es hierfür schon einiges gibt und weitere Tools kommen werden. Die Rede ist beispielsweise von den Threading Building Blocks, Thread Checker, Parallel Studio, Visual Studio 2010 und weiteren nützlichen Hilfsmitteln, mit denen die Parallelprogrammierung zwar kein Klacks wird, vieles sich aber vereinfachen lässt.

Ach ja: Für das Problem mit dem unterdimensionierten Windows Taskmanager hat einer der Kommentatoren einen nützlichen Tipp parat: Virtualisierung. Soll heißen, dass sich einfach mehrere Prozessorkerne zu einem virtuellen Prozessor zusammenfassen lassen. Dann passt die Taskmanager-Anzeige auch wieder auf einen 19-Zöller und die Anschaffung eines 30-Zoll-Monitors kann noch einmal verschoben werden …

Kategorien : Multicore,Virtualisierung Tags : , , ,

Skalierende Filter: Nik Software setzt auf Multicore

veröffentlicht von am 15. Januar 2009 (1) Kommentar

Wir haben über das Thema schon mal berichtet: Datenparallelität, also das simultane Berechnen von unabhängigen Daten, wie sie beispielsweise in der Bildbearbeitung anfallen. Denn einem Pixelgebilde, das aus mehreren Millionen Bildpunkten besteht, ist es völlig wurscht, ob nun Bildpunkt 1 oder 599 oder 122.921 zuerst oder zuletzt manipuliert wird.

Daher steckt eine ganze Menge Multicore-Potenzial in der Manipulation von Bildern, vor allem dann, wenn es sich um große Digitalfotos handelt. Dabei ist die Parallelisierbarkeit völlig unabhängig vom Format, so dass Bilder im sogenannten RAW-Format genauso von parallelisierten Algorithmen profitieren wie JPEG- oder TIFF-Dateien.

Wie wichtig in solch einem Fall das optimale Zusammenspiel von Hard- und Software ist, hat unter anderem Nik Software erkannt, ein Anbieter von Bildbearbeitungstools, die sich an professionelle Fotografen und ähnliche Menschen richten. Eines der Highlight-Produkte von Nik Software nennt sich Silver Efex Pro. Dabei handelt es um einen Schwarzweiß-Filter für Adobe Photoshop und Apple Aperture, mit dem sich Farbbilder in S/W-Kunstwerke verwandeln lassen. Hierfür setzt Nik Software auf die eigene Manipulationstechnik U Point, die es erlaubt, anhand definierter Bildbereiche (sogenannter Kontrollpunkte) diese separat zu bearbeiten.

weiterlesen…

Kategorien : Multicore Tags : , ,

Lernen mit Crytek: Deshalb ist Crysis erfolgreich

veröffentlicht von am 14. Januar 2009 (0) Kommentare

Director of Technology, Mister Mark Atkinson von CrytekAnfang Dezember haben Crytek und Ascaron den Deutschen Entwicklerpreis 2008 verliehen bekommen. Acscaron für Sacred 2 – Fallen Angel und Crytek für Crysis. Beiden Spielen liegt eine Menge an Optimierungsarbeit zugrunde. Soll heißen, dass beide Softwareschmieden ihre Erfolgstitel intensiv auf Multicore-Plattformen abgestimmt haben, damit diese bestmöglich auf zwei, vier, acht oder mehr Prozessorkernen skalieren.

In beiden Fällen wollten wir natürlich wissen, welche Anstrengungen unternommen wurden, um die Spieletitel zu parallelisieren. Tja, und heute haben wir Teil eins unserer Fragen zurückbekommen, und zwar von Crysis. Geantwortet hat der Director of Technology höchstpersönlich, Mister Mark Atkinson. Mark zeichnet übrigens verantwortlich für erfolgreiche Titel wie Burnout Revenge und Football Manager 2009, die er vor seiner Zeit bei Crytek mitentwickelt hat.

Software Dev Blog: Mit welchen Tools haben Sie Crysis für Multicore-Plattformen optimiert?
Mark Atkinson:
Wir setzen im Wesentlichen eigene Tools ein, um den Quellcode unserer Spieletitel wie Crysis für Multicore-Plattformen zu optimieren. Aber auch externe Anwendungen wie der VTune Performance Analyzer kommen bei uns zum Einsatz. Dieser ist für uns vor allem wegen des Thread Profilers interessant, mit dessen Hilfe wir überprüfen können, in welchem Umfang und in welcher Qualität die Parallelisierung des Spieletitels gelungen ist.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Entwicklergemeinde trifft sich auf der OOP 2009

veröffentlicht von am 13. Januar 2009 (0) Kommentare

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:

Daneben gibt es interessante Ganztagskurse, die am Montag und am Freitag stattfinden. Und wer es besonders lange mag, dem seien die “Night School Sessions” empfohlen.

weiterlesen…

Kategorien : Multicore Tags : , ,

Windows 7 und seine Multicore-Fähigkeiten

veröffentlicht von am 12. Januar 2009 (1) Kommentar

Während ich das hier schreibe, versuche ich (bis dato erfolglos) die Beta-Version von Windows 7 auf meinen Rechner zu laden. Ich will einfach mal mit eigenen Augen sehen – vor allem aus Entwicklersicht – was der Vista-Nachfolger alles so drauf hat. Das soll ja so einiges sein.

Die ursprüngliche Aussage, Windows Vista und Windows 7 würden sich unter der Haube kaum unterscheiden, hat man in Redmond mittlerweile revidiert. Denn das Win32-System ist vor allem für eine größere Zahl an Prozessoren nicht ausgelegt. Und genau hier musste etwas geschehen, um dem Multicore-Trend gerecht werden zu können.

Dies gilt vor allem für Serversysteme, die mehr als 32 Prozessorkerne nutzen. Hierfür ist nämlich der sogenannte Dispatcher, also Lastverteiler, von Windows Vista und Windows Server 2003 nicht ausgelegt. Diese Hürde kann Microsoft demnächst mithilfe eines dritten Thread-Zustands in Windows 7 überwinden: Pre-Waitung nennt sich das, was einzelne Aufgaben (Threads) in einen Zustand versetzt, der zwischen “Waiting” und “Execute” liegt. Damit lassen sich Wartezeiten zwischen zwei Threads natürlich erheblich reduzieren.

Aber auch die Abhängigkeiten, die sich beim parallelen Speicherzugriff unter Windows ergeben können, sollen laut Microsoft mithilfe von Windows 7 deutlich reduziert werden, sodass in Zukunft wohl weniger Race Conditions und Dead Locks zu erwarten sind. Vor allem, wenn man mit Tools wie dem Thread Checker dafür sorgt, dass die Anwendung störungsfrei auf mehreren Prozessorkernen ausgeführt wird.

Videotipp: Dass Microsoft das Thema Parallelprogrammierung auch aus Entwicklersicht sehr am Herzen liegt, zeigt das Video-Interview, das wir auf der Microsoft Tech-Ed Developers 2008 in Barcelona mit Steve Teixeira gedreht haben, der sich mit seinem Team um die Entwicklung von Visual Studio 2010 kümmert.

Kategorien : Multicore Tags : ,

Die volle Multicore-Unterstützung: DivX 7

veröffentlicht von am 7. Januar 2009 (0) Kommentare

Seit gestern ist es also soweit: Die aktuelle Version 7 des DivX-Dekoders steht zum Download bereit, und zwar in einer Standard- und einer Pro-Variante. Die Standardversion beherrscht die Wiedergabe von DivX- und AVI-Videodateien, spielt seit neuestem aber auch H.264-kodierte Clips ab. Darüber hinaus lassen sich MP3- und sogar AAC-Musikfiles dekodieren.

Was die Pro- und die Standardversion unterscheidet, ist die Möglichkeit, mit dem Pro-Paket eigenen Videocontent zu generieren. Das Standardpaket, das es wie die Pro-Version bis dato nur für Windows gibt, bietet allerdings eine 15-Tage-Testversion mit allen Pro-Funktionen, bis 16 Euro für die Lizenz fällig werden.

Gerade aus Multicore-Sicht ist DivX ein sehr interessantes Stück Software: So werden bis zu acht Prozessorkerne unterstützt und auch der Einsatz des SSE4-Befehlssatzes soll bei der Wiedergabe hochaufgelöster HD-Videos für möglichst ruckelfreie Bilder sorgen. Welche Anstrengungen DivX unternommen hat, um diese gute Skalierbarkeit zu garantieren, wollen wir natürlich genauer wissen und haben mal bei der Pressestelle angefragt.

Sobald es etwas Berichtenswertes gibt, werden wir dies hier veröffentlichen. Versprochen!

Kategorien : Multicore Tags : , ,