ISC’09: Warum Intel und Nero gut harmonieren

veröffentlicht von am 21. April 2009

Erst mal gibt’s ein paar Nero-Zahlen: insgesamt 300 Millionen verkaufte Software-Pakete (50 Mio. pro Jahr), 120 Millionen Besucher pro Jahr auf Nero.com.

Die ersten Multithread-Erfahrungen hat Nero mit seiner Brennsoftware vor vielen Jahren gemacht, was der Firma heute noch dabei hilft, neue Software-Titel für die aktuelle Hardware-Generation so zu schreiben, dass sie möglichst gut skalieren.

Nach einer ganzen Menge an marketinglastigen Infos wird’s endlich technisch. Zunächst geht es um die Frage, welchen Herausforderungen sich ein Entwickler gegenüber sieht, wenn er Multimedia-Software möglichst leistungsfähig schreiben will. Dazu gehört unter anderem Realtime-Encoding (und das natürlich parallel) – in möglichst vielen Datenformaten. Aber auch hoch komplexe Codecs, HD-Inhalte, große Datenmengen und DRM-/Sicherheitsaspekte stellen Herausforderungen dar.

Doch wie schafft es Nero, in Multicore-Dimensionen zu denken? Nun, hierfür sind laut Charly Lippoth neue Kenntnisse und ein neues Denken erforderlich. Dazu gehört beispielsweise die Erkenntnis, dass Funktionen möglichst gut auf den vorhandenen Prozessorkernen skalieren müssen.

Aber auch die Programmierung auf Maschinencode-Ebene hilft Nero beim Optimieren der Software, indem beispielsweise SSE-Befehle optimal eingesetzt werden. Ein weiterer Aspekt ist aber natürlich der Einsatz der richtigen Tools.

Ein gutes Beispiel für effizientes Multithreading sind Audio- und Videocodecs, bei denen es ein hohes Parallelisierungspotenzial gibt. Das beginnt beim Videoscaling und endet bei der Transformation von HD-Content in 2K- oder 4K-Inhalte.

Folgende Nero-Anwendungen sind parallelisiert: Move It, LiquidTV, Recode, 1080p-Wiedergabe und Mediamanagement.

Nero setzt auf Intel-Tools wie VTune Performance Analyzer und Parallel Inspector, mit deren Hilfe die aktuelle Bluray-Software verbessert werden konnte, da es in der Vergangenheit Probleme beim Synchronisieren von Daten und Threads gab.

Die abschließende Recode-Demo zeigt, was mit einer parallelisierten Anwendung möglich ist: HD-Videocontent lässt sich auf einem Core-i7-System in Echtzeit in ein portables Format konvertieren. Damit gelangen hochaufgelöste Inhalte innerhalb kürzester Zeit auf iPod, iPhone und Co.

Fazit: Nero lernt jeden Tag dazu und will und wird in Zukunft verstärkt auf Parallel Studio, Threading Building Blocks und die Task Parallel Library setzen. Und Entwickler und Programmierer kontinuierlich weiterbilden, für möglichst skalierende Anwendungen.

Dann durfte einer der Chefentwickler noch etwas zu seinen Erfahrungen mit Parallel Studio erzählen. Er zeigte sich sehr angetan von diesem Tool hinsichtlich des Aufspürens von Speicherproblemen zur Laufzeit. Aber: Der generierte Overhead ist nicht ganz trivial und muss noch verringert werden. Und an der Geschwindigkeit muss auch noch geschraubt werden. Aber darum nennt sich das Ganze auch noch “Beta” …


Kategorien : Multicore Tags : , ,

Kommentare

Keine Kommentare vorhanden.


Beitrag kommentieren.

Sie müssen angemeldet sein um diesen Beitrag zu kommentieren. [Login | Registrieren]

(erforderlich)

(erforderlich)