ACM Computing
Surveys 28A(4), December 1996,
http://www.cs.duke.edu/~carla/SatyaEllisIO/SatyaEllisIO.html,
Copyright ©
1996 by the Association for Computing Machinery, Inc. See the permissions statement below.
Position statement
M. Satyanarayanan
School of Computer Science, Carnegie Mellon University
5000 Forbes Avenue, Pittsburgh, PA 15213, USA
satya@cs.cmu.edu
Carla Schlatter
Ellis
Department of Computer Science,
Duke University
Levine Science Research Center, Durham, NC 27705-0129, USA
carla@cs.duke.edu,
http://www.cs.duke.edu/~carla
Abstract:
Mobility exacerbates the tension between autonomy and
interdependence that is characteristic of all distributed systems.
Any viable approach to mobile computing must
strike a balance between these competing concerns by using
application-specific information to influence resource management
decisions.
To function successfully as they move through a dynamically changing
environment, mobile elements
must not only exploit application sematics but also be
adaptive.
We advocate application-aware adaptation
in which there exists a collaborative partnership between applications and the
system.
This approach permits individual applications to determine
how best to adapt, but preserves the ability of the system to
monitor resources and to enforce allocation decisions.
Categories and Subject Descriptors:
C.2.4 [Computer-Communication Networks]: Distributed Systems -
Distributed applications;
D.4.4 [Operating Systems]: Communications Management -
Input/Output, Network communication;
D.4.2 [Operating Systems]: File Systems Management -
Distributed File Systems;
D.4.8 [Operating Systems]: Performance -
Measurements, Monitors;
General Terms: Design, Performance, Reliability, Security.
Additional Key Words and Phrases:
mobile computing, wireless communication, application-aware adaptation.
Adaptation: the Key to Mobile I/O
Mobility exacerbates the tension between autonomy and
interdependence that is characteristic of all distributed systems.
The relative resource poverty of mobile elements as well as their lower
trust and robustness argues for reliance on stable servers.
But the need to cope with unreliable and low-performance networks,
as well as the need to be sensitive to power consumption,
argues for self-reliance. Architectural trends developing on the fully-wired
side
of the system (such as higher-speed switched LAN technology and
more emphasis on the memory hierarchy)
further widen the gap. Any viable approach to mobile computing must
strike a balance between these competing concerns. To achieve such a balance
application-specific information should inform resource management
decisions. This is an emerging trend for system design, in general, but
mobile computing provides, perhaps, the most compelling example of where it
is needed.
This balance cannot be a static one. Because of their mobility, these
elements are likely to reside in widely varying environments during normal use.
Any fixed design point in the spectrum between autonomy and integration
will be suboptimal at certain times.
As the circumstances of
a mobile client change, it must react and dynamically reassign the
responsibilities of client and server. To function successfully, mobile
elements
must not only exploit application sematics but also be
adaptive.
The range of adaptation strategies
is illustrated by the following figure:
At one extreme, adaptation is entirely the responsibility of individual
applications. While this laissez-faire approach avoids the
need for
system support, it lacks a central arbitrator to resolve
incompatible resource demands of different applications and
to enforce limits on resource usage. It also makes applications
more difficult to write, and fails to amortize the development cost
of support for adaptation.
At the other extreme, referred to as application-transparent
adaptation,
the responsibility for adaptation is borne entirely by the system.
An example of a system that uses this approach is Coda
[Kistler92,
Mummert95,
Satya93],
developed at Carnegie Mellon.
This approach is attractive because it is backward compatible with existing
applications: they continue to work when mobile without any modifications.
The system provides the focal point for resource arbitration and control.
The drawback of this approach is that there may situations where the
adaptation performed by the system is inadequate or even counter-productive
for some applications.
Between these two extremes lies a spectrum of possibilities
that we collectively refer to as application-aware adaptation.
By supporting a collaborative partnership between applications and the system,
this approach permits individual applications to determine
how best to adapt, but preserves the ability of the system to
monitor resources and to enforce allocation decisions.
Such collaborative partnerships can take many forms ranging from simple
hints provided by the applications to the operating system to "extensible
kernels" [Bershad95, Small96, Small95] in
which applications tailor the operating system to their own needs.
Odyssey [Noble95,
Satya94], under development at Carnegie Mellon,
and Jello, under development at Duke,
are examples of two systems that demonstrate the power and investigate
design choices of the application-aware adaptation approach.
Our views on application-aware adaptation are built on extensive experience
with file systems in different domains [Dibble88, Floyd88, Satya90]. A common thread in our work is
the influence of
observations of file access patterns by us [Floyd89,Mummert94, Nieuwejaar96,
Satya81] and other groups [Baker91, Ousterhout85]. Such
studies
have a history of yielding significant benefits in file system design. They
have also shown that there is untapped information (e.g. files often do have
recognizable semantic types) that can greatly enhance performance if
correctly interpreted and that prediction of access patterns can be
effectively exploited.
- [Baker91]
-
Baker, M., Hartman, J., Kupfer, M., Shirriff, K., and Ousterhout, J.,
"Measurements of a Distributed File System," Proceedings of the Thirteenth Symposium on
Operating System
Principles, Pacific Grove CA, October 1991, pp. 198-212.
- [Bershad95]
-
Bershad, B.N., Savage, S., Pardyak, P., Sirer, E.G.,
Fiuczynksi, M.E.,
Becker, D.,
Chambers, C., and Eggers, S.,
"Extensibility, Safety and Performance in
the SPIN
Operating System," Proceedings of the Fifteenth Symposium on Operating
Systems
Principles, Copper Mountain, CO, December 1995, pp. 267-284.
- [Dibble88]
-
Peter Dibble, Michael Scott, and C. Ellis,
"Bridge: A High-Performance File System for Parallel
Processors", Proceedings of the IEEE Int'l
Conference on Distributed Computing Systems (DCS),
1988.
- [Floyd88]
-
R. A. Floyd, Transparency in Distributed File Systems,
Ph.D. thesis,
December 1988.
- [Floyd89]
-
R. Floyd and C. Ellis, "Directory Reference Patterns in Hierarchical
File Systems",
IEEE Transactions on Knowledge and Data Engineering, Vol. 1, No. 2,
June
1989
- [Kistler92]
-
Kistler, J.J., and M. Satyanarayanan,
"Disconnected Operation in the Coda File System',
ACM Transactions on Computer Systems,
Feb. 1992, Vol. 10, No. 1, pp. 3-25.
- [Mummert94]
-
Mummert, L.B., Satyanarayanan, M.
"Long Term Distributed File Reference Tracing: Implementation and
Experience",
School of Computer Science, Carnegie Mellon University,
Nov. 1994, CMU-CS-94-213.
- [Mummert95]
-
Mummert, L.B., M. R. Ebling, and M. Satyanarayanan,
"Exploiting Weak Connectivity for Mobile File Access",
Proceedings of the 15th ACM Symposium on Operating Systems
Principles,
Dec. 1995, Copper Mountain Resort, CO.
- [Noble95]
-
Noble, B., Price, M., Satyanarayanan, M.,
"A Programming Interface for Application-Aware Adaptation in Mobile
Computing",
Proceedings of the Second USENIX Symposium on Mobile &
Location-Independent Computing,
Apr. 1995, Ann Arbor, MI
- [Nieuwejaar96]
- Nils Nieuwejaar, David Kotz Apratim Purakayastha, Carla Schlatter
Ellis, and
Michael Best, "File-Access Characteristics of Parallel Scientific
Workloads", IEEE
Transactions on Parallel and Distributed Systems, Vol. 7, No. 10,
pp.
1075-1089, October 1996.
- [Ousterhout85]
-
Ousterhout, J., Da Costa, H., Harrison, D., Kunze, J., Kupfer, M., and
Thompson, J., "A
Trace- Driven Analysis of the UNIX 4.2 BSD File System," Proceedings of
the Tenth
Symposium on Operating Systems Principles, Orcas Island WA, December
1985, pp.
15-24.
- [Satya81]
-
Satyanarayanan, M.
"A Study of File Sizes and Functional Lifetimes",
Proceedings of the 8th ACM Symposium on Operating Systems Principles,
Dec. 1981, Pacific Grove, CA
- [Satya90]
-
Satyanarayanan, M.,
"Scalable, Secure, and Highly Available Distributed File Access",
IEEE Computer,
May 1990, Vol. 23, No. 5
- [Satya93]
-
Satyanarayanan, M., Kistler, J.J., Mummert, L.B., Ebling, M.R.,
Kumar, P., Lu, Q.,
"Experience with Disconnected Operation in a Mobile Computing Environment",
Proceedings of the USENIX Symposium on Mobile and
Location-Independent
Computing,
Jun. 1993, Boston, MA.
- [Satya94]
-
Satyanarayanan, M., Noble, B., Kumar, P., Price, M.,
"Application-Aware Adaptation for Mobile Computing",
Proceedings of the 6th ACM SIGOPS European Workshop,
Sep. 1994, Dagstuhl, Germany.
- [Small96]
-
Christopher Small and Margo Seltzer, "A Comparison of OS Extension
Technologies". Proceedings of the 1996 USENIX Conference.
- [Small95]
-
Christopher Small and Margo Seltzer, "Structuring the Kernel as a
Toolkit of
Extensible, Reusable Components." Proceedings of the 1995
International
Workshop on Object Orientation in Operating Systems (IWOOOS '95).
Permission to make digital or hard copies of part or all of this work
for personal or classroom use is
granted without fee provided that copies are not made or distributed for
profit or commercial advantage
and that copies bear this notice and the full citation on the first
page. Copyrights for components of this
work owned by others than ACM must be honored. Abstracting with credit
is permitted. To copy
otherwise, to republish, to post on servers, or to redistribute to
lists, requires prior specific permission
and/or a fee. Request permissions from Publications Dept, ACM Inc., fax
+1 (212) 869-0481, or
permissions@acm.org.
Last modified: Monday Nov. 4, 1996
Carla Schlatter Ellis
<carla@cs.duke.edu>