Font Size: a A A

Performance composability: An emerging challenge in performance-adaptive systems

Posted on:2011-08-30Degree:Ph.DType:Dissertation
University:University of Illinois at Urbana-ChampaignCandidate:Heo, JinFull Text:PDF
GTID:1448390002450155Subject:Computer Science
Abstract/Summary:
The goal of this dissertation is to design, implement, and evaluate design techniques and software support for performance composition and dynamic performance management in large-scale performance-sensitive systems. The topic is motivated by the complexity of large-scale software systems due to increased use of automated adaptation policies in lieu of manual performance tuning.;Composition of multiple adaptive components in large-scale software systems, however, presents challenges that arise from potential incompatibilities among the respective components. Self-reinforcing "vicious cycles" caused by interactions between them lead to unstable or poorly-tuned adaptive components, consequently resulting in performance deterioration even in the absence of failures and bottlenecks. The problem essentially lies in performance composability or lack thereof; a challenge that arises because individual optimizations in performance-sensitive systems generally do not compose well when combined. Performance adaptation in such systems needs to be carefully designed and implemented by holistically considering the resulting combined behavior of adaptive components in order to achieve desired system performance. In this dissertation, we aim to develop (i) a software service to ease the implementation of holistic performance management techniques for controlling and optimizing system performance and (ii) runtime diagnosis and recovery techniques for guarding the system from instability.;We first develop a software service, called OptiTuner, that allows easy implementation of different holistic performance management schemes based on theoretical concepts of constrained optimization and feedback control. Such performance management approaches share common characteristics that are exploited by OptiTuner to provide a flexible supporting software layer. With the provided abstractions, APIs, and various services, OptiTuner monitors the current performance and the resource availability in performance-sensitive systems and executes implemented holistic performance management techniques to achieve performance goals. Further, OptiTuner provides a integration-time mechanism, called adaptation graph analysis, for identifying potential incompatibilities between composed adaptive policies. Since it is not always the case that the entire software system is designed together, different independently-designed subsystems may cause adverse interactions. Simplifying the concept of the stability condition in control theory, OptiTuner can detect such interactions at system integration time by reasoning about potential side-effects of component composition.;Due to the high complexity of large-scale software systems, the possibility of potential performance problems still remains at run-time. Undocumented or dormant behavior that was ignored by the designer may be triggered in some corner cases. This makes a seemingly correct model of system behavior assumed at design-time violated, consequently producing unexpected interactions between components. Software configuration changes even due to regular software updates may also invalidate the assumed system model causing performance problems. The purpose of our online diagnosis and recovery service, AdaptGuard , is simple: in the absence of an a priori model of the software system, anticipate system instability by identifying the "vicious cycle" causing the performance problem, and disconnect the problematic adaptive component, replacing it with conservative but stable open-loop control until further notice.;We demonstrate the benefits of the presented techniques by implementing realistic scenarios on a testbed comprised of 18 machines. Recognizing the growing concern for the energy problem in data centers, we take as a main scenario an energy minimization application in a three-tier Web sever farm with multiple energy saving policies. Other scenarios include dynamic memory control in a consolidate environment in response to the newly emergent cloud computing environments and a case study of a performance anomaly caused by unexpected interactions between an admission controller and the Linux anti-livelock mechanism. Empirical results obtained from such scenarios prove the efficacy of the approaches presented in this dissertation.
Keywords/Search Tags:Performance, System, Software, Adaptive, Dissertation, Techniques
Related items