A Generic Software Partitioning Algorithm for Pervasive Computing
The ever-changing context and resource limitation of mobile devices and wireless network are two challenges in the development of pervasive computing application. In this paper, we present a generic optimal partitioning algorithm of mobile applications which tries to overcome the two obstacles. The algorithm can reallocate the components of an application among machines for saving resources according to the environment variations. For each resource, we construct a corresponding cost graph, involving computation cost, communication cost and migration cost, in the foundation of the software architecture. Based on the network flow theory, we transform the cost graph into an equivalent flow network that can be optimally cut by well-known Max-flow Min-cut algorithm. As a generic algorithm, the proposed algorithm can be applied to save network bandwidth, time or energy. In addition, it can elegantly allocate the software components among the two machines so as to balance multiple resource consumptions. The simulation results demonstrate the validity and effectiveness of the proposed algorithm.
KeywordsSoftware partitioning Algorithm Pervasive computing
Unable to display preview. Download preview PDF.
- 2.Picco, G.P.: Understanding code mobility. In: Proceedings - International Conference on Software Engineering, Limerick, Ireland, p. 834 (2000)Google Scholar
- 4.Zhiyuan, L., Cheng, W., Rong, X.: Task Allocation for Distributed Multimedia Processing on Wirelessly Networked Handheld Devices. In: Proc. of 16th International Symposium on Parallel and Distributed Processing (2002)Google Scholar
- 7.Feng, X., Ge, R., Cameron, K.W.: Power and energy profiling of scientific applications on distributed systems. In: Proceedings - 19th IEEE International Parallel and Distributed Processing Symposium, Denver, CO, United States, p. 34 (2005)Google Scholar
- 8.Stone, H.S.: Multiprocessor scheduling with the aid of network flow algorithms. IEEE Transaction of Software Engineering SE-3(1), 93–95 (1977)Google Scholar
- 9.Rudenko, A., Reiher, P., Popek, G.J., Kuenning, G.H.: Remote processing framework for portable computer power saving. In: Proc. of the ACM Symposium on Applied Computing, San Antonio, TX, USA, pp. 365–372 (1999)Google Scholar
- 10.Zhiyuan, L., Cheng, W., Rong, X.: Computation offloading to save energy on handheld devices: a partition scheme. In: Proc. of international Conf. on Compilers, architecture, and synthesis for embedded systems, Atlanta, Georgia, USA, pp. 238–246 (2001)Google Scholar