Title: Some Personal Observations from 15 Years of Mobile Computing
1Some Personal Observationsfrom 15 Years of
Mobile Computing
- M. Satyanarayanan
- School of Computer Science
- Carnegie Mellon University
2Credits(in order of collaboration)
Also Dan Siewiorek, Peter Steenkiste, David
Garlan, David OHallaron, Jeannette Wing, Mike
Kozuch
3Systems Context
4Where is the Beef?
Or Tofu, for vegetarians like me?
5Early-90s Dream of Mobile Computing
6Phenomenal Hardware Progress
7Explosion of Activity
- Proliferation of marketplace for mobile computers
- Increasing demand for wireless communication
- Numerous experimental and commercial systems and
applications - Many conferences and workshops
- Lots of smart people investing time and energy
- But ????
8Some Nagging Doubts
- Are we just riding the technology curve?
- Is there anything deep about mobile computing?
- Are there any real intellectual challenges?
- Do we have any valuable insights?
9Core Challenges of Mobility
- Less security robustness
- theft, destruction more likely
- greater exposure to subversion
- Multi-modal Interaction
- hands and eyes occupied
- speech/gesture recognition
- augmented reality
- Scarce user attention
- focus of attention elsewhere
- lower human performance
- higher error rate
- Resource poverty
- vs. static elements of same era
- weight, power, size constraints
- Communication uncertainty
- bandwidth / latency variation
- intermittent connectivity
- may cost real money
- Finite energy source
- actions may be slowed or deferred
- communication costs energy
10How Did We Get Here?(and where are we going?)
11Evolutionary Path
Smart spaces Invisibility Uneven
conditioning Localized scalability
12Smart Spaces
- Convergence of IT and building technology
- allows each world to sense and influence the
other - smart space influenced by presence of user(s)
- computing space influenced by surroundings
- Individual objects may also be smart
13Invisibility
- Weisers ideal complete disappearance of
technology - Approximation minimal user distraction
- system meets user expectations continuously
- rarely presents surprises
- interactions almost at a subconcious level
- Caveat anticipation may avoid later unpleasant
surprise - e.g. pain in a normally-unnoticed body part
- proactivity may sometimes be valuable
14Masking Uneven Conditioning
- Nonuniform penetration of pervasive computing
technology - at least for many decades
- org structure, economics, business models, etc.
- Smart and dumb environments of varying
degrees will coexist - large dynamic range can be jarring to a user
- hurts goal of minimizing user distraction
- Can personal computing space compensate?
- disconnected operation is a trivial example of
this capability - complete masking impossible
- but reduced variability may be feasible
15Localized Scalability
- Environments saturated with computing
- intense interactions with users personal
computing space - severe bandwidth, energy and distraction
implications - further complicated by multi-user environments
- Scalability becomes key problem
- Historically, scalability has ignored physical
separation - only logical connectivity matters
- recipe for disaster in pervasive computing!
- More viable attenuate distant or irrelevant
interactions - learn from nature inverse square laws!
- contradicts death of distance ethos of Internet
16Some Deep Conceptual Issues(originally posed at
PODC 1995 invited talk)
17Effectiveness of Caching
- The traditional metric of cache performance is
miss ratio - Reliance on miss ratio assumes
- all misses equally important
- all misses require equal service time
- ordering and spacing of misses irrelevant
- Mobile computing violates these assumptions
- disconnected user impeded by critical file miss
- miss on big files more expensive
- disk spin down for power saving
- Examples of alternative metrics
- references until first cache miss
- references until a critical miss
18- Some open questions
- What are the right set of metrics?
- Under what circumstances does one use each?
- How does one efficiently monitor these metrics?
- What are the implications for caching algorithms?
19Multi-Fidelity Computation
- Classical notion of algorithm
- precise output specification
- resources consumed are dependent variables
- time, memory, energy
- Adaptation for mobility suggests a different
viewpoint - Do the best you can using no more than X units
of resource - output correctness criteria no longer fixed
- multiple notions of correct each is a level of
fidelity - reversal of roles of output spec and resource
consumption - Compelling approach where human interaction
involved - especially augmented reality applications
- quick dirty answer now better than perfect
answer later - deferred work often goes away!
- humans are noisy sources of input, tolerant sinks
of output
20- Allow system to find sweet spots
- Give the best result you can cheaply
- knee in fidelity-resource usage curve
- especially valuable with steep performance cliffs
- PhD work of Dushyanth Narayanan (2002)
- Some open questions
- What is a good fidelity metric?
- How do we compare multi-fidelity algorithms?
- Can multi-fidelity computations be composed?
- Given computation P, how do we find close
computation Q?
21Consistency at High Latency
- Weak connectivity makes cache coherence
expensive - communication latency
- state restoration after intermittent failures
- Coda solution
- use callbacks instead of demand validations
- raise granularity of cache coherence
- trade off precision of invalidation for speed of
validation - The notion of callback can be generalized
- client caches data satisfying predicate P
- server remembers cheap predicate Q
- Q ? P, but reverse need not be true
- Q re-evaluated by server on each update
- if Q false, notify client that P might be false
- Q is a semantic callback for P
22- Some open questions
- When are semantic callbacks most useful?
- What forms can P and Q take? Code?
- How does one derive Q from P quickly?
- Can cost-benefit tradeoff be made adaptive?
23- Value in speed-of-light limited systems?
- mobile networks foreshadow problems of future
distributed systems - (e.g. current interest in Delay Tolerant
Networking) - communication latency ?? computational speed
- coast-to-coast RPC gt 30 msec at speed of light
- 30 msec is over 3 million instructions on a
(very slow!) 100MIP processor! - Example tele-operated Mars rover (10 minutes one
way at c!) - use Q as semantic validator conditional
execution of commands - no different from pre-telegraph era!
24Lose Not HopeSome tough problems eventually get
solved
25Strict Consistency at Low Bandwidth
- Very difficult challenge to offer good
performance - especially challenging for databases
- most approaches weaken consistency
- (both in the file system and database worlds)
- Recent work by Niraj Tolia offers a better
approach - key insight even a stale replica can be useful
- Cedar optimistically exploits them to reduce data
transmission volume - large replicas ok as laptop disks grow bigger
- eliminates heroic efforts at replica control
- occasional (lazy) replacement of client replica
is fine - periodic transmission of updates by server to
clients also ok - no weakening of consistency or transactional
semantics
26Protocol Overview
select shown update goes directly to server
Use client resources to reduce network
transmission
27Cedar Implementation
Completely transparent to databases and
applications
28Mobile Sales Benchmark(inspired by TPC-App)
29To Carry or to Find?
30Phenomenal Hardware Progress
31Meanwhile . . . .
32(No Transcript)
33(No Transcript)
34Just for Comparison . . . .
35How will almost-free hardwarechange our world?
- Can lead to hands-free mobility!
36Carry vs. Find
Air
Light
Water
Telephone (pre-2000)
Telephone (post-2000)
Personal Computing (now)
Personal Computing (future)
37Key Observation
- Anticipated worst case scenario is determining
factor - Find ? resource available at all visited
locations - Carry ? reasonable doubt at least at one
location - Ubiquity can substitute for portability
- Can we do this for personal computing?
- ? goal of Internet Suspend/Resume effort
38Two Approaches to Mobility
- Think wallet, not Swiss Army Knife!