Nachrichten, Gerüchte, Meldungen und Berichte aus der IT-Szene
Redaktion: Heinz Schmitz
Patent für automatische Software-Parallelisierung
Ein Softwaresystem effizient auf Multicore-Prozessoren zu portieren stellt für Entwickler eine große Herausforderung dar. Die Leistungsfähigkeit der modernen Mehrkernprozessoren kann sich nur dann entfalten, wenn bei der Parallelisierung die Semantik und die Datenabhängigkeiten im Kontrollfluss genauestens berücksichtigt werden. Die notwendigen Anpassungen erfordern in den meisten Fällen signifikante Modifikationen der Softwarearchitektur. Das Fraunhofer-Institut für Experimentelles Software Engineering IESE erhält nun ein europäisches Patent für ein Verfahren zur systematischen Parallelisierung von Systemen.
Bei Multicore-Prozessoren erfordert die parallele Ausführung von Software Maßnahmen, die sicherstellen, dass auf gemeinsam genutzte Daten nicht gleichzeitig zugegriffen wird und dass die Ausführungsgeschwindigkeit bei der Nutzung mehrerer Prozessorbusse durch mehrere Prozessorkerne nicht beeinträchtigt wird.
Bei der Portierung eines komplexen, aus zahlreichen Komponenten bestehenden Softwaresystems ist eine automatisierte Parallelisierung daher nicht mehr auf Applikationsebene möglich: Hier müssen Ingenieure über die notwendigen grundlegenden Änderungen in der Softwarearchitektur entscheiden. Dies birgt allerdings die Gefahr, dass in einem frühen Stadium weitreichende Fehlentscheidungen getroffen werden, deren Behebung nur mit großem Aufwand und hohen Kosten möglich ist.
Daher hat das Fraunhofer-Institut für Experimentelles Software Engineering IESE einen Ansatz entwickelt, der die notwendigen Architekturentscheidungen systematisch ableitet. Um die richtigen Entscheidungen im Portierungsprozess zu treffen, werden im Prognostics Center des Fraunhofer IESE virtuelle Systemprototypen entwickelt, die in Tests verschiedene Optionen simulieren. In vier Phasen wird eine so genannte Prognostics-Evaluation durchgeführt: Zuerst wird ein Analysemodell des Systems erstellt. Damit werden im Folgenden die Auswirkungen von Entwurfsentscheidungen mithilfe von Simulations- und Analysewerkzeugen untersucht. In der Evaluationsphase werden die Resultate ausgewertet und es wird eine Diagnose erstellt, um einen optimierten Parallelisierungsprozess zu erhalten.
Für den Algorithmus, der festlegt, wann und auf welchem Rechenkern eine Funktion ausgeführt wird, erhält das Fraunhofer IESE nun ein europäisches Patent und kann somit zukünftig Unternehmen dabei helfen, ihre eingebetteten Systeme sicher und ohne kostspielige Fehlentscheidungen auf Multicore-Prozessoren zu portieren. Da nur mit einem funktionierenden System Geschäftsziele erfolgreich umgesetzt werden können, bietet die Optimierung des Systemdesigns eine wichtige strategische Unterstützung für Unternehmen. Das Fraunhofer IESE macht eingebettete Systeme damit fit für die Multicore-Plattformen der Zukunft.