Skip navigation
Skip navigation

Swift : a flexible framework for runtime performance tuning

Armstrong, Warren Haley

Description

Many computational kernels require extensive tuning to achieve optimal performance. The tuning process for some kernels must take into account the architecture on which they are executing, the input data that they are processing and the changing levels of contention for limited system resources. Maintaining performance in the face of such fluctuating influences requires kernels to continuously adapt. Swift is a software tool that performs this adaptation. It can be applied to many different...[Show more]

dc.contributor.authorArmstrong, Warren Haley
dc.date.accessioned2018-11-22T00:08:16Z
dc.date.available2018-11-22T00:08:16Z
dc.date.copyright2011
dc.identifier.otherb2879961
dc.identifier.urihttp://hdl.handle.net/1885/151487
dc.description.abstractMany computational kernels require extensive tuning to achieve optimal performance. The tuning process for some kernels must take into account the architecture on which they are executing, the input data that they are processing and the changing levels of contention for limited system resources. Maintaining performance in the face of such fluctuating influences requires kernels to continuously adapt. Swift is a software tool that performs this adaptation. It can be applied to many different target applications. Such an approach is more efficient than developing application-specific code for continuous tuning. Swift performs controlled experiments to gauge the performance of the target application. Results from these experiments are used to guide the execution of the target application. Swift performs periodic re-evaluations of the application and updates the application if environmental conditions or the internal state of the application have caused performance to degrade. The frequency of evaluation is scaled with its likely necessity -Swift performs few evaluations until it detects a potential performance degradation, at which point more detailed assessments are conducted. Swift is constructed using the DynInst library to modify and tune the executing kernel. The effectiveness of Swift depends on the computational expense of utilising this library. A suite of micro-benchmarks was developed to measure this expense. These benchmarks are not specific to Swift, and could guide the design of future DynInst-enabled applications. Swift was applied to tune sparse matrix-vector multiplication kernels. Tun{u00AC}ing such kernels requires selecting a matrix storage format and the associated multiplication algorithm. The choice of format depends on the characteristics of the matrix being multiplied as well as on prevailing system conditions and the number of multiplications being conducted. Swift was evaluated using both simulated environments and physical hardware. Simulated evaluation demonstrated that Swift could correctly select the best matrix format and could react to changing conditions. Evaluations on physical hardware demonstrated that automatic tuning was viable under certain conditions.
dc.format.extentxviii, 203 leaves.
dc.language.isoen_AU
dc.rightsAuthor retains copyright
dc.subject.lccQA76.754.A76 2011
dc.subject.lcshSwift (Computer software)
dc.subject.lcshKernal functions
dc.subject.lcshData processing Evaluation
dc.subject.lcshComputer software Evaluation
dc.titleSwift : a flexible framework for runtime performance tuning
dc.typeThesis (PhD)
local.description.notesThesis (Ph.D.)--Australian National University
dc.date.issued2011
local.type.statusAccepted Version
local.contributor.affiliationAustralian National University. College of Engineering & Computer Science
local.identifier.doi10.25911/5d5156832e969
dc.date.updated2018-11-21T10:16:25Z
dcterms.accessRightsOpen Access
local.mintdoimint
CollectionsOpen Access Theses

Download

File Description SizeFormat Image
b28799616_Armstrong_Warren Haley.pdf29.68 MBAdobe PDFThumbnail


Items in Open Research are protected by copyright, with all rights reserved, unless otherwise indicated.

Updated:  19 May 2020/ Responsible Officer:  University Librarian/ Page Contact:  Library Systems & Web Coordinator