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.


ACM Workshop on Strategic Directions in Computing Research

Working Group on Storage I/O Issues in Large-Scale Computing

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.

References

[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>