Download - Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998
![Page 1: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/1.jpg)
Responsive Interactive Applications by Dynamic
Mapping of Activation TreesFebruary 20, 1998
Peter A. Dinda
http://www.cs.cmu.edu/~pdinda
School of Computer Science
Carnegie Mellon University
![Page 2: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/2.jpg)
2
Outline• Responsive interactive applications
• Best effort real-time service – Dynamic mapping problem
• History-based prediction approach
• Statistical properties of host load
• Algorithms and evaluation for simplified problem
• Research plan– Application and network traces
![Page 3: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/3.jpg)
3
Interactive Application Model
AperiodicUser Action
MessageMessageHandler
Feedback
Activation tree
mouse_click()
![Page 4: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/4.jpg)
4
Acoustic Room Modeling
PhysicalSimulation
of Wave Eqn
impulse responses
Frequency response plots
Room model
Modify model
Speakers
![Page 5: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/5.jpg)
5
Other Applications• Image editing
– The Adobe Photoshop universe
• Computer aided design– Quake design optimization (Malcevic-97)
• Computational steering– CUMULUS (Geist-96), CAVE (Disz-95), …
• Games– DIS
• Collaboration?– Collaborative Planning (Zinky-DUTC-95)
![Page 6: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/6.jpg)
6
Responsiveness
• Timely feedback to individual user actions– Bound: response time tmax
• Jitter bound and resource usage hint– Bound: response time tmin
• Example: image editor drawing tool
![Page 7: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/7.jpg)
7
A Best Effort Real-time Service
• Execute the activation tree rooted at procedure() so that tmintexectmax
• No guarantees
• Responsiveness spec: bounds [tmin,tmax]
• Performance metric: fraction of trees that meet their bounds
MAP procedure() IN [tmin, tmax]
![Page 8: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/8.jpg)
8
Machine Model• Hosts on a LAN
– No centralized or coordinated scheduling, or reservations
– Other unrelated traffic exists– We are only a user
• Remote execution facility– Can execute any procedure on any host – RPC, DSM, DCE, CORBA, DCOM, ...
• Measurable - at least a good real-time clock exists (<1ms)
![Page 9: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/9.jpg)
9
Execution Model
• Dynamically map nodes of the unfolding activation tree to the hosts
• At each procedure call, choose which host is best suited to execute the call in order to meet the bounds on the tree
[tmin,tmax]
![Page 10: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/10.jpg)
10
Dynamic Mapping Problem
How do we map the nodes of the trees to the hosts so that the fraction of trees that satisfy their bounds is maximized?
![Page 11: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/11.jpg)
11
Aspects of My Approach
• History-based prediction
• Decomposition of bounds
• Adaptation of mapping algorithms during tree traversal
Methods: Trace-driven simulation,
Iterative refinement
![Page 12: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/12.jpg)
12
History-based Prediction
• For each host, H0 predicts whether it can meet the bounds, based on past local history and then chooses one where it is possible
• Execution times include both communication for remote call and the actual computation
H0H1
H2
[t’min,t’max]
time, duration, boundstime, duration, bounds
...time, duration, bounds
time, duration, bounds...time, duration, bounds
time, duration, bounds...
foo()
bar()
H0
foo() is executing on H0
and calls bar(), which can be mapped to H0, H1, or H2
H0 has a local history of execution times of bar() on each of the other hosts
[tmin,tmax]
![Page 13: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/13.jpg)
13
Decomposition of Bounds
• Choice of [t’min,t’max] for bar() depends on unvisited portion of the tree
• Collect history of what fraction of time spent in foo() subtree was spent in bar() subtree
• Choose fraction of bounds to give to bar() based on that history and current time
[tmin,tmax]
[t’min,t’max]?
partially executed, known
unexecuted, known unexecuted, unknown
unexecuted, unknown
foo()
bar()
![Page 14: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/14.jpg)
14
Adaptation of Mapping Algorithms During Tree Traversal
• Tune strategy to how deep we are in the tree and how far along in the traversal
• Explore more aggressively early in the traversal, when the effect of a bad decision is easiest to overcome– Find interesting new hosts
• Spend less time making mapping decision deep in the tree– More likely to remain on single host
![Page 15: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/15.jpg)
15
Statistical Properties of Load
• Load traces
• First order properties of the traces
• Self-Similarity
• Epochal Behavior
Goal: modeling of load
![Page 16: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/16.jpg)
16
Load Traces• Digital Unix one minute load average• 1 Hz sample rate, one week traces• Wide variety of Hosts (38 machines)
– Production Cluster• 13 machines in the PSC’s Alpha Supercluster
– Research Cluster• 8 machines in CMCL cluster
– Compute Servers• 2 shared machines in CMCL lab
– Desktops • 15 machines desktop workstations owned by CMCL
members
![Page 17: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/17.jpg)
17
Self-Similarity• Intuition: “looks the same” on all time scales
• Autocorrelations similar across time scales
• Power spectrum envelope decays differently from 1/f
• Characterization: Hurst parameter– H Ranges from 0 to 1
• H<0.5 : negative near neighbor correlation - “choppy”
• H=0.5 : no correlations
• H>0.5 : positive near neighbor correlation - “smooth”
• Methodology: Estimate Hurst Parameter– Four different, validated, estimators
![Page 18: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/18.jpg)
18
Hurst Parameter Estimates
0
0.2
0.4
0.6
0.8
1
1.2
Host
Production Cluster ResearchCluster
Desktops
+SDev
-SDev
Mean
![Page 19: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/19.jpg)
19
What does Self-Similarity Tell Us?
• Load is complex, but not random– History matters
• Smoothing may be misguided
• Load should frighten modelers– Conventional stochastic process models
are wrong– Long memory stochastic process models
are desirable but may be impractical
![Page 20: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/20.jpg)
20
Epochal Behavior
• Local frequency content of load signal is stable for long periods of time with abrupt transitions– “Spectrogram shows wide vertical bands”
• Not the same as seasonality
![Page 21: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/21.jpg)
21
Epochal Behavior Example
Title:axp7_tue_19.epsCreator:MATLAB, The Mathworks, Inc.Preview:This EPS picture was not savedwith a preview included in it.Comment:This EPS picture will print to aPostScript printer, but not toother types of printers.
Title:axp7_19_day_time.epsCreator:MATLAB, The Mathworks, Inc.Preview:This EPS picture was not savedwith a preview included in it.Comment:This EPS picture will print to aPostScript printer, but not toother types of printers.
![Page 22: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/22.jpg)
22
Epoch Length Statistics
-200
0
200
400
600
800
1000
1200
Host
+SDev
-SDev
Mean
Production Cluster ResearchCluster
Desktops
![Page 23: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/23.jpg)
23
What Does EpochalBehavior Tell Us?
• Suggests decomposition of load trace modeling problem– Segmentation problem to find epochs– Modeling problem within each epoch
![Page 24: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/24.jpg)
24
Algorithms and Evaluation for Simplified Problem
•Map only leaf nodes
•Ignore communication
for I=1 to N doMAP leaf_procedure() IN [tmin,tmax]
end
![Page 25: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/25.jpg)
25
RangeCounter(W): A Near Optimal Algorithm
• Each host has a quality level Q and a window of the last W execution times (W is small)
• Choose host with highest quality level, and age quality levels of all hosts: Q=Q-1
• If bounds are met, increase host’s quality level by the inverse of our confidence in it:
• If bounds are not met, reduce host’s quality level by half: Q=Q/2
Q Q
N t dtt
t
min
max
1
2( , , )
![Page 26: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/26.jpg)
26
Load Trace-based Simulation• Exec time computed from load trace
using a simple, validated model
• Mapping algorithms are given bounds, select a host, then are told exec time
• Simulator computes performance of– Algorithm under test– Optimal (precognizant) algorithm– Random mapping– Individual host mappings
![Page 27: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/27.jpg)
27
Scope of Evaluation
• 9 mapping algorithms
• 6 different groups of hosts– Chosen from 38 hosts– 1 week, 1 Hz load trace from each host
• 648 different cases– Combinations of nominal time and bounds
• 100,000 calls for each case
![Page 28: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/28.jpg)
28
0
10
20
30
40
50
60
70
80
90
100
0.01 0.1 1 10 100
tnominal (seconds)
Random
Best Individual Host
Optimal (RC)
8MM
![Page 29: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/29.jpg)
29
0
10
20
30
40
50
60
70
80
90
100
0.01 0.1 1 10 100
tnominal (seconds)
Random
Best Individual Host
RangeCounter(50)
Optimal (RC)
8MM
![Page 30: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/30.jpg)
30
0
10
20
30
40
50
60
70
80
90
100
0.01 0.1 1 10 100
tnominal (seconds)
Random
Best Individual Host
Mean
WinMean(50)
WinVar(50)
RandWinMean(50,0.1)
RandWinVar(50,0.1)
Confidence(50)
RandConfidence(50,0.1)
RangeCounter(50)
NeuralNet(10)
Optimal (RC)
8MM
![Page 31: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/31.jpg)
31
0
10
20
30
40
50
60
70
80
90
100
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
tmax/tnominal
Random
Best Individual Host
Optimal(RC)
8MM, tnominal=100ms
![Page 32: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/32.jpg)
32
0
10
20
30
40
50
60
70
80
90
100
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
tmax/tnominal
Random
Best Individual Host
RangeCounter(50)
Optimal(RC)
8MM, tnominal=100ms
![Page 33: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/33.jpg)
33
8MM
0
10
20
30
40
50
60
70
80
90
100
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
tmax/tnominal
Random
Best Individual Host
Mean
WinMean(50)
WinVar(50)
RandWinMean(50,0.1)
RandWinVar(50,0.1)
Confidence(50)
RandConfidence(50,0.1)
RangeCounter(50)
NeuralNet(10)
Optimal(RC)
8MM, tnominal=100ms
![Page 34: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/34.jpg)
34
0
10
20
30
40
50
60
70
80
90
100
0.025 0.075 0.125 0.175 0.225 0.275 0.325
range [0,tmax]
Random
Best Individual Host
Optimal(RC)
8MM
![Page 35: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/35.jpg)
35
0
10
20
30
40
50
60
70
80
90
100
0.025 0.075 0.125 0.175 0.225 0.275 0.325
range [0,tmax]
Random
Best Individual Host
RangeCounter(50)
Optimal(RC)
8MM
![Page 36: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/36.jpg)
36
0
10
20
30
40
50
60
70
80
90
100
0.025 0.075 0.125 0.175 0.225 0.275 0.325
range [0,tmax]
Random
Best Individual Host
Mean
WinMean(50)
WinVar(50)
RandWinMean(50,0.1)
RandWinVar(50,0.1)
Confidence(50)
RandConfidence(50,0.1)
RangeCounter(50)
NeuralNet(10)
Optimal(RC)
8MM
![Page 37: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/37.jpg)
37
Research Plan
• Extend simulation environment to include communication and activation trees• Trace collection (Activation trees, network)
» A trace for everything
• Trace characterization (models, benchmarks)• Simulator extension
• Develop algorithm• Evaluate with benchmarks• Incorporate into real system
Extend current results to the full dynamic mapping problem
![Page 38: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/38.jpg)
38
Activation Tree Traces
• Representation of real program runs
• Each node annotated with compute time, and what data it references
• Delay requirements
![Page 39: Responsive Interactive Applications by Dynamic Mapping of Activation Trees February 20, 1998](https://reader036.vdocuments.net/reader036/viewer/2022081519/56812cf9550346895d91c82d/html5/thumbnails/39.jpg)
39
Network Traces• Realistic communication times
• Packet traces on Ethernet with tcpdump– Simple broadcast networks seem too
limiting
• Remos
• Existing trace databases