An Adaptive MP3 Player: Reducing Power Consumption and Increasing Application Performance
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 An Adaptive MP3 Player: Reducing Power Consumption and Increasing Application Performance Thomas Kunz and Salim Omar Systems and Computer Engineering Carleton University Ottawa, Canada K1S 5B6 tkunz@sce.carleton.ca Abstract One group of approaches concentrates on mobile applications that adapt to the scarce and varying wireless Cellular and wireless communication, portable link bandwidth by filtering and compressing the data computers, and satellite services promise to make it stream between a client application on a portable device possible for mobile users to have access to information and a server executing on a stationary host [1-6]. Data anywhere and anytime. However, mobile computing is compression in a client-server application is done at one characterized by many constraints. Any feasible approach of two places. One approach [2,5] enhances the server to to mobile computing must strike a balance between generate a data stream that is suited for the currently competing issues. This balance cannot be static as the available bandwidth. Other proposals [1,4,6] extend the environment of mobile computing changes; it must react, client-server structure to a client-proxy-server structure, or in other words, the clients must be adaptive. where a proxy executes in the wireless access network, We propose an approach for adaptive mobile close to the mobile unit. This proxy filters and compresses applications based on mobile code and report on our the data stream originating from the server to suit the experience in the context of one resource-intense current wireless bandwidth. This filtering and application, an MP3 player. The results show that both compression is transparent to the application-layer increased application performance and reductions in protocol (such as HTTP), but not to the underlying power consumption are possible under certain conditions transport protocol (such as TCP). In fact, almost all by shipping the resource-intensive decoding to the less systems follow a "split-TCP" approach, where data is constraint access network. downloaded completely to the proxy, transcoded there, and then forwarded to a mobile host. A second set of approaches provides general solutions 1. Introduction that do not change the TCP semantics [7, 8]. However, they usually focus on improving TCP throughput, i.e., Mobile computing is characterized by many they treat IP packets as opaque. While this addresses constraints: small, slow, battery-powered portable devices, issues such as high link error rates and spurious variable and low-bandwidth communication links. These disconnections, it does not address the low bandwidth constraints are not artifacts of current technology, but are offered by most wireless technologies. intrinsic to mobility. Together, they complicate the design We propose a third, complementary approach, of mobile information systems and require rethinking focusing not on the data stream but on the computational traditional approaches to information access and effort required at the client side. Mobile applications, application design. Mobility intensifies the tension especially ones that do intensive computation and between autonomy and interdependency that is communication (such as next-generation multi-medial characteristic of all distributed systems. Finding PCS and UMTS applications), can be divided approaches to reduce power consumption and to improve dynamically between the wired network and the mobile application performance is a vital and interesting problem device according to the mobile environment and to the to be investigated. Many approaches have been developed availability of the resources on the mobile device, the to address this problem. They range from hardware to wireless link, and the wired network. The access network software level approaches. supports the mobile application by providing proxy Designing applications that adapt to the challenges servers that can execute parts of the application code. posed by the wireless environment is a hot research area. 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 1 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 With this approach, more windows of adaptability to memory capacity and computational power than laptops, the mobile environment are possible. In addition, it allows that have more computation power, memory, more the applications to have dynamic access to faster storage capacity; however; their battery lifetime is shorter machines through faster servers. This will increase the if we consider typical use of these devices. Designing, performance of applications and reduce the power implementing and deploying applications that work well consumption on mobile devices since offloading across all these devices has to address and overcome a computation to the proxies in the wired network will number of obstacles. The major challenges can be reduce the CPU cycles and memory needed to achieve categorized as follows: certain tasks at mobile devices. • Mobility Management and Scalability. In our work, a mobile application is developed by • Wireless Communication. composing objects containing functionalities. We call the • Portability. composition of objects the object graph. A mobile Mobile users establish a connection from potentially application can have two object graphs. One resides at the many different locations. Wireless connection enables mobile device, and the other resides at the proxy server. virtual unrestricted mobility and connectivity from any These graphs change according to the mobile location within the area of radio coverage. Mobility is a environment and the resources of both devices, similar to new important component in system design. It affects to a [5,9]. The basic idea here is that the object graph will be certain extent the network level data management as well reconfigured as needed to adapt to the current execution as the application level. Mobility of clients results in environment, either at startup or whenever there is a constantly changing topology of the system, calling for change in the environment. mobility of resources. Location management deals with This paper demonstrates the feasibility of this idea by mobile clients while configuration management refers to reporting on our experience with a resource-intensive mobility of resources. In a mobile environment, the mobile application: an MP3 player. Our implementation location of the user can be considered as a variable whose uses the concept of mobile code to potentially ship the value changes with every move from one location to computationally intensive decoding phase from a another. Hence, location becomes a frequently changing resource-constrained portable device to faster machines in piece of information. While an important problem, the the fixed infrastructure. The results show that both research reported in this paper does not directly address increased application performance and reductions in this issue. Some of the issues due to mobility in the power consumption are possible under certain conditions context of our work are discussed in [10]. by shipping the resource-intensive decoding to the less Mobile computers require wireless network access, constraint access network. although sometimes they may physically attach to the The paper is organized as follows. The next section network for a better or a cheaper connection when they reviews the challenges in mobile computing and Section 3 remain stationary. Wireless communications is much highlights the most frequently employed strategies to deal more difficult to achieve than wired one because the with these limitations. Section 4 outlines the architecture surrounding environment interacts with the signal, of our MP3 player. Section 5 describes a toolkit we blocking signal paths and introducing noise and echoes developed to support application adaptivity, based on Java. [11]. Wireless connections are of lower quality than wired The performance improvements and power reductions ones because of these reasons. Lower bandwidths, higher achievable under certain environment conditions are the error rates, and more frequent spurious disconnection are topic of Section 6, our findings are summarized and future factors that reduce the quality of wireless work highlighted in Section 7. communications. These factors can in turn increase communication latency due to retransmission, 2. Mobile Computing Challenges retransmission timeout delays, error control protocol processing, and short disconnection. Wireless connection The rapidly expanding technology of cellular can be lost or degraded also by mobility. Users may step communication and wireless communication, portable out of the coverage of network transceivers or enter areas computers, and satellite services promises to make it of high interference. Unlike the typical wired networks, possible for mobile users to have access to information the number of devices in a cell varies dynamically, and a anywhere and anytime. Users on a daily basis are using large concentration of mobile users may overload network portable devices frequently. These types of devices can be capacity as well. classified primarily by their size, computational power, Mobile application designs need to be more concerned memory capacity, and power and battery lifetime. For about the bandwidth consumption and constraints than the example, Personal Digital Assistant devices (PDAs) are fixed computers. Wireless communications deliver lower small portable computers run on AA batteries. They may bandwidth than wired networks. Wireless links often be without disk and have more constraints in terms of deliver bandwidths of 10s of kbps, compared to the 10s to 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 2 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 100s of Mbps of typical wired media. Mobile computing The relative resource shortage of mobile elements as designs also strive to cope with a much greater variation well as their lower trust and robustness argue for reliance in network bandwidth than the tradition one. Bandwidth on static servers. The need to cope with unreliable and can shift one to six orders of magnitude between being low-performance networks, as well as the need to be plugged in versus using wireless access. Fluctuating sensitive to power consumption argues for self-reliance. traffic load seldom causes this much variation in available Any feasible approach to mobile computing must strike a bandwidth in fixed networks. balance between these competing issues. This balance An application can approach this change in bandwidth cannot be static as the environment of mobile computing in one of the following ways. changes; it must react, or in other words, the clients must 1. It assumes high bandwidth connections and operates be adaptive. only while plugged in. 2. It assumes low bandwidth connections and does not 3. Related Work take advantage of existing higher bandwidth. 3. It adapts to currently available resources, providing Application adaptation is a very active research area. the user with a variable level of quality of service. There are basically two approaches to adaptation: In our work, we aim to allow applications to exploit application-aware, exemplified by Odyssey; and high bandwidth when available while reacting application-transparent, as in the Coda File System. appropriately (and preferably transparent to the user) In Odyssey [13], a monitor is established to monitor when available bandwidths change drastically. resources such as CPU cycles; bandwidth and battery Finally, device portability brings with it its own set of power, and to interact with each application to best challenges. Desktop computer are not expected to be exploit these resources. For example, when high carried by their users. Their design can consequently bandwidth connectivity is lost due to a radio shadow, focus on maximum performance with few limitations with Odyssey detects the change and notifies the interested regard to space, power, and cabling and heat dissipation. applications. Video application, for example, may The design of portable devices, on the other hand, strives respond by skipping frames, displaying fewer frames per for properties such as size, weight, durability and long minute, while a Web page client will display degraded battery life. Any specialized hardware to offload from the versions of large images. This approach towards CPU tasks such as data compression or encryption should adaptation is characterized as application-aware justify its consumption of power and in size and weight. adaptation. The essence of this model is a collaboration Batteries are the largest single source of weight in a effort between the system and the individual applications. portable computer. While reducing battery weight is The system monitors the resources levels, notifies important, too small a battery can undermine portability, applications of relevant changes, and enforces resource requiring the user to charge more frequently. Minimizing allocation decisions. Each application independently power consumption can improve portability by reducing decides how best to adapt when notified. battery weight and prolonging the life of a battery. Power Coda [14] is an application-transparent adaptive can be saved not only by design, but also by efficient use support system. Coda provides clients, particularly mobile of operations. Power management software can power ones, with highly available access to files. Coda presents down some individual hardware components when they a single, global namespace to clients organized in are in idle mode, for example, spinning down the internal volumes, which are sub-trees of the namespace. disk or turning off screen lighting. Applications can Applications running on Coda clients use the standard conserve power by reducing computation, communication UNIX file system interface. Desktop applications can and memory. Since cellular telephone transmission continue to run on mobile clients without modification. typically requires about ten times as much power as The client cache manager, Venus, is solely responsible for reception, trading for more receiving can also save power coping with the consequences of mobility. Coda deals [12]. with the best and worst possible network conditions, and In conclusion, mobile computing is characterized by it adapts to conditions between these end points. Coda the previous constraints and challenges. These constraints users can operate clients over Ethernet or other wired are not a product of current technology, but they are networks, 2 Mb/s radio links, and over modems as slow as related naturally to mobility. Together, they complicate 9600 baud. As network bandwidth decreases, the the design of mobile information systems and require importance of reordering or delaying network traffic to rethinking traditional approaches to information access preserve the illusion of strong connectivity increases. To and application design. Mobility intensifies the tension preserve the strongly connected illusion, Venus endeavors between autonomy and interdependency that is to satisfy most demand cache misses as soon as possible, characteristic of all distributed systems. and delays other traffic as necessary. These decisions are made at as high level in the system as possible. How to 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 3 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 reschedule network traffic is revisited as available Platform independence was the primary basis for network quality changes. Adaptive decisions are made in choosing Java as the base for Sumatra. In the design of three key areas; cache coherence, reintegration, and Sumatra, the Java language was not altered. All added demand cache fetches. functionality was provided by extending the Java class As these examples demonstrate, mobile applications library and by modifying the Java interpreter without need to be capable of responding to time-varying affecting the virtual machine interface. Policy decisions wireless-QoS and mobile-QoS conditions. Wireless concerning when, where and what to move are left to the transport and adaptation management systems should application. The high degree of application control allows therefore be capable of transporting and manipulating programmers to easily explore different policy content in response to changing mobile network quality of alternatives for resource monitoring and for adapting to service conditions. Mobile signaling should be capable of variations in resources. An execution engine is the establishing suitable network support for adaptive mobile abstraction of a location in a distributed environment. It services. Medium access controllers must be capable of corresponds to an interpreter executing on a host. Sumatra sharing the wireless link capacity among mobile devices allows object groups to be moved between execution supporting adaptive quality of service assurances when engines. When an object group is moved, all local possible. In the following sub-sections, we will explore references to objects in the group (stack references and the major tools and middleware that support adaptive references from other objects) are converted into proxy mobile applications. references, which record the new location of the object. The goal of Comma [15] was to create an architecture Some objects, such as I/O objects, are tightly bound to and an application programmer interface (API) for local resources and cannot be moved. References to such adaptive applications. The API provides a simple and objects are reset and must be reinitialized at the new site. powerful way for application developers to access the The class template for an object (and the associated information required to easily incorporate adaptive bytecode) can be downloaded into an execution engine on behavior into their application. It provides easy-to-use application request. methods to access this information, a wide variety of Sumatra provides a resource-monitoring interface, operators and ranges available to provide the application which can be used by applications to register monitoring the information it needs when it needs it, a small library to requests and to determine current values of specific link with to minimize the overhead placed on the client resources. When an application makes a monitoring and to minimize the amount of data that needs to be request, Sumatra forwards the request to the local transferred between the clients and the servers. resource monitor. If the monitor does not support the The Rover toolkit [5] offers applications a distributed- requested operation, an exception is delivered to the object system based on the client-server architecture. application. Clients are Rover applications that typically run on Mobiware [1] provides a set of open programmable mobile hosts, but could run on stationary hosts as well. CORBA interfaces and objects that abstract and represent Servers, which may be replicated, typically run on network devices and resources, providing a toolkit for stationary hosts and hold the long-term state of the programmable signaling, adaptation management and system. Communication between clients is limited to wireless transport services. Mobiware provides a peer-to-peer interactions within a mobile host (using the foundation for open programmable mobile networking local object cache for sharing) and mobile host-server that is suited toward managing the evolving service interactions; there is no support for remote peer-to-peer or demands of adaptive mobile applications and dealing with mobile host-mobile host interactions. The Rover toolkit the inherent complexity of delivering scalable audio, provides mobile communication support based on two video, and real-time services to mobile devices. ideas: re-locatable dynamic objects (RDOs) and queued Built on an adaptive quality of service API, Mobiware remote procedure call (QRPC). A re-locatable dynamic consists of a set of controllers that interact with transport, object is an object with a well-defined interface that can network and medium-access controller distributed objects be dynamically loaded into a client computer from a that maintain application-specific adaptive quality of server computer, or vice versa, to reduce client/server service needs. This API is specifically designed to communication requirements. Queued remote procedure quantitatively address the wireless-QoS and mobile-QoS call is a communication mechanism that permits needs of adaptive mobile applications. Mobile applications to continue to make non-blocking remote applications use this API at the transport layer specifying procedure calls even when a host is disconnected; a utility function that maps the range of observed quality requests and responses are exchanged upon network to bandwidth. The observed quality index refers to the reconnection. level of satisfaction perceived by an application at any Sumatra [16] is an extension of the Java programming moment. The adaptation policy captures the adaptive environment that supports adaptive mobile programs. nature of mobile applications in terms of a set of 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 4 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 adaptation policies. These policies allow the application for the specific task. In other words, we try first to use to control how it moves along its utility curve as resource available remote resources to achieve the same task; availability varies. otherwise, as last resort, we let the application do the In summary, the adaptation parameters focused on adaptation. most often are the network states and the mobile device computation power: bandwidth, the network latency, and 4. MP3 Player CPU cycles. In the reviewed adaptation approaches, it is up to the application to the decide how to react to changes We implemented an MP3 player in Java to to the environment. The reaction could be filtering data, demonstrate the feasibility of our general approach. This reducing the size of data, entirely changing the content of application requires a powerful CPU to decode the sound the data, or limiting the computation of specific tasks if due to the complexity of its encoder/decoder algorithm, necessary. This argues for exporting the network state as which makes it an ideal candidate to demonstrate the need well as available resources of the mobile device to the for fast static hosts, i.e. proxy servers, to support the mobile applications to be designed to be adaptive. relative resource-constrained mobile devices. On the other hand, the automation of adaptation to the CPU time and edge costs (cost of method calls and the resources was not explored. There are a lot of similarities data volume being transferred between nodes) have been between our work and the work in Sumatra. Both Sumatra deduced from the call graph that is provided by a toolkit and our work use extended Java Virtual Machines for called JProbe [17]. This toolkit is basically an portability and the ease of use of the language especially instrumented JVM that monitors application objects and for implementing object mobility toolkits. The main the method calls between objects. Tables 1 and 2 contain difference between our toolkit and the Sumatra toolkit is profiling information regarding nodes and edges in the that Sumatra entirely leaves the adaptation policy under object graph of the MP3 decoder. This profiling the control of applications. The applications are fully information was measured on a 350 MHz Pentium II PC. responsible for moving objects between the mobile device The central object in the implementation is and the proxy server or reducing the computation of tasks. LayerIII_Decoder, which controls the decode process. As In other words the reaction to changes in the environment can be deduced from Tables 1 and 2, computationally is left to the application. heavy objects (such as LayerIII_Decoder, Bit_Reserve, In our work, adaptation to the change in the resources SynthesisFilter, and temporaire) are not necessarily and environment is partially left to the toolkit. We try to invoking each other frequently or pass lots of data to each automate some adaptation policies transparently to other. On the other hand, some lightweight objects applications. For example, instead of reducing the interact frequently with such CPU-intensive objects. computation power for a specific task, first we try to Clustering computationally expensive objects for the move and execute the task remotely at powerful machines purpose of migrating them to a faster server therefore has to reduce the CPU cycle at the mobile device, which in to take the degree of interaction with other objects into turn may result in reducing the power consumption at the consideration. mobile device too. If this adaptation policy costs more, then we signal the application to reduce the computation Table 1: Selected objects: Size (in bytes) and average CPU time in milliseconds for decoding 1 MP3 frame Object Name Object Size Instances Code Size Calls/Frame Avg. CPU Time/Instance Table43 28 1 107344 620 0.00794 Bit_Reserve 16666 1 1430 3355 0.50058 SBI 223 6 2905 97 0.01926 gr_info_s 376 4 5195 7184 0.06222 temporaire2 376 2 1409 1687 0.00445 Temporaire 593 2 1819 52 0.22175 Header 765 1 9245 11 0.00267 III_side_info_t 959 1 2022 35 0.16715 Ibitstream 1972 1 5301 449 0.29177 huffcodetab 2526 35 45493 693 0.11331 SynthesisFilter 4414 2 18724 4824 0.44725 LayerIII_Decoder 25114 1 47146 160 1.07052 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 5 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 Table 2: Selected edge weights of the object graph Number of Avg. number of DataIN DataOut Total Calling Object Called Object calls/Frame calls/instance/frame /call /call /instance LayerIII_Decoder SBI 97 16.2 44 44 2231 LayerIII_Decoder gr_info_s 7192 1798 42 42 240932 LayerIII_Decoder temporaire2 429 214.5 50 46 31317 LayerIII_Decoder temporaire 48 24 42 42 3216 LayerIII_Decoder III_side_info_t 10 10 43 42 1350 LayerIII_Decoder Huffcodetab 692 19.8 52 48 2965.714 LayerIII_Decoder SynthesisFilter 144 72 42 40 9504 LayerIII_Decoder Bit_Reserve 587 587 43 43 79832 SynthesisFilter Obuffer 1 1 580 0 630 huffcodetab Bit_Reserve 2768 79.09 42 44 10755.6 LayerIII_Decoder Ibitstream 1 1 0 417 467 LayerIII_Decoder Table43 619 619 44 44 85422 javalayer LayerIII_Decoder 1 1 64 40 154 LayerIII_Decoder Header 14 14 40 44 1876 5. Mobile Code Toolkit • Dynamic object mobility. The toolkit has a set of APIs, which provide the The central concept of our framework is the proxy server required functionality for moving objects dynamically. host. A proxy server is an intermediate device that One instance of the toolkit executes on both the portable communicates with servers in the Internet using standard device and the proxy. There is not much difference Internet protocols. The mobile device and the proxy between the structure of the toolkit at the mobile side and server may communicate through protocols suitable for the proxy side, except that the object migration decision is wireless connections, such as I-TCP [18] or standard taken at the proxy side since the decision process TCP. A typical proxy server can be used for the consumes CPU cycles, which would consume power as following: well. The toolkit contains the following major modules: • A proxy server can work as a filter receiving data • Mobile/Proxy Device State and Information: from the Internet and compress received data monitors and delivers the state of the mobile or proxy according to the need of the mobile device. For device as events to the Object Server. Changes in the example, color video streams are converted from bandwidth or changes in the power status are gray color to back-and-white color, the quality of examples of the events that this unit exports. audio streams can be altered from stereo to mono, or • Code Storage: storage of the validated classes files the replay sampling frequency can be reduced to (bytecode) at the mobile device. At the request of the minimize the size of data over the wireless proxy device, the code will be transferred to the connection. proxy. • An application can use the resources of the proxy • Object References and Profiling (Object Graph): server to increase the performance and decrease the contains the representation of the application’s power consumption by executing selected objects on objects along with the profiling information about the proxy server. For example, offloading a heavy these objects. These information will be send to the computation objects such as decoders to a proxy proxy sever to be analyzed and the proxy server will server may reduce the CPU cycles on the mobile decide which object must be shipped to its side device, the focus of our work reported here. according to the mobile environment. In our approach, a mobile application is a composition • Object Server: main core of the toolkit. It runs a of objects encapsulating functionalities. We call the thread that listens continuously to all the commands composition of objects the object graph. A mobile from a remote object server. Commands can be application can have two object graphs. One resides at the related to moving objects or related to the remote mobile device, and the other resides at the proxy server. invocation of a method on a remote objects. These graphs change according to the mobile • Remote Method Invocation Protocol: marshal and un- environment and the resources of both devices. Our marshal a method’s parameters toolkit is based on Java, and provides the following • Dynamic Decision: analyzes the profiling information support: of application’s objects. It resides only at the proxy • Support for information delivery to the application. server. Having decided which objects need to be • Support to allow an application to react suitably. 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 6 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 executed at the proxy server, it will issue a command Kb/sec, so it does not become a bottleneck. The previous to the remote object server to download the objects. experiments were repeated with a Windows CE PDA and • Communication Control Layer: simulates wireless a laptop as client devices. The PDA runs on a RISC links in terms of the low bandwidth. We chunk the processor of 75 MHz and the laptop runs on a Pentium data streams being sent through the communication processor of 133 MHz. The proxy server runs on a 350 layer into pre-determined sizes based on the MHz Pentium II PC. The performance of Java empirical tests. We introduce a controllable amount applications depends primarily on the performance of the of delay between data chunks which allows us JVM. Both laptop and the proxy server run relatively high control the throughput dynamically at run time for performance JVMs. The JVM on the PDA, on the other testing purposes. hand, is very slow, so the relative CPU speed degrades As mentioned earlier, a mobile computing application considerably. We measured the relative CPU speed needs to be aware of resource availability and changes in between the PDA, laptop and the proxy and found it to be the mobile environment. Thus special abstractions must 1:116 and 1:4, respectively. Therefore, while varying be provided in order to deliver these changes to an bandwidth, the relative CPU speeds are fixed to 1:2 and application. We model all changes as events, which are 1:116 for a PDA as a client, and 1:4 for a laptop as client. delivered to objects. Interested objects in an application In the following section, Local Performance and must define an event handler through which the events, Remote Performance factors are based on decoding 38 such as change in the power state and link bandwidth, can MP3 coded audio frames, with the assumption that output be handled. Since Java does not support pointer notion, is mono, with sampling rate of 11025 Hz, and 16 bits per using Java Reflection classes and Interfaces facilitates sample. To predict the achievable performance by this. executing a set of objects, clustered by GGP, either Both the state and computation of an application may remotely or locally, a number of equations were derived, be partitioned between the mobile device and the proxy discussed in detail in [22]. We use these predictions to server. The degree of partitioning ranges from just explore whether any gains in performance and reductions executing the user graphic interface to executing the in power consumption can be achieved by offloading any entire application on the mobile device. We propose to of the clusters derived by our clustering algorithm to the use a Greedy Graph Partitioning (GGP) algorithm [19] to proxy server. The following tables list the best and worst identify closely coupled objects. The decision to move results for each scenario for different maximal cluster such a group of objects can be deferred to run-time, sizes (the maximal cluster size is 56, which groups all depending on environment factors such as relative CPU objects realizing the MP3 decoder into a single cluster). speeds and link bandwidth. These tables only provide a select few datapoints, demonstrating our major findings. In the following tables, 6. Results we use these acronyms: • BW (Bandwidth) We executed the MP3 player under various emulated • RCPUS (Relative CPU Speeds) is the relative CPU environment conditions and observed application speed between the mobile device and the proxy performance and power consumption on the mobile server. device. In these experiments, we did not change any of • CS (cluster/page size) is the input into the GGP, the relevant parameters after the application started. limiting the maximum number of objects in a cluster. Based on the observed environment, our runtime system Due to the structure of our application, with many instantiates some objects on the proxy server, others are objects interacting with the central Layer III decoder created on the mobile device. We studied in particular the object, the GGP algorithm effectively created one following three parameters: cluster with maximum size for all values of CS, • Available Bandwidth. leaving other objects in a cluster of their own. • Relative CPU speeds (Mobile CPU: Proxy CPU). • PS (Partition Size) is the number of objects in a • Cluster size or page size of the simple GGP. specific cluster/partition. To observer the importance of the first parameter, the • RTIP (Response Time Improvement Percentage) is bandwidth available, we choose certain low and high the relative improvement in response time if a bandwidths. We choose 19.2 Kb/sec to represent CDPD specific partition was executed remotely, compared [20], a typical wide-area cellular data service. For high to a complete local execution on the mobile device. bandwidths we choose 1000 Kb/sec to represent the • PCIP (Power Consumption Improvement bandwidth that can be obtained from Wireless Ethernet Percentage) is the percentage of the power cards such as WaveLan [21]. consumption reduction in the mobile device. To observe the importance of the second parameter, • LPerf (Local Performance) and RPerf (Remote the relative CPU speeds, we fixed the bandwidth to 1000 Performance) are player performance index value 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 7 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 when decoding either locally or remotely. To play an Table 7: Response Time and Power Consumption MP3 file without any buffering, a value of 100 would for a Laptop, BW = 19.2kb/s, RCPUS = 4. be required. The MAX and MIN rows in each table describe the best CS PS RTIP PCIP LPerf RPerf and worst performance for each possible cluster size. For 1 MIN 1 -242935 -250704 11.73 0.01 example, for a cluster size of 1, each object is individually MAX 1 -255 -263 11.73 3.30 migrated to the proxy, the application performance is MIN 20 -69255 -71469 11.73 0.02 20 measured, and the best and worst cases are reported here. MAX 1 -255.3 -263 11.73 3.30 30 MIN 30 -43884 -45288 11.73 0.03 Table 3: Response Time and Power Consumption MAX 1 -255 -263 11.73 3.30 for a PDA, BW = 19.2kb/s, RCPUS = 2. 56 MAX 56 -732 -755 11.73 1.41 CS PS RTIP PCIP LPerf RPerf 1 MIN 1 -51598 -63769 2.49 0.00005 Table 8: Response Time and Power Consumption MAX 1 -53.35 -65.34 2.49 1.63 for a Laptop, BW = 1000kb/s, RCPUS = 4. 20 MIN 20 -14695 -18151 2.49 0.02 MAX 1 -53.35 -65.34 2.49 1.63 CS PS RTIP PCIP LPerf RPerf 30 MIN 30 -9300 -11479 2.49 0.03 1 MIN 1 -31278.9 -39487.92 78.71 0.25 MAX 1 -53.35 -65.34 2.49 1.63 MAX 1 -31.40 -39.61 78.71 59.90 56 MAX 56 -116.80 -117.54 2.49 1.15 20 MIN 20 -8892.4 -11225.47 78.71 0.88 Table 4: Response Time and Power Consumption MAX 1 -31.41 -39.61 78.71 59.90 for a PDA, BW = 19.2kb/s, RCPUS = 116. 30 MIN 30 -5614.90 -7087.49 78.71 1.38 MAX 1 -31.41 -39.61 78.71 59.90 CS PS RTIP PCIP LPerf RPerf 56 MAX 56 -28.93 -34.73 78.71 61.05 1 MIN 1 -51592 -63769 2.49 0.01 MAX 1 -52.45 -65.34 2.49 1.63 20 MIN 20 -14678 -18151 2.49 0.02 These results demonstrate that available bandwidth is MAX 1 -52.45 -65.34 2.49 1.63 an important factor. Tables 3 and 4 show that if the 30 MIN 30 -9277 -11479 2.49 0.03 bandwidth is the bottleneck in the system, neither MAX 1 -52.45 -65.34 2.49 1.63 reduction in power consumption nor increases in MP3 56 MAX 56 -76.72 -117.54 2.49 1.41 player performance can happen, no matter what the relative CPU speed is. However, if the bandwidth is not Table 5: Response Time and Power Consumption the bottleneck, then the relative CPU speed becomes a for a PDA, BW = 1000kb/s, RCPUS = 2. decisive factor in increasing the performance and decreasing the power consumption at the mobile device. CS PS RTIP PCIP LPerf RPerf Tables 5 and 6 show that it is possible to save power and 1 MIN 1 -1202 -1563 3.04 0.23 increase performance of the MP3 player if the entire MAX 1 -0.15 0.58 3.04 3.04 decoder will be executed remotely (cluster size 56) and 20 MIN 20 -324 -408 3.04 0.72 the PDA only works as sound player. MAX 1 -0.15 0.58 3.04 3.04 The decrease in the power consumption happens when 30 MIN 30 -190 -228 3.04 1.05 the available bandwidth is high. This is because the lower MAX 1 -0.15 0.58 3.04 3.04 the bandwidth, the longer it takes to transmit data, which 56 MAX 56 46.09 94.62 3.04 5.64 in turn, cause more power consumption. Table 5 and Table 6 show that with high bandwidths, regardless of the Table 6: Response Time and Power Consumption relative CPU speed, there is a considerable gain in power for a PDA, BW = 1000kb/s, RCPUS = 116. consumption. The computation power of the mobile device is an CS PS RTIP PCIP LPerf RPerf important factor as well. Tables 7 and 8 show that local 1 MIN 1 -1195 -1563 3.04 0.23 efficiency of the player is always higher than remote MAX 1 0.95 0.58 3.04 3.07 efficiency even though the available bandwidth in Table 8 20 MIN 20 -304 -408 3.04 0.75 is sufficient to handle the decoded sound and the MAX 1 0.95 0.58 3.04 3.07 computational power is quit high at the proxy server. This 30 MIN 30 -162 -228 3.04 1.16 argues for the use of many powerful proxies to support a MAX 1 0.95 0.58 3.04 3.07 huge user population, rather than one centralized proxy 56 MAX 56 95.02 94.62 3.04 61.05 server [23]. 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 8 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 These results also show that it is not always beneficial host according to the mobile device and fixed host’s to start shipping code to gain performance and/or decrease available resources and wireless network state. To support power consumption. The benefits depend on the graph our approach, we designed and developed a mobile object topology, the data traffic volume between objects, but toolkit, based on Java. With this toolkit we combine also the characteristics of the portable device. Tables 5 JVMs on both the proxy server and the mobile device as and 6 show that there is a considerable decrease in power one virtual machine from the application point of view to consumption as well as an increase in the performance of dynamically split applications object between JVMs. the MP3 player when executing on a Windows CE PDA; Through prediction models based on the available however, Tables 7 and 8 show that it is not worth bandwidth and the relative CPU speeds to estimate power shipping the MP3 decoder remotely for a laptop. consumption costs and performance costs metrics, we Tables 3 to 8 are based upon empirically derived determine which of the clusters should be moved to equations and our own mobile code toolket. To verify our improve one or both of the metrics. The results showed results for other toolkits, we implemented a version of our that it is possible to simultaneously improve both metrics MP3 player in Voyager [24], offloading the decoder by dynamically shipping the entire MP3 decoder to the objects from a laptop to the proxy server (Objectspace proxy server in the case of a slow portable device. does not provide a Voyager server for Windows CE Although Java as is our primary developing language PDAs). We measured the efficiency of the player, and for applications as well as for implementing our toolkit, compared the results with the estimated values in Table 8. Java Virtual Machines are in early stages of development, The player decodes 38 frames (approximately one second particularly those for the WindowsCE platform. They to play) and converts the stereo output to mono of need to be extended to export the mobile computing sampling rate 11025 Hz with 16 bits per sample. Table 9 environment variables, such as available bandwidth, shows the chosen clusters and the partition numbers, the battery lifetime and power available at the mobile host as local efficiency, and the remote efficiency when certain well as performance parameters such as CPU utilization. clusters of objects are moved remotely to the proxy server These extensions require the use of native interfaces, (using a bandwidth of 1 Mbps). which if not standardized, will prevent the mobile adaptive application from being portable. Table 9: Our toolkit vs. Voyager A number of issues need to be addressed in future work, some of which is currently under way. We are Cluster working on improving the mobile object toolkit to help LPerf RPerf size facilitate the implementation of the adaptive mobile Our Our application for PDAs in particular. The main Voyager Voyager improvement to our toolkit addresses the implementation Toolkit Toolkit 1 76.24 78.71 61.89 59.90 of the RMI protocol, which is based on serialized object 30 76.24 78.71 2.35 1.37 commands between the object servers on both Java 56 76.24 78.71 65.40 61.05 Virtual Machines. Another improvement deals with proxy objects. To support location-transparent invocation of The first and third scenario correspond to the best methods, each object is associated with one or more proxy possible configuration in Table 8 (the MAX row for objects. These proxy objects are always local to an cluster size 1 and the single entry for cluster size 56), the invoking object and either invoke the requested method second scenario represents the worst possible locally (if the associated object resides in the same JVM) configuration (the MIN row) for cluster size 30. The or marshal parameters and contact the remote object values in Table 9 are close to the values in Table 8. Thus, server to invoke the method remotely. Currently, we we believe that our findings are equally applicable to manually write these proxy objects; however, we plan to other mobile code toolkits, certainly as far as general develop tools to automate this process and integrate it trends are concerned. Detailed performance gains and with the toolkit. reductions in power consumptions will depend on the A second issue addresses the complete automation of efficiency of the specific toolkit, however. the dynamic application partitioning decision. Our results reported here indicate which parameters are important. 7. Conclusions and Future Work What we are currently lacking are ways to monitor live application executions to build object graphs with minimal overhead and an algorithm that takes the object Finding approaches to reduce power consumption and graph and information about the execution environment to to improve application performance is a vital and determine automatically which set of objects to migrate to interesting problem to be investigated. We suggested a a proxy server. Once we have such runtime support, we new approach in which an application’s objects will be can then also experiment with scenarios where the split dynamically between the mobile device and fixed 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 9 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
Proceedings of the 35th Hawaii International Conference on System Sciences - 2002 execution environment changes drastically while the and Networking, Budapest, Hungary, September 1997, pages application executes. Intuitively, we would expect the 77-8 runtime system to rebalance the application accordingly. 9. Hokimoto, Kurihara, and Nakajima. An approach for However, based on previous experience [23], we know constructing mobile applications using service proxies. Proceedings of the 16th International Conference on Distributed that shipping objects at runtime is not cheap. So we need Computing Systems, Hong Kong, May 1996, pages 726-733 to explore how to balance the resulting overhead with the 10. Jianwen Wang and Thomas Kunz. A proxy server anticipated performance gains and power reductions, in infrastructure for adaptive mobile applications. Proceedings of particular in execution environments that change rapidly. the Eighteenth IASTED International Conference on Applied Finally, while our results reported here show that there is Informatics, Innsbruck, Austria, February 2000, pages 561-567. no trade-off between power reduction and performance 11. J. Ioannisdis, D. Duchamp, and G. Magurier Jr. IP-based improvement, our previous work reported in [25] protocols for mobile internetworking. Proceedings of indicates that there may well be such trade-offs for other SIGCOMM’91 Symposium, Sept 1991, pages 253-245. 12. G. Forman and J. Zahorjan, The challenges of mobile applications. In these cases, we need to identify how to computing, IEEE Computer, April 1994. balance conflicting objectives. One possible solution 13. B. Noble, M. Satyanarayanan, D. Narayanan, J.E. Tilton, J. could be to allow the mobile user to select preferences Flinn, K. Walker. Agile application-aware adaptation for that prioritize objectives. mobility, Proceedings of the 16th ACM Symposium on Operating A final area of possible future work is the interaction System Principles, October 1997, St. Malo, France between application-aware and application-transparent 14. M. Satyanarayanan, Mobile information access adaptation. The MP3 player we implemented does not http://www.cs.cmu.edu/afs/cs.cmu.edu/project/coda//Web/docdi react to changes in bandwidth, for example by reducing r/ieeepcs95.pdf sampling size or audio quality. In our experiments, we 15. David Kidston, James P. Black, Thomas Kunz, Michael E. fixed the output playing rate and the sampling size. Nidd, Marcello Lioy, Brent Elphick, and Michal Ostrowski. Comma, A communication manager for mobile applications. Further study is required to show how application Proceedings of the 10th International Conference on Wireless adaptation policies affect and interact with the automated Communications, Calgary, Alberta, Canada, July 1998, pages adaptation by our toolkit. 103-116 16. L. Ranganathan, A. Acharya, S. Sharma and J.Saltz. References Network-aware mobile programs, Department of Computer 1. O. Angin, A.T. Campbell, M.E. Kounavis and R. Liao. The Science University of Maryland College Park, MD 20740 Mobiware toolkit: Programmable support for adaptive mobile 17. Java profiling toolkit: JProbe, http://services.klgroup.com networking. IEEE Personal Communications, 5(4):32-43, Aug. 18. A. Bakre, and B. Badrinath. I-TCP: Indirect TCP for 1998. mobile hosts, Proceedings of the 15th International Conference 2. J. Bolliger and T. Gross. A framework-based approach to on Distributed Computing Systems, Vancouver, Canada, May the development of network-aware applications. IEEE Trans. on 1995, pages 136-143. Software Eng., 24(5):376-390, May 1998. 19. C. Walshaw, M. Cross, and M. Everett. Parallel dynamic 3. N. Davies, A. Friday, S.P. Wade and G.S. Blair. L2imbo: A graph partitioning for adaptive unstructured meshes. Journal of distributed systems platform for mobile computing. Mobile Parallel and Distributed Computing, 47(2):102-108, 1997. Networks and Applications, 3(2):143-156, Aug. 1998. 20. CDPD Consortium, Cellular Digital Packet Data System 4. A. Fox, S.D. Gribble, Y. Chawathe and E. Breuer. Specification, Release 1.1, January 19, 1995 (CD-ROM) Adapting to network and client variation using infrastructure 21. Lucent Technologies. WaveLAN Wireless Computing, proxies: Lessons and perspectives. IEEE Personal http://www.wavelan.com/ Communications, 5(4):10-19, Aug. 1998. 22. Salim Omar. A mobile code toolkit for adaptive mobile 5. A.D. Joseph, A.F. deLaspinasse, J.A. Tauber, D.K. Gifford applications, April 2000, Thesis (M.C.S.), Carleton University, and M.F. Kaashoek. Rover: a toolkit for mobile information School of Computer Science access. ACM Operating Systems Review, 29(5):156-171, Dec. 23. W. Jianwen, A Proxy server infrastructure for adaptive 1995. mobile applications, September 1999, Thesis (M.C.S.), Carleton 6. B. Zenel and D. Duchamp. A general proxy filtering University, School of Computer Science mechanism applied to the mobile environment, Proceedings of 24. ObjectSpace. Voyager 2.0.0 User Guide, the Third Annual ACM/IEEE Conference on Mobile Computing http://www.objectspace.com/Voyager/ and Networking, Budapest, Hungary, September 1997, pages 25. Salim Omar and Thomas Kunz. Reducing power 248--259 consumption and increasing application performance for PDAs 7. H. Balakrishnan, S. Seshan, E. Amir, and R. H. Katz. through mobile code. Proceedings of the 1999 International Improving TCP/IP performance over wireless networks, Conference on Parallel and Distributed Processing Techniques Proceedings of the First Annual International Conference on and Applications, Vol. II, Las Vegas, Nevada, USA, June 1999, Mobile Computing and Communications, Berkeley, USA, pages 1005-1011. November 1995, pages 2-11 8. H. Balakrishnan, V. N. Padmanabhan, and R. H. Katz. The effects of asymmetry on TCP performance, Proceedings of the Third Annual ACM/IEEE Conference on Mobile Computing 0-7695-1435-9/02 $17.00 (c) 2002 IEEE 10 Proceedings of the 35th Annual Hawaii International Conference on System Sciences (HICSS-35’02) 0-7695-1435-9/02 $17.00 © 2002 IEEE
You can also read