introduction to control theory and its application to computing systems

17
Tarek Abdelzaher, University of Illinois Yixin Diao, IBM Research Joseph L. Hellerstein, Microsoft Developer Division Chenyang Lu, Washington University Xioayun Zhu, Hewlett Packard Laboratories June 2, 2008 Introduction to Control Theory and Its Application to Computing Systems

Upload: alessa

Post on 23-Feb-2016

64 views

Category:

Documents


0 download

DESCRIPTION

Introduction to Control Theory and Its Application to Computing Systems. Tarek Abdelzaher , University of Illinois Yixin Diao , IBM Research Joseph L. Hellerstein, Microsoft Developer Division Chenyang Lu, Washington University Xioayun Zhu, Hewlett Packard Laboratories June 2, 2008. - PowerPoint PPT Presentation

TRANSCRIPT

Towards Petascale Computing

Tarek Abdelzaher, University of IllinoisYixin Diao, IBM ResearchJoseph L. Hellerstein, Microsoft Developer DivisionChenyang Lu, Washington UniversityXioayun Zhu, Hewlett Packard Laboratories

June 2, 2008

Introduction to Control Theory and Its Application to Computing Systems Presentation subtitle:20pt Arial Regular,teal R045 | G182 | B179

Recommendedmaximum length: 2 linesConfidentiality/date line: 13pt Arial Regular, whiteMaximum length: 1 lineInformation separated by vertical strokes,with two spaces on either sideDisclaimer information may also be appear in this area. Place flush left, aligned at bottom, 8-10pt Arial Regular, whiteIBM logo must not be moved, added to, or altered in any way. Indications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elementsPresentation title:28pt Arial Regular, black

Recommended maximum length: 2 linesGroup name:17pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsIBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements1Tutorial AgendaControl theory fundamentalsSelf-tuning memory management in IBMs DB2Control of real-time systems using model-predictive controlAutomated workload management in virtualized data centersManaging power and performance in data centersResearch challengesSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements2The class is intended to provide the basics of those elements of control theory that we have found useful at IBM.The emphasis is on developing intuition rather than the underlying theory.More details on the theory can be found in the reference Feedback Control of Computing Systems.Tutorial AgendaControl theory fundamentalsControl architecture and taxonomySimple analyticsApplication summariesRegulating load for IBMs Lotus Domino email serverThrottling administrative work for IBMs DB2Optimizing throughput for Microsofts .NET thread poolSelf-tuning memory management in IBMs DB2Control of real-time systems using model-predictive controlAutomated workload management in virtualized data centersManaging power and performance in data centersResearch challengesSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements3The class is intended to provide the basics of those elements of control theory that we have found useful at IBM.The emphasis is on developing intuition rather than the underlying theory.More details on the theory can be found in the reference Feedback Control of Computing Systems.ComponentsTarget system: what is controlledController: exercises controlTransducer: translates measured outputsDataReference input: objectiveControl error: reference input minus measured outputControl input: manipulated to affect outputDisturbance input: other factors that affect the target systemTransduced output: result of manipulationGiven target system, transducerControl theory finds controllerthat adjusts control inputto achieve measuredoutput in the presence of disturbances.Elements of a Control SystemControllerTargetSystemTransducerReferenceInputControlInputMeasuredOutputTransducedOutputDisturbance InputControlError-+SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements4A control system provides a way to enforce a policy for a target system such as the IBM Lotus Domino Server. An example of a policy for the Domino Server is Measured RPCs in system should be 15. Below, we describe the components and flows used to specify and enforce such policies.The reference input specifies the setting for the policy metrics, such as Desired RIS is 15. The target system is what is being controlled, such as a Lotus Domino Server. The servers behavior is affected by one or more control inputs, such as MaxUsers for the Domino Server. And the target system has one or more measured outputs that are being regulated, such as measured RPCs in system for the Domino server. The control error indicates how close the control system is to achieving the measured output. Typically, control error is the difference between the referenced input and the measured output (although the measured output may need to be transformed, as discussed below). The controller is responsible for setting the value of the control input so that the measured output becomes equal to the reference input. We saw that one way to do this was to use integral control in which the setting of the control input at time k is an adjustment to the setting at time k-1 based on the control error and the measured output. Sometimes, the measured output is not in the same units as the reference input. For example, we may want to control response times but only have measurements for number in system. In such cases, there may be ways to transform (or transduce) the measured output so as to estimate what its value would be in the same units as the reference input. In the case of number in system, we might divide by the throughput since, if the system is in steady state, Littles Result provides a way to estimate response time.AdaptsSimple system modelClosed Loop vs. Open LoopMeasuredRISClosed LoopControllerServerMaxUsersReferenceRISSensorTarget SystemActualRISAdministrative Tasks-+Closed Loop SystemStableFast settlingMeasuredRISOpen LoopControllerServerMaxUsersReferenceRISSensorTarget SystemActualRISAdministrative TasksOpen Loop SystemSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements5So far, we have been talking about closed loop systems. That is, the measured output is used to determine the next input. This means that the closed loop controller can be quite simple since it is just adjusting to the previous output of the target system. It also means that the closed loop system can adapt to changes, such as the execution of administrative tasks.There is an alternative to closed loop systems called open loop systems. The latter do not employ feedback. As a result, they avoid problems with stability since the inputs to the open loop controller do not depend on past values of the measured output. Open loop systems also settle quickly, which has appeal. The big disadvantage of open loop systems is that the open loop controller is much more complicated than the closed loop controller and it often requires much more data (e.g., arrival rates, service times). For these reasons, we focus on closed loop systems.Regulatory ControlManage to a reference valueEx: Service differentiation, resource management, constrained optimizationTypes of ControlMeasuredRISControllerServerMaxUsersReferenceRISSensorTarget System-+Eliminate effect of a disturbanceEx: Service level management, resource management, constrained optimizationDisturbance RejectionMeasuredRISControllerServerMaxUsersReferenceRISSensorTarget SystemAdministrative Tasks-+Achieve the best value of outputsEx: Minimize Apache response timesOptimizationMeasuredRISControllerServerMaxUsersSensorTarget SystemAdministrative TasksSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements6Regulatory control has the focus on response to changing the reference input. Examples of regulatory control are thermostats and automobile cruise control. In computing systems, regulatory control occurs with system differentiation in which difference classes of customers have different response time, throughput, or other goals. Regulatory control is used to regulate access to resources by incoming requests.Disturbance rejection is very similar to regulatory control in that there is a reference input that specifies what the measured output should be. However, it differs in that the focus is on perturbations that occur as a result of changes in workloads and the system. An example of such a change is the execution of administrative tasks, such as garbage collection for a JAVA JVM.Optimization focuses on minimizing or maximizing the measured output. Note that the diagram here differs from the proceeding two in that there is no reference input.

Unstable SystemStabilityAccuracyShort SettlingSmall OvershootThe SASO Properties of Control Systems

SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements7There are four properties of control systems that we have found to be of particular value in applying control theory to computing systems: stability, accuracy, settling times, and overshoot. We refer to these as the SASO properties. This chart describes these properties in detail. We note in passing that the purpose of control analysis (and in particular the theory presented in M2-M4) is to determine these properties for systems we model.The most important property is stability. By this, we mean that a bounded change in the reference, disturbance, or other inputs results in the measured output still being bounded. In practice the output will always be bounded since there are physical limits to systems. Rather, an instability will manifest itself much like the plot of CPU utilization shown in this chart from data collected from an HTTP server. Here, a change in the reference input causes CPU utilization to alternate between extreme values. Technically, this is a limit cycle. The limit is imposed because CPU utilization cannot exceed 1 and cannot fall below 0. However, from a practical point of view, the system is unstable.The remaining properties are best explained by the vertical line graph in the bottom figure. Here, the x-axis is time and the y-axis indicates values of a measured output. At time 0, there is a change in the system (e.g., a disturbance). The measured output rises to a peak and then eventually settles. The solid horizontal line labelled rss is the reference input for this system, which is the desired value of the measured output at steady state. The dashed horizontal line is yss, the actual value of the measured output at steady state. We see that the measured output does not converge to the reference input. This means that the system has a bias or is inaccurate. We say that the measured output has settled when it stays within 2% of its steady state value. In the figure, this happens at time 9. Thus, the settling time ks = 9. Last, the measured output overshoots its steady state value before it settles. The maximum value occurs at time 4. The maximum overshoot is the percent by which the maximum overshoot exceeds ySS.Control Theory By Example IBM Domino ServerArchitecture(RPCs in System)Actual RISDesiredRISRPCsMaxUsersServer

ControllerAdminBlock DiagramControllerServerMaxUsersDesiredRISActualRIS-+r(k)e(k)u(k)y(k)

Good

BadSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements8This is an animated slide. The annotations are indicated for each step in the animation.1. We begin with an example, the Domino email server. eMail clients interact with the server using remote procedure calls, or RPCs. Early versions of the server did not handle heavy loads well and so administrators managed the servers by restricting the number of current users, which was measured in terms of the RPCs in the system, or RIS. Unfortunately, there is no tuning knob that controls RIS. However, the knob MaxUsers controls the number of users who can connect to the server. Thus, administrators would manipulate MaxUsers to achieve a desired RIS. 2. Now, suppose there is a controller that automatically updates the value of MaxUsers based on the measured value of RIS. That is, if actual RIS is smaller than desired RIS, then MaxUsers is increased. If actual RIS is larger than desired RIS, MaxUsers is decreased. This is an example of a feedback control system.3. The control model of this system is depicted in the block diagram. This diagram describes the relationships between control knobs and metrics. The input to the Notes Server is u(k), the value of MaxUsers, and the output is y(k) actual RIS. The controller takes as input the control error e(k), which is the difference between the desired RIS and y(k). Control theory tells us how to construct a controller that ensures desirable characteristics of the control system, especially the relationship between desired RIS and actual RIS.-505a=0.4-505a=0.9-505a=1.20510-505a=-0.40510-505a=-0.90510-505a=-1.29Dynamical Analysis of Discrete Time Systems

Server

Transfer Function (TF)Z-TransformPole:Fast systems have small polesGain:Ratio of steady state outputto steady state inputOutput at time k is proportional to ak, for pole a.Oscillations result if neg or im polesSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elementsPoles of FR(z)

KI=0.1ControllerG(z)ServerN(z)-+ Closed Loop Transfer FunctionExample: Control Law

KI=1

KI=5

KI=0.1Control Designr(k)y(k)e(k)u(k)

IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements10Control design addresses the properties stability, accuracy, settling time, and overshoot of the closed loop system. From system identification, we have transfer function models of the target systems, such as the Server and Sensor. The goal is to construct a controller with a transfer function G(z) such that the transfer function from the reference input to the measured output has the right properties.Control design starts with a controller specification, such as the integral control law. Design of an integral controller requires specifying the value of KI, the constant that determines how rapidly the control input u(k) changes as there are changes in the control error e(k). Just like the Server has the transfer function N(z) and the Sensor has the transfer function S(z), there is a transfer function for the controller as well, G(z). The transfer function of the closed loop system from the reference input to the measured output is FR(z). This transfer function is constructed from G(z), N(z), and S(z) in a straight forward way.Experiments conducted on a testbed with a production Domino Server resulted in the following plots for the indicated values of KI. There are 3 pairs of plots. The upper plots show the measured output (the jagged blue line) and the reference input (the solid line). The bottom plots display the values of the control input u(k), MaxUsers. We see that for KI = 0.1, the system settles slowly in that it takes considerable time until the measured output equals the reference input. For KI = 1, the system settles much faster. For KI = 5, the system becomes unstable.We can explain each of these behaviors in terms of the poles of FR(z). This is often presented as a root locus plot in which the poles of the closed loop function are plotted in the imaginary plane. For KI = 0.1, the dominant pole is very close to 1, which is why the system settles slowly. For KI = 1, the dominant pole is about 0.8 and so it has much shorter settling times. Both of these poles lie on the positive real axis and so there is no oscillation. For KI = 5, the pole is imaginary, which is consistent with the oscillations we see.

Key Results From Linear Systems

Steady state gain of G(z):Stable if |a|70%!!SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elementsChoosing an Actuator20005001000150020002500Sleep mechanism0020040060080010001200140016001800012345CPU PriorityProduction Throughput020040060080010001200140016001800200000.20.40.60.810Normalized Effector ValueTime (sec)5001000150020002500Time (sec)CPU Priority is ineffective for controlling BACKUPSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elements13Utility impact varies with time as the utility transitions to different phases.Used actuator to estimate impact of utility since lacked direct measurement.

Control Architecture

R: Impact LimitE: ErrorU: Sleep %Y: Pageometer (pages/sec): Model parametersY*: Baseline perfyu1Assume linear effect of throttling on YOnline modeling provides a transducer that translates from Pages/sec (Y) to % Impact (M)% Impact% ImpactPages/secSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elementsOptimizing Throughput in the Microsoft .NET ThreadPoolCurrent ThreadPoolObjective: Maximize CPU utilization and thread completion ratesInputs: ThreadPool events, CPU utilizationTechniquesThresholds on inter-dequeue times, rate of increasing workers, change in rate of increasing workersStates: Starvation, RateIncrease, RateDecrease, LowCPU, PauseInjectionNew approachObjective: Maximize thread completion rateInputs: ThreadPool eventsTechnique: Hill climbing

15ControllerThreadPoolQueueUserWorkItem()Completion Rate (throughput)ConcurrencyLevelSIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.IBM logo must not be moved, added to, or altered inany way.

Background shouldnot be modified.Title/subtitle/confidentiality line: 10pt Arial Regular, whiteMaximum length: 1 line

Information separated by vertical strokes,with two spaces on either sideSlide heading:28pt Arial Regular, blue R120 | G137 | B251

Maximum length: 2 lines

Slide body:18pt Arial Regular, black

Square bullet color:teal R045 | G182 | B179

Recommended maximum text length: 5 principal pointsGroup name:14pt Arial Regular, white

Maximum length: 1 lineCopyright: 10pt ArialRegular, whiteTemplate release: Oct 02For the latest, go to http://w3.ibm.com/ibm/presentationsOptional slide number: 10pt Arial Bold, whiteIndications in green = Live content Indications in white = Edit in masterIndications in blue = Locked elementsIndications in black = Optional elementsHill Climbing Controller

(50 work items:100ms with 10%CPU, 90% wait. 2.2GHz dual core X86.)Discrete DerivativeCurrentConcurrencyLevelCurrentHistoryNewConcurrencyLevel for small ControlGainLarge ControlGainNewConcourrencyLevel for large ControlGainLastConcurrencyLevel= History meanLastHistorySmall ControlGainWant large gain so move quickly, but not overshoot.Making good moves depends onthroughput varianceshape of curveHybrid Control State DiagramState 1 - Initializing LastHistory.LastHistory.Add(data)

State 2 Looking for move.CurrentHistory.Add(data)CompletedInitializingIsStableHistory(LastHistory): LastControlSetting = CurrentControlSetting CurrentControlSetting = ExploreMove()ChangePointWhileInitializingIsChangePoint(LastHistory): LastHistory = data CurrentControlSetting = ExploreMove()ReverseBadMoveCurrentHistory.Count > MinimumHistory& LastHistory.Mean() > CurrentHistory.Mean(): Swap(CurrentControlSetting, LastControlSetting)DirectedMoveIsSignificantDifference(CurrentHistory, LastHistory): LastControlSetting = CurrentControlSetting CurrentControlSetting = DirectedMove() LastHistory = CurrentHistory CurrentHistory = nullChangePointWhileLookingForMoveSame as ChangePointWhileInitializingStuckInStateIsStableHistory(CurrentHistory) & CurrentHistory.Count > SufficientlyLargeHistory: LastControlSetting = CurrentControlSetting CurrentControlSetting = ExploreMove() LastHistory = CurrentHistory CurrentHistory = nullState 1a InTransition.WaitForSteadyStateIsInTransition()ChangePointInQueueWaitingIsChangePoint(QueueOfWaiting)State 2a InTransitionCurrentHistory.Add(data)SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Yu, and Zhu.text

text

ComputeDegradation

ModelEstimation

Controller

DB2

DBA

R

U

Y

M

E

Y

BaselineEstimation

Y*

WL

+

-

texttextBox sizes with text.Press to start anew line of text.ControlleraSUtilitybWorkloadUaUbYE