Characterizing and controlling program behavior using execution-time variance

Immersive applications, such as computer gaming, computer vision and video codecs, are an important emerging class of applications with QoS requirements that are difficult to characterize and control using traditional methods. This thesis proposes new techniques reliant on execution-time variance to...

Full description

Bibliographic Details
Main Author: Kumar, Tushar
Other Authors: Yalamanchili, Sudhakar
Format: Others
Language:en_US
Published: Georgia Institute of Technology 2016
Subjects:
LQR
Online Access:http://hdl.handle.net/1853/55000
id ndltd-GATECH-oai-smartech.gatech.edu-1853-55000
record_format oai_dc
spelling ndltd-GATECH-oai-smartech.gatech.edu-1853-550002016-07-09T03:34:34ZCharacterizing and controlling program behavior using execution-time varianceKumar, TusharProfilingQoS tuningAdaptive controlOptimal controlGain schedulingLQRMachine learningSystem identificationParameter estimationOnline trainingMultimediaVideoGamingComputer visionStatistical analysisBest effortProbabilisticProgram analysisLinear fitDynamic tuningImmersive applications, such as computer gaming, computer vision and video codecs, are an important emerging class of applications with QoS requirements that are difficult to characterize and control using traditional methods. This thesis proposes new techniques reliant on execution-time variance to both characterize and control program behavior. The proposed techniques are intended to be broadly applicable to a wide variety of immersive applications and are intended to be easy for programmers to apply without needing to gain specialized expertise. First, we create new QoS controllers that programmers can easily apply to their applications to achieve desired application-specific QoS objectives on any platform or application data-set, provided the programmers verify that their applications satisfy some simple domain requirements specific to immersive applications. The controllers adjust programmer-identified knobs every application frame to effect desired values for programmer-identified QoS metrics. The control techniques are novel in that they do not require the user to provide any kind of application behavior models, and are effective for immersive applications that defy the traditional requirements for feedback controller construction. Second, we create new profiling techniques that provide visibility into the behavior of a large complex application, inferring behavior relationships across application components based on the execution-time variance observed at all levels of granularity of the application functionality. Additionally for immersive applications, some of the most important QoS requirements relate to managing the execution-time variance of key application components, for example, the frame-rate. The profiling techniques not only identify and summarize behavior directly relevant to the QoS aspects related to timing, but also indirectly reveal non-timing related properties of behavior, such as the identification of components that are sensitive to data, or those whose behavior changes based on the call-context.Georgia Institute of TechnologyYalamanchili, Sudhakar2016-05-27T13:23:40Z2016-05-27T13:23:40Z2016-052016-04-05May 20162016-05-27T13:23:40ZDissertationapplication/pdfhttp://hdl.handle.net/1853/55000en_US
collection NDLTD
language en_US
format Others
sources NDLTD
topic Profiling
QoS tuning
Adaptive control
Optimal control
Gain scheduling
LQR
Machine learning
System identification
Parameter estimation
Online training
Multimedia
Video
Gaming
Computer vision
Statistical analysis
Best effort
Probabilistic
Program analysis
Linear fit
Dynamic tuning
spellingShingle Profiling
QoS tuning
Adaptive control
Optimal control
Gain scheduling
LQR
Machine learning
System identification
Parameter estimation
Online training
Multimedia
Video
Gaming
Computer vision
Statistical analysis
Best effort
Probabilistic
Program analysis
Linear fit
Dynamic tuning
Kumar, Tushar
Characterizing and controlling program behavior using execution-time variance
description Immersive applications, such as computer gaming, computer vision and video codecs, are an important emerging class of applications with QoS requirements that are difficult to characterize and control using traditional methods. This thesis proposes new techniques reliant on execution-time variance to both characterize and control program behavior. The proposed techniques are intended to be broadly applicable to a wide variety of immersive applications and are intended to be easy for programmers to apply without needing to gain specialized expertise. First, we create new QoS controllers that programmers can easily apply to their applications to achieve desired application-specific QoS objectives on any platform or application data-set, provided the programmers verify that their applications satisfy some simple domain requirements specific to immersive applications. The controllers adjust programmer-identified knobs every application frame to effect desired values for programmer-identified QoS metrics. The control techniques are novel in that they do not require the user to provide any kind of application behavior models, and are effective for immersive applications that defy the traditional requirements for feedback controller construction. Second, we create new profiling techniques that provide visibility into the behavior of a large complex application, inferring behavior relationships across application components based on the execution-time variance observed at all levels of granularity of the application functionality. Additionally for immersive applications, some of the most important QoS requirements relate to managing the execution-time variance of key application components, for example, the frame-rate. The profiling techniques not only identify and summarize behavior directly relevant to the QoS aspects related to timing, but also indirectly reveal non-timing related properties of behavior, such as the identification of components that are sensitive to data, or those whose behavior changes based on the call-context.
author2 Yalamanchili, Sudhakar
author_facet Yalamanchili, Sudhakar
Kumar, Tushar
author Kumar, Tushar
author_sort Kumar, Tushar
title Characterizing and controlling program behavior using execution-time variance
title_short Characterizing and controlling program behavior using execution-time variance
title_full Characterizing and controlling program behavior using execution-time variance
title_fullStr Characterizing and controlling program behavior using execution-time variance
title_full_unstemmed Characterizing and controlling program behavior using execution-time variance
title_sort characterizing and controlling program behavior using execution-time variance
publisher Georgia Institute of Technology
publishDate 2016
url http://hdl.handle.net/1853/55000
work_keys_str_mv AT kumartushar characterizingandcontrollingprogrambehaviorusingexecutiontimevariance
_version_ 1718341713616961536