Software-Builds durch Parallelisierung 10- bis 20fach beschleunigen

Die Werkzeuge von Electric Cloud setzen da an, wo die Arbeit des Entwicklers gewöhnlich endet: beim Build-Prozess.

Das Compilieren, Linken und ein anschließender Testdurchlauf der entwickelten Software dauern bei kleineren Projekten zwischen einigen Sekunden und wenigen Minuten. Bei umfangreichen Projekten kann sich dieser Vorgang allerdings auch über Stunden hinziehen, so dass solche Builds nur über Nacht praktikabel zu bewältigen sind. Hier setzen die Werkzeuge ElectricCommander und ElecticAccelerator an: Sie verteilen den Build-Prozess auf eine beliebige Anzahl preiswerter bzw. ungenutzer Rechner im Netz und bewirken dadurch eine Beschleunigung um Faktoren zwischen 10 und 20.

Die Schwierigkeit bei der Parallelisierung dieses Vorgangs ist die Berücksichtigung von Abhängigkeiten bei der Compilation der einzelnen Dateien. Diese Abhängigkeiten erkennt der Accelerator und berücksichtigt dies durch entsprechende Wartezyklen, damit die einzelnen Dateien in der richtigen Reihenfolge dem Compiler zugeführt werden. Ein als Zusatzmodul zur Electric-Cloud-Suite erhältliches Analysetool stellt diese Abhängigkeiten auf einem Zeitstrahl dar. Das Tool Electric Commander dient zum Einrichten des automatisierten Build-Vorgangs. Vorhandene Skripte müssen dazu nicht geändert werden. Auch kann jeder beliebige Compiler verwendet werden. Einzige Voraussetzung ist, dass die beteiligten Tools ein Command-Line-Interface haben.

Die Lösung von Electric Cloud zielt insbesondere auf die Hersteller von Chips und Geräten für den Massenmarkt, bei denen sich die Produkte oft nur durch die Software differenzieren. So hat z.B. LSI Logic einen DVD-Laufwerkschipsatz im Angebot, der für die verschiedenen OEMs mit 60 Firmware-Varianten ausgeliefert wird. Der Build-Prozess für diese Firmware dauert entsprechend lange. Durch den Einsatz des Electric Accelerator konnte der Build von einem Übernacht-Durchlauf auf eine mehrmals täglich durchführbare Aktion reduziert werden.