Title: Dynamic Mapping of Activation Trees Thesis Proposal January 29, 1998
1Dynamic Mapping of Activation TreesThesis
ProposalJanuary 29, 1998
- Peter A. Dinda
- Committee
- David OHallaron (chair)
- Thomas Gross
- Peter Steenkiste
- Jaspal Subhlok
- David Bakken (BBN)
2Outline
- 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
3Interactive Application Model
Feedback
Message Handler
Message
mouse_click()
Aperiodic User Action
Activation tree
4Acoustic Room Modeling
Room model
impulse responses
Physical Simulation of Wave Eqn
Speakers
Modify model
Frequency response plots
5Other 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)
6Responsiveness
- 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
7A Best Effort Real-time Service
MAP procedure() IN tmin, tmax
- 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
8Machine 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 (lt1ms)
9Execution Model
tmin,tmax
- 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
10Dynamic 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?
11Aspects of My Approach
- History-based prediction
- Decomposition of bounds
- Adaptation of mapping algorithms during tree
traversal
12History-based Prediction
H0
foo()
tmin,tmax
...
tmin,tmax
H1
...
H0
bar()
...
foo() is executing on H0 and calls bar(), which
can be mapped to H0, H1, or H2
H2
H0 has a local history of execution times of
bar() on each of the other hosts
- 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
13Decomposition of Bounds
foo()
tmin,tmax
partially executed, known
tmin,tmax?
unexecuted, known
bar()
unexecuted, unknown
unexecuted, unknown
- Choice of tmin,tmax 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
14Adaptation 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
15Thesis 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.
16Other 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
17Current Results
- Load trace collection and analysis
- Algorithms and evaluation for simplified dynamic
mapping problem
18Algorithms and Evaluation for Simplified Problem
- Map only leaf nodes
- Ignore communication
- for I1 to N do MAP leaf_procedure() IN
tmin,tmaxend
19RangeCounter(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 QQ-1 - If bounds are met, increase hosts quality level
by the inverse of our confidence in it - If bounds are not met, reduce hosts quality
level by half QQ/2
20Load 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
21Scope 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(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26Proposed Work
Extend current results to the full dynamic
mapping problem
- 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
27Activation 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
28Network Traces
- Realistic communication times
- Packet traces on Ethernet with tcpdump
- Simple broadcast networks seem too limiting
- Remos
- Existing trace databases
Contributions Methodology, Trace database
29Trace 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
30Simulator Extension
- Extend my existing simulator to support arbitrary
activation trees and realistic communication - Communication time model
Contributions Simulator infrastructure for
full dynamic mapping problem
31Algorithm 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)
32Evaluation
- 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
33Thesis Timeline