PERFORMANCE EVALUATION OF THE BARYCENTRIC SERVER MODEL FOR MOBILE AD-HOC NETWORKS Marco Avvenuti and Alessio Vecchio Dip. di Ingegneria dell’Informazione, Universit`a di Pisa Via Diotisalvi 2, I-56126 Pisa, Italy email:
[email protected],
[email protected] ABSTRACT By adopting code mobility techniques, distributed applications can make better use of network resources. This makes logical mobility particularly attractive in a mobile computing scenario, where the level of network resources changes continuously. However, it is sometimes difficult to express quantitatively the benefits, and also the overhead, introduced by logical mobility. In this paper, we present the performance evaluation of a migration model where the central component of the application, the server, moves towards the physical barycenter of a network made of mobile hosts. We evaluated both application-level metrics, such as the percentage of delivered messages and communication latency, and network-level metrics, such as the number of routed messages. In many cases, logical mobility contributed to a significant improvement of the considered performance indexes. KEY WORDS Mobile computing, code mobility, performance evaluation.
1 Introduction Low-cost availability of wireless technologies as IEEE 802.11 [4] or Bluetooth [14] drives the diffusion of untethered and portable computing devices. Further, users are no longer bound to a wired network providing wireless access through base stations, but they are able to communicate with each other in a peer-to-peer fashion, forming systems exclusively made of mobile hosts. A wireless network where nodes are able to move and communicate with each other without any fixed infrastructure is known as a mobile ad-hoc network (MANET). Each node in a MANET, besides running users’ applications, functions as a router which discovers and maintains routes to other nodes in the network. Thus, two nodes that can not directly communicate, because they are too distant or because of obstacles, can exploit the routing service of their neighbors that forward packets to the destination. MANETs are particularly suitable in all those cases where users need to form impromptu work-groups but it is not possible, or not economically convenient, to set up a fixed backbone. Examples include emergency operations in disastered areas, conference sites, and tactical military operations. The dynamic nature of MANETs poses significant re-
search challenges at every level of the communication infrastructure, from the link layer to the transport protocol. For example, a routing algorithm for mobile ad-hoc networks needs to cope with the extremely dynamic topology of the network: new routes must be established as soon as known links disrupt or become congested. These communication problems are also evident at the middleware and application levels. Logical mobility, i.e. the ability of dynamically relocating software components from a host to another, has been indicated as a powerful solution to several issues related to mobile computing [5, 7, 3, 6]. For a better understanding of the effectiveness of logical mobility, we need to study the relations between logical and physical mobility in realistic scenarios, as well as quantitative measurements of achievable benefits, if any [11]. In particular, we need to understand i) when mobility should be adopted, ii) how much a mobile application can gain in comparison with a similar, but static, application, and iii) which is the impact of mobility support on the underling network. Our Contribution. We propose a scheme for logical mobility that operates over a physically mobile system. We also show how an application, programmed according to such a scheme, can adapt to changing conditions caused by physical mobility of hosting machines. Through this case study, quantitative measurements of benefits achievable through logical mobility are evaluated: results confirmed logical mobility as an effective design paradigm, since significant performance improvements can be obtained at both application and network level.
2 The Barycentric Server Model Logical mobility is a programming style that allows distributed applications to adapt to their execution environment. In a scenario where the topology of the network changes dramatically in a short time-scale, this may lead to significant achievements in terms of communication efficiency and quality of the offered service. The concept of logical mobility is dual with respect to physical mobility, and consists in relocating, according to given schemes, the objects that compose an application. In many cases the logic which drives the movement of application nodes is sufficiently general to be reused in similar and recurring problems [1].
Radio Propagation Model Antenna Network Interface Routing Protocol Link Bandwidth
1
2
Table 1. Simulation parameters.
5
3
Two Ray Ground Refl. Omni-Directional 802.11b AODV 2M bps
4
6
to Ctot = 8.
7
3 Performance Evaluation
Figure 1. Example of a MANET.
This paper evaluates the benefits provided by a specific mobility strategy, the barycentric server model. According to this strategy, a client/server application can make a better use of network resources by relocating the server, which is the only logically mobile component, nearby the physical barycenter of the network. This strategy can be applied in all those cases where the application is made up of multiple clients which communicate with a server. The application is supposed to operate on a pure MANET. The barycentric server model is able to reduce the overall communication cost because, in a MANET, this mainly depends on the distance between the source and the destination nodes. As the number of hops increases, communication becomes more expensive both in terms of latency, since packets are retransmitted several times, and bandwidth occupation, since the medium is shared by all nodes. The server periodically determines its position with respect to all other nodes, and migrates toward the node that is closer to the physical barycenter of the network. If the center of gravity changes due to the movement of hosts, the server migrates again. Assuming that the link-layer communication parameters are uniform in the whole network, let Cij the cost of communication, in terms of hops, between node i and node j. Also, let us consider a network that, at a given time, has the topology shown in Figure 1. Nodes 1 and 7 can communicate thanks to packet routing performed by nodes 2, 4 and 6. It is clear that communication from 1 to 7 is more expensive than from 1 to 4 (C17 = 4 versus C14 = 2). Let us suppose that the server is on the edge of the network, say node 1. Communication with the server has the following costs: C21 = 1, C31 = C41 = 2, C51 = C61 = 3, and C71 = 4. The overall communication cost is Ctot = 15. In the presence of logical mobility, the server can relocate itself on node 4, the nearest to the barycenter of the network. Communication cost for clients is: C24 = C34 = C54 = C64 = 1, C14 = C74 = 2. By means of server relocation, the overall communication cost decreases
We evaluated the performance of the barycentric server model through a simulative study. To this end we implemented a test application within the QualNet simulator [12]. The aim of the study was to evaluate two application-level metrics, the communication latency and the number of delivered messages, and a network level metric, the number of messages forwarded on behalf of other nodes. The mean communication latency was calculated only for those messages that were delivered to at least 50% of the clients. This was done to avoid that a system able to deliver only a small fraction of the messages could get better results than a system able to deliver a significantly larger amount of messages. The same way, the number of delivered messages comprises only those messages that were delivered to at least 50% of the clients. The number of messages forwarded on behalf of other nodes was included to study the effects of logical mobility on the routing system. These metrics were evaluated as a function of the number of clients and of the size of the server. The test application uses UDP datagrams for communicating between clients and server. Periodically each client sends a message to the server which in turn forwards the message to all known clients. This model is representative of a wide range of existing applications. Real examples include auction systems or network games, where clients send to the server some information (e.g. the new position of the player inside the game area) and the server takes care of dispatching the information to all other participants. Experiments have been repeated with both a static version of the application and a mobile one. In the static version, the server is positioned on a node at random and never migrates from that node (while the node hosting the server is free to physically move in a given area). In the mobile version, the server samples the position of all application nodes every second. Then, if the node that is closer than the others to the barycenter remains the same for at least 5s, the server move to that node. In our implementation the position of nodes is extracted from the simulator data structures. To achieve the same goal in a real system, each client can determine its own position by means of a GPS receiver then the information can be piggybacked onto application messages sent to the server. Alternatively,
Mobile Static
3e+08
Latency (ns)
2.5e+08 2e+08 1.5e+08 1e+08 5e+07 0 5
10
15
20 Nodes
25
30
3500
3500
Mobile Static Messages forwarded by AODV
Messages received by at least 50% nodes
3.5e+08
3000
2500
2000
1500
1000
35
Mobile Static
3000 2500 2000 1500 1000 500 0
5
(a) Latency
10
15
20 Nodes
25
30
35
5
(b) Received messages
10
15
20 Nodes
25
30
35
(c) Forwarding overhead
Mobile Static
8e+08
Latency (ns)
7e+08 6e+08 5e+08 4e+08 3e+08 2e+08 1e+08 0 5
10
15
20 Nodes
(a) Latency
25
30
35
9000
4000
Mobile Static
8000
Messages forwarded by AODV
9e+08
Messages received by at least 50% nodes
Figure 2. Performance varying the number of clients (light traffic).
7000 6000 5000 4000 3000 2000 1000
Mobile Static
3500 3000 2500 2000 1500 1000
5
10
15
20 Nodes
25
(b) Received messages
30
35
5
10
15
20 Nodes
25
30
35
(c) Forwarding overhead
Figure 3. Performance varying the number of clients (heavy traffic).
if the adopted routing protocol makes use of the location information, e.g. LAR [10], the position of nodes can be extracted from the routing layer, without application-level overhead. When the server moves, clients need to update their information about the current location of the server. We used a very simple solution based on forwarding: if migration is successful, the server leaves an object on the departure site. This object, called Drone, knows the new location of the server and reply to clients with a special message that contains information about the new location. On receiving this message, the client updates the server’s location and uses it for sending the next message. When all clients have updated their information about the actual server’s location, the Drone is removed from the system. All nodes move in a 1000mx1000m area according to the random waypoint model [2], i.e. each node remains at a location for a certain time then it moves to a random destination at a speed uniformly distributed between 0 and max-speed. Experiments were run with a maximum speed equal to 10m/s and a pause time of 60s. In order to en-
sure high connectivity, the total number of nodes was set to 30, while the number of clients varied from 10 to 30 to test system scalability. Other simulation parameters are summarized in Table 1. We studied the system under two different traffic conditions: in the light traffic scenario, each client sends a 256 Bytes message every 5s; in the heavy traffic scenario the interval between two messages is reduced to 1s. To cope with the problem of results dependency from the movement pattern of nodes, measured values are averaged over ten repetitions, each one using different initial positions and different trajectories. All graphs in this section show mean values and 90% confidence intervals. Simulation time for each run is equal to 600s.
3.1 Varying the Number of Clients Here we report the results of the experiments carried out to determine the effects induced by the number of clients on the communication latency, the number of delivered messages, and the forwarding overhead. The size of the server
Mobile Static
8.5e+07
Latency (ns)
8e+07 7.5e+07 7e+07 6.5e+07 6e+07 5.5e+07 0.5k
1k
2k 4k 8k 16k Server size (Bytes)
32k
5000
2000
Mobile Static
4500
Messages forwarded by AODV
Messages received by at least 50% nodes
9e+07
4000 3500 3000 2500 2000 1500 1000
Mobile Static
1500
1000
500
500 0
64k
0 0.5k
(a) Latency
1k
2k 4k 8k 16k Server size (Bytes)
32k
64k
0.5k
(b) Received messages
1k
2k 4k 8k 16k Server size (Bytes)
32k
64k
(c) Forwarding overhead
Mobile Static
Latency (ns)
7.5e+08
7e+08
6.5e+08
6e+08
5.5e+08 0.5k
1k
2k 4k 8k 16k Server size (Bytes)
(a) Latency
32k
64k
8000
4000
Mobile Static Messages forwarded by AODV
8e+08
Messages received by at least 50% nodes
Figure 4. Performance varying the size of the server (light traffic).
7500 7000 6500 6000 5500 5000
Mobile Static
3500
3000
2500
2000 0.5k
1k
2k 4k 8k 16k Server size (Bytes)
(b) Received messages
32k
64k
0.5k
1k
2k 4k 8k 16k Server size (Bytes)
32k
64k
(c) Forwarding overhead
Figure 5. Performance varying the size of the server (high traffic).
is equal to 8KB (this size is compatible with the serialized form of a basic chat application that we implemented in Java). Figures 2(a) and 3(a) show that the mobile application performs always better than the static one, especially when the number of clients is large. Significantly, logical mobility is able to reduce the communication latency up to 57% with light traffic, and up to 67% with heavy traffic. However, for a more detailed analysis, also the number of delivered messages has to be taken into account. Figure 2(b) shows that the mobile application delivers slightly less messages than the static application. This is due to the fact that the server is unavailable during migrations, i.e. those messages that arrive when a migration is inprogress are dropped (in our implementation clients do not retransmit any message, not even when they discover that the server has moved). Under heavy traffic load, the mobile application outperforms the static one, as it is able to deliver more messages and in shorter time (Figure 3(b)). It should be noted that the number of delivered messages decreases for both
the mobile and the static application as a consequence of congestion (the total number of messages is proportional to n2 where n is the number of clients). Nevertheless, because of the better position of the server, the mobile application is able to deliver more messages than the static one. As shown in Figures 2(c) and 3(c), by reconfiguring its topology, the application is able to reduce the use of routing provided by other nodes, both with light and heavy traffic conditions. This happens because, when the server is close to the physical barycenter, the application becomes more network-efficient since the server is reachable by clients in a smaller number of hops. Further, note that the mobile application is able to reduce its impact on the underlying network even when a larger number of application-level messages are delivered, as it happens for the heavy traffic scenario.
3.2 Varying the Server Footprint The size of the server is a critical factor as it determines application’s agility. In these experiments, the size of the
server varied from 0.5KB to 64KB, while the number of clients was fixed to 20. Figures 4(a) and 5(a) show the effects of the server size on the communication latency. With both light and heavy traffic load, when the server size is small (not greater than 8K) the mobile application performs better than the static application. In the implementation under test a timer is associated with the migration process: if transferring the status of the server to the destination host requires too much time, migration is aborted. When the size of the server becomes larger, the server is no longer able to move, as migrations do not complete in time and are aborted. Therefore, the behavior of the mobile application becomes similar to the static one. The number of delivered messages in the light traffic scenario, depicted in Figure 4(b), is slightly lower for the mobile application. Also in this case this is due to server unavailability during migrations. In the heavy traffic scenario (Figure 5(b)), the mobile application is able to deliver more messages than the static application when the server size is small, while the static application performs better for larger size (many migrations are unsuccessful). Similar conclusions can be drawn about the number of forwarded messages (Figures 4(c) and 5(c)): when the server-size is small, the application is able to reduce the routing effort demanded to the network because of the statistically lower number of hops needed to reach the server. When the server-size is large many migrations are unsuccessful and the behavior of the static and mobile applications becomes similar.
4 Related Work As evidenced in [11], literature on performance evaluation of systems based on logical mobility is quite limited in number. In [13], the authors present a mobile agent based framework for accessing database systems from the Web. The framework supports lightweight, portable, and autonomous clients as well as operation on slow or expensive networks. The implementation of the framework using the aglet workbench shows that its performance is comparable to, and in some case outperforms, the traditional approach. In fact, in wireless and dial-up environments and for average size transactions, a client/agent/server adaptation of the framework provides a performance improvement of approximately a factor of ten. For the fixed network, the gains are approximately 30-40 percent. In [8] the authors present a performance evaluation of the mobile agent model by comparison with the client/server model. The result of the evaluation shown that despite some costly mechanisms involved in migrations, significant performance improvements can be obtained by using the mobile agent paradigm, especially when an agent that intensively communicate with a server moves to that server site. Evaluation is carried out in the context of information retrieval applications where the agent can be used
to interact locally with the database or to compress data before being delivered to the client-side. Another experimental performance evaluation of the mobile agent paradigm is described in [9]. The authors, besides comparing the performance of three mobile agent frameworks, carry out a set of experiments to evaluate the effectiveness of client/server versus mobile agent strategies. Mobility strategies of application under evaluation concern a possible e-commerce system. However, the aim of the works mentioned above is quite different from our. They compare the performance of the mobile agent paradigm with client/server architectures, in other words they change the way application components (i.e. the client and the server) communicate with each other, from data-based messages to messages that contains both data and code (the agent). On the contrary, we did not change the model of communication of our application, that is still client/server also in the mobile case, since we were more interested in evaluating the possible benefits achievable through topological reconfiguration (where reconfiguration is obtained by means of mobility). From this perspective, our goal is more similar to the one described in [15], where the authors present some network-aware mobile programs, i.e. programs that use mobility to adapt to variations in network characteristics. They show how adaptalk, a Java-based mobile Internet chat application can exploit the capability of dynamically place the chat server in order to minimize the response time. The application may respond, through migration, to three types of variations: i) population variations, when a user join or leave the application, changing the distribution of users; ii) spatial variations, as different links may be subject to a statically different quality of connectivity (e.g., high speed links vs dial-up connections); iii) temporal variations, as the quality of a link changes over a period of time because of users’ habits, congestion, etc. The authors conclude that a network-aware placement of components of a distributed application can provide a significant performance gain over a network-oblivious placement. They also highlight that short-lived applications are mainly influenced by spatial and population variations, while long-lived application can successfully adapt to temporal variations too. We applied some of these ideas in a radically different environment, the MANET, where communication is costly and characterized by frequent and wide variations in terms of quality, due to the movement of nodes. In addition, none of the above works consider the physical position of nodes as a first-class factor in the design of mobility strategies.
5 Conclusions This paper shows how a distributed application can use logical mobility to adapt to the physical movement of nodes in a wireless network. Also, it makes evident that performance greatly depends on runtime conditions and application characteristics. Results have shown that the size of the server can be a critical factor as it influences the time
needed for migrations (and the success rate of migrations if they are aborted after a given time). This performance study confirms that the barycentric server model is an effective migration strategy, able to provide significant performance gains in both application-level and network-level metrics. With a small size server, as far as delay is concerned, the mobile application performs better than the static one in both the light and heavy traffic scenario (average improvement of about 30%). In some cases, the adoption of logical mobility makes the application able to deliver much more messages (+48% with high traffic). In other cases, the static application performs slightly better because of the server unavailability during migrations. Finally, also the number of messages forwarded by the routing layer can be reduced of about 30-40%, depending on the traffic load. For these reasons we are convinced that there is a good number of real applications which could take advantage of logical mobility. Therefore, a direction that we plan to explore in the future is the evaluation of the proposed model on real systems.
Acknowledgments This work was carried out under the financial support of the Italian Ministry for Education and Scientific Research (MIUR) in the framework of the Project FIRB-VICOM.
References [1] Marco Avvenuti, Davide Pedroni, and Alessio Vecchio. Core Services in a Middleware for Mobile Adhoc Networks. In Proceedings of the 9th International Workshop on Future Trends of Distributed Computing Systems (FTDCS 2003), San Juan, Puerto Rico, May 2003. IEEE Press. [2] T. Camp, J. Boleng, and V. Davies. A Survey of Mobility Models for Ad Hoc Network Research. Wireless Communications and Mobile Computing (WCMC): Special issue on Mobile Ad Hoc Networking: Research, Trends and Applications, 2(5):483–502, 2002. [3] D. Chess, B. Grosof, C. Harrison, D. Levine, C. Paris, and D. Tsudik. Itinerant agents for mobile computing. IEEE Personal Communications, October 1995. [4] B.P. Croe, I. Widjaja, J.G. Kim, and P.T. Sakai. IEEE 802.11 Wireless Local Area Network. IEEE Comunications Magazine, pages 116–126, september 1997. [5] Alfonso Fuggetta, Gian Pietro Picco, and Giovanni Vigna. Understanding Code Mobility. IEEE Transactions on Software Engineering, 24(5):342–361, May 1998. [6] Robert S. Gray, David Kotz, Saurab Nog, Daniela Rus, and George Cybenko. Mobile agents for mobile computing. In Proceedings of the 2nd Aizu Int.
Symp. on Parallel Algorithms/Architectures Synthesis, Fukushima, Japan, 1997. [7] Colin G. Harrison, David M. Chess, and Aaron Kershenbaum. Mobile agents: Are they a good idea? Technical report, T. J. Watson Research center, IBM Research Division, March 1995. [8] L. Ismail and D. Hagimont. A performance evaluation of the mobile agent paradigm. 1999. [9] Rahul Jha and Sridhar Iyer. Performance evaluation of mobile agents for e-commerce applications. In Proceedings of International Conference on High Performance Computing, Hyderabad, India, December 2001. [10] Young-Bae Ko and Nitin H. Vaidya. Location-aided routing (lar) in mobile ad hoc networks. Wireless Networks, 6(4):307–321, 2000. [11] David Kotz, Robert Gray, and Daniela Rus. Future directions for mobile agent research. IEEE Distributed Systems Online, 3(8), August 2002. http://dsonline.computer.org. [12] Scalable Networks. The QualNet Simulator, 2003. http://www.scalable-networks.com. [13] Stavros Papastavrou, George Samaras, and Evaggelia Pitoura. Mobile Agents for World Wide Web Distributed Database Access. IEEE Transactions on Knowledge and Data Engineering, SeptemberOctober 2000. [14] Rhoit Kapoor Per Johansson, Manthos Kazantidis. Bluetooth: An Enabler for Personal Area Networking. IEEE Network, pages 28–37, September, October 2001. [15] Mudumbai Ranganathan, Anurag Acharya, Shamik Sharma, and Joel Saltz. Network-aware Mobile Programs. In Proceedings of the USENIX 1997 Annual Technical Conference, Anaheim, CA, 1997.