Impact of Mobility on Distributed Computations - CiteSeerX

53 downloads 692 Views 41KB Size Report
Department of Computer Science, Rutgers University, New Brunswick, NJ 08903 ... puters1 such as laptops and palmtops, frequently operate in a disconnected ...
a To appear in Operating Systems Review, April ’93

a

Impact of Mobility on Distributed Computations B. R. BADRINATH, Arup ACHARYA and Tomasz IMIELINSKI Department of Computer Science, Rutgers University, New Brunswick, NJ 08903 [email protected], [email protected], [email protected]

a

The integration of mobile/portable computers within existing static networks introduces a new set of issues to distributed computations. A mobile host can connect to the network from different locations at different times; distributed algorithms therefore, cannot rely on the assumption that a participant maintains a fixed and universally known location in the network at all times. Mobile hosts communicate with the rest of the network via a wireless broadcast medium and portable computers such as laptops and palmtops, often operate in a ‘‘disconnected’’ or ‘‘doze” mode to conserve battery power. These unique physical features of a mobile computing environment need to be considered as well, while designing distributed algorithms for such systems.

1 Introduction

for mobile hosts [9, 10, 14, 17]. Algorithms for delivering multicast messages in networks with mobile hosts are presented in [1]. The organization of the paper is as follows. In Section 2, we first present a system model of the mobile computing environment that explicitly incorporates mobility of hosts and highlights the effects of host mobility on the static segment of the network. In Section 3, we discuss the logical implications of mobility and the impact of specific physical aspects of mobile computing on distributed computation. We state a brief outline of our approach to designing distributed algorithms under this model and present extensions to the basic model in Section 4. Finally, Section 5 concludes with the observation that mobility of participants and the new physical constraints and features of mobile hosts, introduce new research issues to designing efficient distributed algorithms.

Solutions to communication and synchronization problems in distributed systems have so far been designed for networks comprising solely of static hosts. In systems with static hosts, connectivity of the underlying network does not change in the absence of link and/or host failures. On the other hand, mobile hosts are capable of moving between different locations (‘‘roaming’’) while maintaining their connection to the network, e.g. via a cellular connection or a wireless LAN. Mobile computers1 such as laptops and palmtops, frequently operate in a disconnected or ‘‘doze’’ mode. Mobility of hosts introduces a new set of issues that were not present in distributed systems with static hosts. Firstly, to deliver a message to a mobile host, it is necessary that the destination host be first located within the network. Second, as hosts move, the physical connectivity of the network changes. Hence, any logical structure, which many distributed algorithms exploit, cannot be statically mapped to a set of physical connections within the network. Third, mobile hosts have severe resource constraints in terms of limited battery life and often operate in a ‘‘doze mode’’ or entirely disconnect from the network. Lastly, communication between a mobile host and the rest of the network occurs via a wireless medium. Such a medium physically supports broadcast communication within a specified region (‘‘cell’’). These aspects are characteristic of mobile computing and need to be considered in the design of distributed algorithms. Prior work in related areas include file systems for mobile users [11, 16], data management issues [7, 5, 6, 8, 2] and network-layer routing protocols and addressing schemes

a

2 A system model for mobile hosts The model usually used as a basis for distributed algorithms is an undirected graph, where the nodes represent computing entities such as processes/sites/hosts and the edges represent physical communication links between adjacent nodes. A node can send a point-to-point message to any node as long as there exists a sequence of physical links from the sender to the recipient. Thus, distributed algorithms are often based on a logical structure amongst the nodes, e.g. tree, ring or a complete graph, by implicitly mapping each logical link to a path in the underlying physical network. In the absence of failures, this mapping does not change. Quite a few variations to this basic model exist, such as synchronous or asynchronous message delivery, fifo message delivery, incorporating failures of hosts and/or links, assigning different

1

A mobile host is capable of both communication and executing user-initiated computation; this differentiates a mobile host from communication-only devices such as pagers or portable terminals.

1

weights to edges etc. However, neither the basic model nor its variations are aimed at mobile hosts; a different system model is required to handle mobile hosts for the following reasons:

and/or security of data is a major concern, the network of fixed hosts offer a more secure and reliable environment than the mobile hosts. The above discussion underlines the need to explicitly account for the effects of changing location of mobile hosts and incorporate their specific physical features and constraints in providing support for distributed algorithms for the mobile computing environment. We now present a system model of the mobile computing environment in Fig. 1. This is based on the architecture developed in [9] for mobile internetworking. In brief, the architecture

– Dynamic network architecture. Mobility of a host implies that its location relative to the rest of the network changes with time; the connectivity of the entire network is thus modified as hosts move. Consequently, a logical link between two mobile hosts can no longer be mapped to a fixed sequence of physical links in the underlying network. – Communication. Ability of a host to maintain its connection to the static segment of the network while on the move, requires a untethered form of communication between the mobile host and the static segment; networks that support mobile hosts thus use a wireless connection to the mobile hosts and a wired connection between fixed hosts. The bandwidth of the wireless connection is significantly less than those between fixed hosts. On the other hand, a wireless medium intrinsically supports broadcast communication within a ‘‘cell’’; thus, a mobile host is reachable anywhere within a cell independent of its physical location.2 The static portion of the network usually does not physically support broadcast communication and will rely more on point-to-point messages. The cost of sending a message on the wireless and wired portion of the network should be considered differently and thus, both types of communication channels needs to be explicitly accounted for in the system model.

Wireless cell MH

MH

Wireless cell MH

MH

MH

MSS

MSS

Fixed Network

MSS

a

MSS

MH MH

Wireless cell Wireless cell

Fig. 1 Model of a distributed system with mobile hosts

is as follows. The term ‘‘mobile" implies able to move while retaining its network connections. A host that can move while retaining its network connections is a mobile host (MH). The infrastructure machines that support the MHs are called Mobile Support Stations, or MSS (or base stations in the cellular network architecture). These are fixed hosts with a wireless interface. The conventional hosts are the static hosts with no wireless interface. A cell is a logical or geographical coverage area serviced by a MSS. The mobile hosts rely on the MSSs to maintain their addressability. All MHs that have identified themselves with a particular MSS as belonging to its cell, are considered to be local to the MSS. Each MSS and the local MHs within its cell form a ‘‘wireless network’’. A MH can directly communicate with a MSS only if the MH is physically located within the cell serviced by the MSS. For simplicity of presentation, we will assume that each fixed host in the network is a mobile support station; a non-MSS fixed host can be modeled as a MSS whose cell is never visited by any MH. We will henceforth use the term MSS and fixed host, interchangeably. The model of a distributed system with mobile hosts thus consists of a static/ fixed network comprising of the fixed hosts and the communication paths between them,

– Computing entities. The ability of a mobile host to operate while on the move, requires a stand-alone source of power such as batteries. Data transmission and reception over the wireless network, disk accesses, and cpu operations consume power at a mobile host. Given the limited lifetime of batteries3, power consumption is a serious practical consideration at a mobile host, unlike a fixed host. Mobile hosts may thus frequently operate in a “doze” mode or disconnect entirely from the network. Additionally, mobile hosts have significantly lower memory capacity and computing power compared to a fixed host. Clearly then, mobile hosts and fixed hosts should be modeled as two distinct computing entities. Besides, in systems where reliability 2

In this paper, we have used the terms mobile and portable computing interchangeably. However, strictly speaking, we view portable computing as a more restrictive form of mobile computing: though a portable computer may connect to the network from different locations, it essentially connects to the network at any given access point through an individual wired connection and therefore, cannot simultaneously move and maintain its connection to the network. The notion of a ‘‘cell’’ and the associated wireless communication with a broadcast capability, is absent from portable computing. 3 Projections of progress in battery technologies show that only a 20% improvement in battery capacity will occur over the next ten years [15].

2

and a wireless network associated with each fixed host (MSS) for communicating with the mobile hosts located within its cell.

a message to multiple mobile destinations [1]: copies of the same message may be sent to many MSSs which are then required to forward the message to potential mobile recipients over their respective local wireless networks. However, composition of the wireless network within a cell changes dynamically as MHs enter and leave the cell. Due to latency of the fixed network, different MSSs receive their copies of the same message, though sent from a common fixed host, at different times. It is thus possible that a message broadcast in a given cell is not received by an intended mobile destination, since its entry to the cell occurred after the broadcast or it exited the cell before receiving the broadcast. On the other hand, it is possible that a MH receives multiple copies of the same message from different MSSs. In Fig. 2, h1 moves from MSS3 to MSS1, missing the message at both places, whereas h2 receives the message both at MSS4 and MSS3.

3 Impact of mobility We now focus on the impact of mobility on distributed computations using the above system model. Search To send a message from a MH h1 to another MH h2, h1 first transmits the message to its local MSS over the wireless network. This MSS then forwards it to the local MSS of h2, which forwards it to h2 over its local wireless network. Since the location of a MH is not fixed, i.e. its ‘‘current’’ cell changes on every move, the local MSS of h1 needs to search the MSS that currently serves h2 . However, if h1 and h2 are located in the same cell, then no search is required. The overall cost of sending a message thus consists of three components: (i) Cwireless – the cost of sending a message over the wireless link between a MH and its local MSS (ii) Cfixed – the cost of sending a point-to-point message between any two fixed hosts (iii) Csearch – the cost incurred to locate and forward a message from a fixed host to the local MSS of the intended mobile recipient. This cost is at least as large as Cfixed . The overall cost of sending a message can now be formulated differently depending upon the location of the sender and recipient and also whether they are fixed or mobile hosts. Based on the above cost assignments, a message sent from one mobile host to a mobile host in another cell incurs a cost 2 2 Cwireless + Csearch ; the search cost component is not incurred if both of them happen to be in the same cell since the local MSS keeps track of all MHs that are located in its cell. A message from a fixed host to a non-local mobile host costs Cwireless + Csearch , while that to a local mobile host does not incur the search component; on the other hand, a message from a mobile host to a non-local fixed host costs Cwireless + Cfixed . Various schemes have been proposed to locate the current position of a mobile host [6, 3, 9, 10, 14, 17]; our model is not tied to any specific scheme and instead abstracts the overhead of maintaining and updating location information as search cost. In summary, with the introduction of mobile hosts, the cost of sending a message is not necessarily fixed for a given pair and may need to explicitly include a search component.

MSS1

M

MSS2

M h1 MSS3

M h2 MSS4

Message transmussion over the wired network Message transmission within the local cell over the wireless interface

Location of a mobile host

Fig. 2 Wireless communication and mobility

Further, transmission of a message from a mobile host consumes more power than reception of a message of the same size at a mobile host. Communication within a cell thus needs to be asymmetric to reduce power consumption at the mobile hosts and better exploit the broadcast capability of the medium. Consequently, requiring a mobile host to periodically check for a message deposited in a mailbox (located at a fixed host) is an expensive proposition in this environment. Logical structures Many distributed algorithms, e.g. [12, 13], rely on an underlying logical structure amongst the participants to carry out the needed communication. The main purpose of such a structure is to provide a certain degree of order and predictability to the communication amongst the participants. Messages exchanged within such structures follow only selected logical paths.

Wireless connection The wireless medium allows a MSS to communicate with all the MHs located in its cell with a single message transmission. Thus, the cost of such a message, Cwireless , is independent of the number of recipients. Secondly, consider the case of multicasting 3

tion to suspend till its reconnection. Disconnection4 in a mobile environment is distinct from failure: disconnections are elective5 by nature and so, a mobile host can inform the system of an impending disconnection prior to its occurrence and execute a disconnection protocol. Disconnections can be expected to be a regular feature of the mobile environment. By anticipating possible disconnection, a mobile host can execute a disconnection protocol before it physically detaches from the network. This has two implications: firstly, the detached participant can ensure that it can function in a stand-alone mode by downloading any data that it may need and later reintegrate; an excellent example of this is the Coda file system [11]. Secondly, the detaching participant can offload any data or state information, pertaining to an ongoing algorithm execution, to the fixed network, so that the distributed algorithm can continue its execution without the disconnected participant. Distributed algorithms that execute on multiple mobile hosts, thus need to explicitly handle disconnection as a graceful exit of a participant. Another novel operating mode of mobile hosts with the aim of reducing power consumptions, especially for palmtops and laptops, is the ‘‘doze’’ mode. In this mode, the clock speed is reduced and no user computations are performed; instead, a mobile host simply waits passively to receive any message sent to it from the rest of the network; if such a message is received, it resumes its regular mode of operation. Like disconnection, this is a voluntary operation. However, the implications are different. In doze mode, a mobile host is reachable from the rest of the system and thus, can be induced by the system to resume its normal operating mode. In contrast to doze-mode, both disconnection and subsequent reconnection of a mobile host can be initiated only from the mobile host; additionally, it is isolated from the system in the intervening period. The doze mode of operation is affected by totally decentralized algorithms that require the participation of every mobile host; such algorithms prevent those mobile hosts from operating in doze mode that neither initiated the computation nor is the result of computation significant to them; consequently, attempts at conserving power at these MHs by operating in doze mode are completely thwarted. A logical structure amongst mobile hosts specially interferes with participants operating in doze-mode. For example, consider the unidirectional logical ring in Fig. 3a, comprising of mobile hosts h1, h2 and h3. A typical application of such a ring is to circulate a token amongst the participants; the one holding the token can then execute desired actions. However, if a participant

Given that a MH may change its location in the network, the implementation of a logical link needs to be reassessed for mobile hosts; a logical link is the basic building block of more complex logical structures such as a tree or a grid. To see why, consider a logical ring h3

MSS3

h3 h1

MSS1 Fixed Network

h1

MSS2

h2

(a)

h2

h3

h3

MSS3

MSS3

h1

MSS1

MSS1

Fixed Network

Fixed Network

MSS2

(b)

h1

h2

MSS2

(c)

h2

Fig. 3 Effects of mobility on a unidirectional logical ring

among three mobile hosts h1, h2 and h3 shown in Fig. 3a. In our system model, a single logical link in the ring, e.g. between h1 and h2, consists of: (1) the wireless connection between h1 and its ‘‘current’’ local MSS, MSS1, (2) a logical point-to-point connection between MSS1 and MSS2, the local MSS of h2 and (3) a wireless connection between h2 and MSS2. Now, if h1 changes its location and moves to the local cell under MSS2, then the logical links of the ring between the three mobile hosts need to be re-mapped as shown in Fig. 3b. The impact of host mobility on logical structures is apparent in our model. The physical connections comprising a logical structure amongst mobile hosts need to be reconfigured whenever such a host changes its location; the benefits of using an underlying logical structure in a distributed algorithm thus need to be weighed against the cost incurred to reconfigure the logical structure whenever a participating mobile host changes its location.

Disconnection and ‘‘Doze mode’’ Mobile hosts are often disconnected from the rest of the network. A disconnected mobile host can neither send nor receive messages and therefore, a mobile host that disconnects in the midst of an algorithm execution, may cause the execu-

a 4

Disconnection can either be voluntary or involuntary [11]. We use the term ‘‘disconnection’’ to always imply a voluntary disconnection; we refer to an involuntary disconnection as a failure . 5 Term coined by Dan Duchamp.

4

is not interested in executing such actions, it must still actively forward the token to the next member in the ring. Thus, if h2 is presently operating in doze-mode , it is forced to resume its regular operating mode on receipt of the token from h1 and then forward the token to h3; h2 itself may not have any use for the token. In addition to doze-mode of operation, algorithms based on logical structures are also particularly affected by disconnections. Specifically, the disconnection protocol should ensure that the logical structure can be re-established amongst the remaining participants. Consider disconnection of a MH, h2, from the ring as shown in Fig. 3c. Prior to physically detaching itself, it can inform its immediate predecessor in the ring, h1, of its intent to disconnect; h1 can then permit h2 to disconnect after establishing a logical link directly to h3, thus maintaining the logical ring amongst the remaining participants, viz. h1 and h3. Thus, disconnection causes deletion and addition of logical links from the ring and thereby a reconfiguration of the physical links; the set of participants changes as well. In contrast, a change in location of a mobile host, as explained earlier, causes only a reconfiguration of the physical links comprising the logical ring (Fig. 3b): neither the set of participants nor the set of logical links change.

a distributed computation in our system model consists of two categories: (a) the set of participating mobile hosts, and (b) a set of associated MSSs where a MSS belongs to this set if a mobile participant is located in its cell. This set of MSSs may change as mobile participants switch cells. Note that such a change is not brought about by failure of a fixed or a mobile host and it would be inefficient to treat it as such: a MSS need not be immediately removed from this set when it ceases to host any mobile participant, i.e. it can physically continue to participate in the ongoing distributed computation and its ‘‘logical’’ deletion from the set can be deferred to a later time. This is distinct from a change in the set of fixed participants induced by failure of a fixed host: the failed host cannot physically continue to participate in the execution. Similarly, the set of mobile participants may also change due to a disconnection and subsequent reconnection of a disconnected mobile host. Mobility introduces a new source of asynchrony in distributed systems: mobile hosts take arbitrary time to move between cells; thus, the delay in logically establishing a new connection from a roaming mobile host to the static network since severing its previous connection is finite, but not necessarily bounded. Besides, mobile hosts can exhibit different types of moves:

4 Discussion

• active on — the mobile host informs its new (local) MSS of its previous location. • active off — the mobile host informs its current local MSS of its future location prior to a move.

The previous sections have so far shown that mobility introduces new aspects to the design of distributed algorithms. Under the proposed system model of the mobile computing environment, our approach to designing distributed algorithms rests on the premise that the computational and communication load of an algorithm/protocol execution should be borne by the static portion of the system, to the extent possible. The burden on mobile hosts should be minimal due to both reliability considerations as well as performance limitations. We achieve this goal by considering a distributed system with mobile hosts as consisting of a two-tier structure: (a) a fixed network with hosts (MSSs) having more resources in terms of storage, computing and communication and (b) mobile hosts (MHs) with limited capabilities connected by a weak connection to the fixed network. For most part, the fixed hosts should communicate over the static segment of the network to ensure satisfaction of a desired property e.g., mutual exclusion, message ordering semantics, and consistency of replicated data. Mobile hosts then perform minimal additional operations to guarantee the desired overall functionality. Details of the approach can be found in [4]. In practice, a distributed algorithm will be executed only by a subset of all mobile hosts. Thus, participants in

• passive on — the mobile host enters a new cell without informing the local MSS of its previous location. • passive off — the mobile host exits its current cell without informing the local MSS of its intended destination. The effect on distributed algorithms will depend on the type of move assumed by the algorithm, e.g. an active-off can be used to leave a forwarding pointer at the previous location of a mobile host. An example of active-on is the MICP packet [9] sent by a MH when it moves to a new cell.

5 Conclusions The design of algorithms for distributed systems and their communication costs have been based on the implicit assumptions that location of participants in the network is universally known and the underlying connectivity of the network does not change in the absence of failures. The emergence of mobile computing invalidates these assumptions and additionally introduces new physical characteristics to the resulting computing environment such as different operating modes, wireless broadcast communication and constraints on battery 5

power consumption at mobile hosts. In this paper, we first presented a system model that explicitly incorporates mobility of hosts and highlights the effects of host mobility on the static segment of the network. We then looked at how mobility of hosts and the new physical features of mobile hosts will fundamentally affect the design of distributed algorithms. Finally we discussed some new research issues that we are currently investigating under this model. It is our thesis that introduction of mobile computing will require and stimulate a fresh approach to distributed computation.

[7] T. Imielinski and B. R. Badrinath. Querying in highly mobile distributed environments. In 18th Intl. Conference on Very Large Databases, pages 41–52, 1992. [8] T. Imielinski and B. R. Badrinath. Mobile wireless computing: Solutions and challenges in data management. Technical report, WINLAB/Rutgers Tech. Rept., February, 1993. [9] J. Ioannidis, D. Duchamp, and G. Q. Maguire. Ipbased protocols for mobile internetworking. In Proc. of ACM SIGCOMM Symposium on Communication, Architectures and Protocols, pages 235–245, September 1991.

Acknowledgements We would like to thank members of the DATAMAN project at Rutgers University for the lively discussions on this topic.

[10] John Ioannidis and Gerald Q. Maguire Jr. The design and implementation of a mobile internetworking architecture. In 1992 Winter Usenix, Jan. 1993. [11] James Kistler and M. Satyanarayanan. Disconnected operation in the coda file system. ACM Trans. on Computer Systems, 10(1), Feb. 1992.

Bibliography

[12] G. Le Lann. Distributed systems, towards a formal approach. IFIP Congress, Toronto, pages 155–160, 1977.

[1] Arup Acharya and B. R. Badrinath. Delivering multicast messages in networks with mobile hosts. In Proc. of the 13th Intl. Conf. on Distributed Computing Systems, May 1993. [2] Raphael Alonso and Hank Korth. Database system issues in nomadic computing. Technical report, MITL, December 1992. [3] Baruch Awerbuch and David Peleg. Concurrent online tracking of mobile users. In Proc. ACM SIGCOMM Symposium on Communication, Architectures and Protocols, September 1991. [4] B. R. Badrinath, Arup Acharya, and T. Imielinski. Structuring distributed algorithms for mobile hosts. In preparation. [5] B. R. Badrinath and T. Imielinski. Replication and mobility. In Proc. of the 2nd workshop on the management of replicated data, pages 9–12, 1992. [6] B. R. Badrinath, T. Imielinski, and A. Virmani. Locating strategies for personal communication networks. IEEE Globecom 92 Workshop on networking of personal communications applications, 1992.

[13] K. Raymond. A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems, 7(1), Feb. 1989. [14] Yakhov Rekhter and Charles Perkins. Optimal routing for mobile hosts using ip’s loose source route option. In Internet Draft, October 1992. [15] Samuel Sheng, Ananth Chandrasekaran, and R. W. Broderson. A portable multimedia terminal for personal communications. IEEE Communications Magazine, December 1992. [16] Carl D. Tait and Dan Duchamp. Service interface and replica management algorithm for mobile file system clients. In Proc. First Intl. Conf. on Parallel and Distributed Information Systems, 1991. [17] Hiromi Wada, Takashi Yozawa, Tatsuya Ohnishi, and Yasunori Tanaka. Mobile computing environment based on internet packet forwarding. In 1992 Winter Usenix, Jan. 1993.

6

Suggest Documents