Project Details
Projekt Print View

Leistungsbewertung von zukünftigen Anwendungen für mobile Geräte durch Trace-Komposition

Subject Area Software Engineering and Programming Languages
Term from 2010 to 2013
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 170327596
 
Final Report Year 2013

Final Report Abstract

Im Rahmen dieses Antrags wurde die dynamische Instruktionstrace-Komposition als ein neues Verfahren zur realistischen Leistungsbewertung von zukünftigen Anwendungen für mobile Geräte entwickelt. Anwendungen für mobile Geräte sind eine gezielte Kombination aus Hardware- und Softwarekomponenten, die gemeinsam ein bestimmtes Anwendungsszenario für den Benutzer realisieren. Insbesondere in frühen Phasen der Entwicklung müssen aus allen möglichen Kombinationen diejenigen ausgewählt werden, die das Anwendungsszenario am effizientesten umsetzen. Hierbei gelten spezielle Ressourcenbeschränkungen. Es ist daher sinnvoll, das aus der Softwareentwicklung stammende Performance Engineering auf die Entwicklung von Smartphoneanwendungen auszuweiten. Beim Performance Engineering werden Leistungsanforderungen in den Entwicklungsprozess integriert. So ist es in frühen Phasen möglich, aus dem Entwurf einer Smartphoneanwendungen ein Performancemodell abzuleiten, mit dessen Hilfe die voraussichtliche Leistungsfähigkeit dieses Entwurfs bestimmt werden kann. Der Wahl des Performancemodells kommt hierbei eine besondere Rolle zu. Ein gängiges Modell für die Leistungsbewertung in diesem Kontext ist die tracebasierte Simulation. In der Literatur wird jedoch nicht eindeutig beantwortetet, ob Kernelinstruktionen für eine realistische Leistungsbewertung berücksichtigt werden müssen oder nicht. Die Frage wurde deswegen im Antragszeitraum eigenen Untersuchungen unterzogen. Hierbei stellte sich heraus, dass von Basisalgorithmus zu Basisalgorithmus und sogar von Lauf zu Lauf eines einzelnen Basisalgorithmus keine einheitlichen Anteile von Kernelinstruktionen festgestellt werden können. Daraus folgt, dass die Anteile von Kernelinstruktionen nicht a-priori vor einer Leistungsbewertung geschätzt werden können. Aus diesem Grund dürfen Kernelinstruktionen nicht vernachlässigt werden. Die tracebasierte Simulation wurde daraufhin untersucht, inwiefern sie auf Instruktionstraces mit Kernelinstruktionen angewandt werden kann. Es zeigte sich, dass sowohl der Tracinghost als auch die Tracingplattform die Instruktionstrace-Erstellung beeinflussen. Diese Beeinflussung führt dazu, dass Instruktionstraces mit Kernelinstruktionen im Allgemeinen nicht ohne erhebliche Fehler für die Leistungsbewertung von Zielplattformen verwendbar sind. Aus diesem Grund wurde die dynamische Instruktionstrace-Komposition als neues Verfahren aufbauend auf der klassischen, aus der Literatur bekannten tracebasierten Simulation entwickelt. Die dynamische Instruktionstraces-Komposition beseitigt die Schwächen der klassischen tracebasierten Simulation und ermöglicht darüber hinaus neue Anwendungen. Die zu Grunde liegende Idee ist es, aufgezeichnete Instruktionstraces in funktionale Instruktionssequenzen von Softwarefunktionalitäten zu zerlegen und aus diesen während der Simulation dynamisch ein synthetisches Instruktionstrace zu erzeugen, das der Ausführungsgeschwindigkeit der zu simulierenden Hardwareplattform entspricht. Auf diese Weise können die oben genannten Abhängigkeiten und somit Fehler beseitgt werden. Das neue Verfahren wurde abschließend einer Gesamtevalution unterzogen. Dazu wurde es mit den Ergebnissen der klassischen tracebasierten Simulation verglichen. Hierbei konnte kein quantitativer Vergleich durchgeführt werden. Stattdessen wurde ein qualitativer Vergleich mit Hilfe von Schranken verwendet. Das neue Verfahren erzielte hierbei hervorragende Ergebnisse und beseitigt alle Schwächen der klassischen tracebasierten Simulation. In dieser Arbeit konnten einige Aspekte und Ideen nicht berücksichtigt werden, die ursprünglich im Arbeitsprogramm für den Antragszeitraum vorgesehen waren. Grundsätzlich müssen auch bei dem neuen Verfahren die gesamten Instruktionstraces simuliert werden. Es wäre interessant zu untersuchen, inwiefern sich die dynamische Instruktionstrace-Komposition mit Beschleunigungstechniken wie dem Sampling oder der statischen Simulation kombinieren lassen. Hier ist ein deutlicher Mehrwert zu erwarten.

 
 

Additional Information

Textvergrößerung und Kontrastanpassung