Summaries of Papers in Reading List*
(* The title of the paper on this page
is same as its local copy's file name, which is composed by the first author's
last name and last two digits of the publishing year.)
- [Satya96]
This paper tries to exploit the fertile topics in the research of
distributed system in mobile environment from the perspective of projects
Coda and Odyssey. It first presents the four constraints in mobile
computing: limited resources, inherent hazard of mobility, unreliable
connectivity and finite power supply. Adaptation is required to solve these
constraints. The paper then categorizes the adaptation strategies (a
spectrum from laissez-faire approach to application-transparent
approach). The client/server model is extended to adapt to the mobile
environment, in which the boundary between them is blurred. The Coda and
Odyssey projects' results are summarized, including disconnected operation,
optimistic replication, support for weak connectivity, isolation-only
transactions and server replication. The major part of the paper discusses
five topics deserving future exploration: caching metrics, semantic
callbacks and validators (to improve the performance of validate cache
coherence), resource revocation, adaptation analysis (how to measure
adaptive capabilities, i.e. agility) and global estimation from local
observation (interesting topic!).
- [Duchamp92]
This paper is an early speculation of wireless mobile computing. The
author compares the differences of two kinds of mobile devices:
terminal-based and computer-based. And he thinks the computer-based device
will be more interesting. Then the paper proposes four major challenges for
computer-based mobile systems, including distributed services, adjusting to
new technology, user interface and authentication/accounting/management. The
sketch solution of the first two challenges are discussed. For the
distributed services, two models are proposed: caching model (for small
working set) and remote access model (cache is infeasible). The major
problem for caching model is how to support graceful disengagement for both
client and server. Two examples of how to employ new technologies in
wireless mobile computing are also given, including a file prefetching
algorithm and the application of new non-volatile storage, such as Flash.
- [Bharghavan97]
This paper focuses on the challenges to provide seamless mobility over
heterogeneous wireless networks. The difference between the model this paper
considered and the ones in other literatures (such as Odyssey) is a home
computer that holds the computing resources for the portable computers and
interacts with the application servers (such as databases). This paper
discusses the research goals that emphasize the seamless migration between
autonomously managed networks and adaptation to the changing of QoS. The
paper proposes three categories of research challenges including the
application structure, seamless mobility and adaptive computing. Each
challenge is given several possible solutions. Finally, the solution of the
author's project PRAYER is presented, which gives the solution of seamless
mobility across multiple wireless networks (by adapt TCP/IP), caching and
consistency management in the file system and simple language and OS support
of application level adaptation.
- [Forman94]
This is an early survey on challenges of mobile computing. The unique
constraints of mobile computing are presented in three categories: wireless
communication (disconnection, low and variable bandwidth, heterogeneous
network and security); mobility (address migration, location dependent
information and migrating locality); portability (power, data risks and user
interface). Possible solution to these constraints are discussed.
- [Satya01]
This paper envisions the future of the pervasive computing. The
relationship among pervasive computing, distributed computing and mobile
computing is discussed. Two scenarios of the future pervasive computing are
presented. Then the missing capabilities of current technologies in these
scenarios are discussed. The challenges are mainly in how to offloading the
computing from mobile devices, how to adapt to the environment change, how
to save device energy, how to predict user intent and be aware of user's
context, how to achieve privacy and trust and how to make the system
"invisible" from user.
- [Banavar00]
This paper proposes an application model for the pervasive computing,
which can be concisely described as "device as protal",
"application as task" and "physical surroundings as computing
environment". From the perspective of this model, challenges are
presented in three stages of an application's lifecycle. In the design
stage, the programming model and development methodology are important. At
loading time, challenges are in dynamic resource discovery according to the
devices' capability and the choice of user interface. At run-time,
environment monitoring and resource redistribution are the major problem.
How to deal with disconnection and failure is also a challenge.
- [Stone77]
Network flow algorithm is used to solve the multiprocessor scheduling
problem in this paper. The problem scenario consists of two processor and a
serial program with N components. The intermodule-connection graph is
extended with two nodes representing two processors. Then network flow
algorithm is used to find the min-cut set, which corresponds to the
scheduling solution. The theorem is also extended to try to solve three or
more processors problem. But no feasible solution is given.
- [Bokhari88]
The paper develops an algorithm to solve the sum-bottleneck path problem
in a doubly weighted graph. Using this technique, a few scheduling problems
can be converted to doubly weighted graph to be solved. The most interesting
problem is of a host-satellite structure and serial programs with arbitrary
structure. To solve this problem, the algorithm of [Stone77] and its
extension are also needed to first convert a program into chain structure.
Then a layered doubly weighted graph is built and the sum-bottleneck path
algorithm is applied to solve it..
- [Eager86]
This paper discusses the adaptive load sharing in homogeneous
distributed systems. Authors argue that simple adaptive policies with very
small system state information yield dramatic performance improvements. They
doubt that more complex policies and more system information would achieve
more performance gain. An analytical model is built and simulation is
performed. With the same transfer policy (threshold), three location
policies (random, threshold, shortest) are run to compare the performance.
The results shows that the three simple policies improve the performance
greatly. And even with more system state information, the shortest policy
can't achieve more performance improvement than threshold policy.
- [Harchol-Balter97]
This paper studies the process lifetime in the real operating system
environment, whose distribution follows T-1. With this
distribution, a preemptive migration policy is proposed, which tries to
choose the process that has highest probability of running longer than its
migration time to ensure that by migration the performance improves rather
than degrades. Then simulation is performed to compare the performance of
the preemptive and non-preemptive migration. The result shows that the
former is better than later.
- [Vijaykrishnan00]
SimplePower is a architectural-level, transition-sensitive, cycle-accurate
energy simulator based on SimpleScalar toolset. It combines the
transition-sensitive model and analytical model to estimate the energy consumption
of data path, memory and bus in a model system. Applications in
multidimensional array domain are executed on the simulator to find the
energy hotspot in the system. Memory system is the most power-consuming
component. The impact of optimization is also analyzed, which makes the
cache and data path energy contribution become more significant.
Furthermore, traditional code optimization may not necessarily mean the
efficiency from the energy perspective.
- [Brooks00]
Wattch is another architectural-level energy simulator based on SimpleScalar.
It is built on higher level than that of SimplePower ([Vijaykrishnan00]).
System components are classified into different categories. Parametric
models are built for each component. The overall energy estimation is based
on the summation of component energy consumption. Real data is compared with
the simulated data to validate the simulation model. Several cases are
studied to demonstrate the usage of Wattch.
- [Tiwari94]
This paper uses the method of measuring the instruction-level energy
consumption to synthesize software energy consumption estimation. Base cost
of energy of each instruction is measured by running a loop of specific
instruction. Other considerations, including the variation in the base cost,
the inter-instruction effect and cache miss are also studied and included
into the measurement model.
- [Kravets98]
This paper proposes a transport-level power management protocol to save the
energy consumed by the network interface during its idle receiving mode. The
network interface of the mobile host periodically sleeps to reduce the
energy consumption and tells the base station when it will be available to
receive data. When the mobile host wakes up, it sends a query to the base
station for pending data. This transfer mode causes the burst communication
pattern. The sleep mode is implemented by a system call to the driver of
network interface. The experiment results show a great improvement of energy
saving.
- [Paleologo98]
A general dynamic power management algorithm is proposed in this paper.
Instead of using heuristic methods (timeout, predictive), policy
optimization is applied to the power management problem. Abstractly,
components in a computer system have different power states, like idle,
sleep, etc, which trades power consumption with performance. In this method,
Markov process models are built for the component (Service Provider), the
user (Service Requestor) and a task queue (Service Queue). Then the system's
expect power/performance metric is built and optimized by solving Markov
decision process problem. This paper uses the discrete time Markov decision
chain.
- [Kistler92]
This paper discusses the disconnected operation in the Coda system.
The idea is simple: a file system proxy, Venus, which resides at client
hoards the objects that the program is using or going to be used (hoarding
state); when client is disconnected from server, Venus acts as the real
server and all the data accesses are from the local cache (emulation state);
upon reconnection, the local operations are integrated with the copy at
server (reintegration state). The implementation strategy for each state is
discussed. In hoarding state, the prefetched objects are from both history
information and user specified profile. The cache is prioritized. In
emulation state, a log of operation is kept and optimized. Recoverable
virtual memory (RVM) is used to support the transactional access of the
logs. In reintegration state, the logged operations are replayed and the
conflicts are resolved. Three criteria of the system performance are
evaluated. The duration of reintegration are normally in the order of
one minute for a program lasting a few hours. The cache size of 100MB
is used in the experiment and a reduction of the cache size is possible. And
from the simulation using a real file system's trace, the likelihood of
conflicts are proved to be very small (<1%).
- [Noble97]
This paper summarizes the application-aware adaptation in
Odyssey. The prototype system provides mechanisms to help concurrent
applications achieve agile adaptation to the changing environment. The
applications adapt the environment by changing the fidelity of data, which
means the degree to which data presented at a client matches the copy at the
server. Odyssey runtime consists of a viceroy and a set of wardens. Each
warden deals with a specific type of server data for applications. And
applications access the data via the wardens. Viceroy manages system
resources centrally. Applications access Odyssey runtime via a set of new
system calls on NetBSD operating system. An interceptor in the kernel
translates the system call into Odyssey calls. So an application uses the
system call to specify the data type it wants to access, the resource range
it can tolerate and a callback for Odyssey to execute. Odyssey runtime will
call the callback when the resource falls out of the range. Normally the
callback changes the fidelity of the data to adapt to the environment
change. Three example applications implemented over the Odyssey architecture
are introduced. The paper also studies the agility the system can
achieve.
- [Yarvis01]
Conductor focuses on providing application-transparent distributed
adaptation over heterogeneous networks. Conductor enable the adaptation by
deploying adaptors in the network. Adaptors intercept the network data
stream and handle the data according to its specific semantics. So adaptors
are typed. The adaptation can happen anywhere along the connection path from
the server to the client and the adaptors are paired to enable the
adaptation on one segment of the path. Each adaptor monitor the environment
and makes its own planning. When a connection is to be built, a specific
adaptor node collects the local plan from the adaptors along the data path
and makes a global plan to deploy the adaptation along the data path. Reliability
and security are two very important issues in this architecture. The
semantic segmentation is used to dynamically adjust the retransmission for
data recovery. Also a security model is built to secure the distributed
adaptation. The performance of the adaptation is presented (But
only the download time, which is not sufficient to measure the system performance.
The agility and other criteria should be given and measured.)
- [Davies97]
Unlike other RPC-based system (e.g. Rover), Limbo uses the concept of tuple
space as the mechanism for message passing among the distributed hosts.
Because of the asynchronous nature of tuple space, it is easy to support
adaptive communication. Limbo has the features of multiple tuple spaces,
tuple type hierarchy, QoS attributes in the tuples and multiple system
agents. A centralized prototype and a de-centralized system are discussed to
demonstrate the usage of tuple space.
- [Crow97]
This paper introduces the draft of wireless LAN standard, IEEE 802.11. The
infrastructure of the wireless LAN is composed by basic service set (BSS),
distributed system (DS), access point (AP) and portal. BSS is a set of
mobile stations with wireless network interface. DS is the backbone of the
static infrastructure. BSS connects with DS and other BS via AP. The
specification covers two parts of the OSI model: the physical layer and the
media access control (MAC) sublayer. At the physical layer, 802.11 adopts
three options of spread spectrum method: frequency hopping spread spectrum (FHSS),
direct sequence spread spectrum (DSSS) and infrared (IR). Both FHSS and DSSS
work at 2.4GHz. At the MAC layer, distributed coordination function (DCF)
and point coordination function (PCF) are the two components. DCF is used
for contention services, which is based on carrier sense multiple access
with collision avoidance (CSMA/CA). PCF is used for contention-free
services. PCF relies on the point coordinator (which is access point here)
to perform polling. PCF is required to coexist with DCF. The last part of
the paper discusses the performance study by simulation.
- [Perkins97,98]
These two papers introduce the Mobile IP protocol. Mobile IP is designed at
IP layer (Data Link Layer). Its components includes a home agent, the home
network, a foreign agent, the foreign network and the mobile node. The home
agent is responsible to redirect the traffic to mobile node when the mobile
node is not at its home network. The foreign agent is in the foreign network
and used to relay the traffic to the mobile node when the mobile node is in
the foreign network. The mobile node has two IP addresses: the home IP,
which is permanent; the care-of address, which is used in the foreign
network. When the mobile node moves from its home network to the foreign
network, it obtains the care-of address from the
foreign agent and registers the care-of address at the home agent. Then the
home agent will intercept the traffic of mobile node and redirect it to the
mobile node by tunneling. The tunneled traffic either goes through the
foreign agent or goes directly to the mobile node. Routing optimization is
enabled by make the mobile node's correspondent node cache the mobility
binding (i.e. home IP and care-of IP pair). This mechanism is also used to
realize smooth handoff. In IPv6, Mobile IP can be implemented more easily
and efficiently taking advantage of the new features.
- [Perkins94]
In an ad-hoc network, there is no static
infrastructure to support communications among mobile hosts. Instead, a less
steady network is built. Packets are transferred via the relay of
intermediate mobile nodes. In such an environment, routing problem is very
important. This paper is the early study of routing algorithm in ad-hoc
network. The Destination-Sequenced Distance-Vector (DSDV) routing algorithm
is table-based algorithm. Each mobile node keep a routing table, containing
all available destination nodes' addresses and the hops to the destinations.
When nodes move, leave or join, the sensed nodes changes their own table and
broadcast the change to their neighbors. Sequence number is used to avoid
loop updates.
- [Milojicic02]
This is a good survey paper on peer-to-peer computing, although it is more
an overview than a detailed analysis. This best part of the paper is its
categorizing the current P2P systems according to different criteria. In
general, the necessary components and algorithms of P2P computing are
introduced. Twelve key characteristics of P2P are discussed. For each
characteristics, corresponding systems are analyzed. Then, P2P systems are
classified into five categories with respect to their intended application
area, each represented by several important systems. Eight systems are
discussed in detail as case study.
By Ye Wen. Updated on
Aug 19th,
2002