dynamic mapping of activation trees thesis proposal january 29, 1998 peter a. dinda committee david...
Post on 19-Dec-2015
214 views
TRANSCRIPT
Dynamic Mapping of Activation Trees
Thesis ProposalJanuary 29, 1998
Peter A. Dinda
Committee
David O’Hallaron (chair)
Thomas Gross
Peter Steenkiste
Jaspal Subhlok
David Bakken (BBN)
2
Outline
• Responsive interactive applications
• Best effort real-time service
• Dynamic mapping problem
• History-based prediction approach
• Other approaches and related work
• Current results on simplified problem
• Proposed thesis work
3
Interactive Application Model
AperiodicUser Action
MessageMessageHandler
Feedback
Activation tree
mouse_click()
4
Acoustic Room Modeling
PhysicalSimulation
of Wave Eqn
impulse responses
Frequency response plots
Room model
Modify model
Speakers
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), ...
• Collaboration– Collaborative Planning (Zinky-DUTC-95), ...
• Securities trading– (Wolfe-Lau-95)
• Games– DIS (DIS-94)
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
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]
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)
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]
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?
11
Aspects of My Approach
• History-based prediction
• Decomposition of bounds
• Adaptation of mapping algorithms during tree traversal
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]
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()
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 aggresively 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
15
Thesis Statement
Dynamic mapping of activation trees using history-based prediction and traversal-based adaptation is an effective way to build a best effort real-time service for responsive interactive applications running in conventional environments.
16
Other Approaches
• Distributed soft real-time system– System modifications
• Dynamic load balancing system– Different goals
• Even distribution of load (OS-centric)
• Minimization of exec times (app-centric)
• Resource reservation system– System modifications
• Shared measurement system– Information level and dissemination
17
Current Results
• Load trace collection and analysis
• Algorithms and evaluation for simplified dynamic mapping problem
18
Algorithms and Evaluation for Simplified Problem
•Map only leaf nodes
•Ignore communication
for I=1 to N doMAP leaf_procedure() IN [tmin,tmax]
end
19
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( , , )
20
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
21
Scope of Evaluation
• 9 mapping algorithms
• 6 different groups of hosts– Chosen from 39 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
22
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
23
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
24
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
25
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
26
Proposed Work
• Extend simulation environment to include communication and activation trees• Trace collection (Activation trees, network)
» A trace for everything
• Trace characterization• Simulator extension
• Develop algorithm• Evaluate with benchmarks• Incorporate into real system
Extend current results to the full dynamic mapping problem
27
Activation Tree Traces• Collect activation trees where each
node is annotated with compute time, and what data it references
• Goal is to instrument off-the-shelf MS Windows programs
• Other options exist
Contributions: Instrumentation tools/methodology, Activation tree trace database
28
Network Traces• Realistic communication times
• Packet traces on Ethernet with tcpdump– Simple broadcast networks seem too
limiting
• Remos
• Existing trace databases
Contributions: Methodology,Trace database
29
Trace Characterization
• Classify traces into families, from which we can draw benchmarks for evaluation
• Ideally, parameterized models to fit data
• Characterizing activation tree traces most challenging
Contributions: Trace analysis, Models, Classification scheme, Benchmark suite
30
Simulator Extension
• Extend my existing simulator to support arbitrary activation trees and realistic communication
• Communication time model
Contributions: Simulator infrastructure for fulldynamic mapping problem
31
Algorithm Development
• Use approaches described earlier
• Extend RangeCounter(W) with a separate algorithm to recursively divide bounds among subtrees
• Iterative development using simulator and benchmarks
Contributions: Algorithm(s)
32
Evaluation• Evaluate algorithm in simulation
– Draw connections between benchmark characteristics and algorithm performance
• Compare with other approaches– Load monitor with simple heuristic– Greater degrees of information sharing
• Incorporate into distributed object system as proof of concept
Contributions: Evaluation, Working system
33
Thesis Timeline
Activity Artifacts DurationTrace collection Measurement tools, traces 3 monthsTrace characterization Models, benchmarks 3 monthsSimulation extension Simulator for full problem 2 monthsAlgorithm development Mapping algorithm 5 monthsEvaluation Benchmark results, LDOS impl. 2 monthsWriting/defense Defended thesis 3 monthsTotal: 18 months