+ All Categories
Home > Documents > A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub ›...

A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub ›...

Date post: 29-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
30
A Distributed Reconfigurable Middleware Framework for Energy Optimization in Low Power Mobile Devices Shivajit Mohapatra & Nalini Venkatasubramanian Donald Bren School of Information & Computer Science University of California, Irvine, CA 92697-3425 {mopy,nalini}@ics.uci.edu Abstract In distributed environments, generic middleware services(e.g. caching, location management etc.) are widely used to satisfy application needs in a cost-effective manner. Such middleware services consume system resources such as storage, computation and communication and can be sources of significant power overheads when executed on low-power devices. In this paper, we present and evaluate a methodology for optimizing the power consumption of low-power portable devices using a reflective and customizable middleware framework. Specifically, we determine when mid- dleware components can be dynamically migrated away from a low-power device while preserving their semantics, in order to maximize the remaining service time for the device. We design and evaluate a graph theoretic approach for dynamically determining middleware component reconfig- urations, and ascertaining the optimal frequency at which the dynamic restructuring should take place, for optimized energy gains at the device. We use extensive profiling to chart the energy usage patterns of middleware components and applications, and use the profiled data to drive our reconfiguration decisions. Our simulation results demonstrate that our framework is able to save 5% to 45% of energy depending on the nature and class of applications and middleware components used. Keywords power-aware middleware, power profiling, middleware based adaptation, partitioning 0 This work was partially supported by ONR MURI Grant N00014-02-1-0715 and NSF award ACI-0204028. A preliminary version of this paper has appeared in the proceedings of International Conference on Distributed Computing Systems (ICDCS), 2003. 1
Transcript
Page 1: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

A Distributed Reconfigurable Middleware Framework forEnergy Optimization in Low Power Mobile Devices

Shivajit Mohapatra & Nalini Venkatasubramanian

Donald Bren School of Information & Computer Science

University of California, Irvine, CA 92697-3425

{mopy,nalini}@ics.uci.edu

Abstract

In distributed environments, generic middleware services(e.g. caching, location management etc.)are widely used to satisfy application needs in a cost-effective manner. Such middleware servicesconsume system resources such as storage, computation and communication and can be sourcesof significant power overheads when executed on low-power devices. In this paper, we presentand evaluate a methodology for optimizing the power consumption of low-power portable devicesusing a reflective and customizable middleware framework. Specifically, we determine when mid-dleware components can be dynamically migrated away from a low-power device while preservingtheir semantics, in order to maximize the remaining service time for the device. We design andevaluate a graph theoretic approach for dynamically determining middleware component reconfig-urations, and ascertaining the optimal frequency at which the dynamic restructuring should takeplace, for optimized energy gains at the device. We use extensive profiling to chart the energyusage patterns of middleware components and applications, and use the profiled data to driveour reconfiguration decisions. Our simulation results demonstrate that our framework is able tosave 5% to 45% of energy depending on the nature and class of applications and middlewarecomponents used.

Keywords

power-aware middleware, power profiling, middleware based adaptation, partitioning

0This work was partially supported by ONR MURI Grant N00014-02-1-0715 and NSF award ACI-0204028. Apreliminary version of this paper has appeared in the proceedings of International Conference on Distributed ComputingSystems (ICDCS), 2003.

1

Page 2: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

1 Motivation

The next generation of the internet and intra-nets will see a wide variety of small low power de-

vices operating on board with high-end systems. With progressive improvements in technology and

wide-ranging user demands, these devices are now being exploited to perform diverse tasks in an

increasingly distributed fashion. All such devices have wireless communication capabilities enabling

them to operate in distributed environments. Due to their modest sizes and weights, these systems

have limited resources - lower processing power, memory, I/O capabilities, storage and battery life as

compared to desktop systems. Even though recent advances in technology are significantly improving

the computing and storage capabilities for portable devices, battery lifetimes of these devices are fi-

nite. Therefore, power management is a critical issue for these systems and tackling power dissipation

and improving service times for these systems have become crucial research challenges.

Distributed middleware systems due to their scalability, flexibility and intrinsic support for het-

erogenous environments have become a dominant methodology for supporting distributed applications.

Such applications require a multiplicity of services in order to accomplish their tasks. A distributed

middleware framework can provide important additional services like reliable messaging, distributed

snapshots, clock sync services, location management services, cpu scheduling, persistent data man-

agement services, system security(encryption/decryption), directory management among others, the

complex details of which remain hidden from applications. Furthermore, within a reconfigurable mid-

dleware framework, one or more of these middleware services can be independently started, stopped

or migrated to a remote machine by a meta-level entity. Such reconfigurable middleware services can

be considered as important candidates for energy optimization in low-power devices. Depending on

the workload and the residual battery energy of a device, a service can either be executed locally on

the device or migrated to a nearby “proxy” server. For example, a cache management service can

be offloaded to a nearby proxy saving on both power and storage, while still providing appreciable

performance benefits of caching.

While diverse efforts have been made to improve power management in mobile devices using hard-

ware and software techniques, middleware based optimizations for power have received little interest.

At the hardware levels, dynamic voltage scaling(DVS) [25, 15] and dynamic power management of

disks, network cards etc. [6, 4] have been widely investigated. Current middleware technology relies

2

Page 3: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

mostly on application driven adaptation, providing notifications when system state changes. Rudenko

et.al. [20] performed a series of experiments to demonstrate the effectiveness of remote executions.

Othman and Hailes [18] performed simulations to show that battery life can be significantly extended

using process migration. In [7], Efstratiou discusses some drawbacks of present adaptive middleware

systems. Adaptation entirely at the application level can lead to conflicts in applications implement-

ing different adaptation strategies. [24] discusses some current reflective middleware techniques for

component based middleware adaptations. [14, 13] describe a static task allocation scheme that splits

connected tasks between a mobile device and a server for optimizing the energy consumption of mobile

device. Odyssey [17]) combines middleware notification and control with application adaptation to

achieve performance improvements.

In this paper, we present an adaptive, power aware reconfigurable middleware framework( parm ),

that dynamically redistributes middleware components between a low-power device and a proxy, based

on device workload conditions and the residual battery energy of the device. As the residual energy

on the device diminishes, the parm middleware dynamically reconfigures the component distribution

on the low-power device to improve the time of service of the device. We develop a graph theoretic

solution for determining the optimal middleware component reconfigurations and empirically iden-

tify, when and how often, reconfigurations should occur for optimal energy gains. The reconfiguration

decisions are driven by comprehensive profiling of the energy usage patterns of various applications

and middleware components. We extensively simulate the performance of our approach using three

different classes of applications, that form a representative workload for all low-power devices.

The rest of the paper is organized as follows: section 2 presents the overall system architecture

and introduces the parm framework, section 3 characterizes the parm component reconfiguration

problem as a source parametric flow network and presents an optimal polynomial time solution to

the component reconfiguration problem. In section 4, we present the performance evaluation and

the prototype implementation of the parm framework. We conclude by presenting related work and

future research directions in section 5.

3

Page 4: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Wired Network

Wired Network

proxy

proxy

Server

Server

Wireless base station

directoryservice

Broker

PDA

poweroptimization

handheld

Fig. 1: System Architecture

Object CreationCorrelation

Agent

Messaging

Comm.

EncryptDecrypt

ClockSync

Caching Mn

Applications

Object CreationCorrelation

Agent

Messaging

Comm.

EncryptDecrypt

ClockSync

Caching Mn

Applications

CLIENT PROXY

RUNTIME RUNTIME

EnrichmentMiddlewarecomponents

Fig. 2: The Parm Framework

2 System Architecture

A typical distributed system architecture using low power devices is envisioned in Fig. 1. The model

environment consists of several distributed servers(service providers), proxy servers, meta-data repos-

itories (e.g. directory service) and mobile clients. The servers are high-end machines on the network

that provide a variety of services (e.g. streaming video, web services). A set of proxy servers are

available on the network and are used to perform an assortment of tasks. For example, a server can

replicate data onto a proxy for load balancing and a client can offload expensive tasks onto a proxy in

order to conserve local resources. End clients are mobile devices that communicate with other entities

via an access point (e.g base station) in their geographical proximity. The mobile clients route their

requests to the servers through a proxy server associated with its base station. The mobile device may

disassociate and reconnect to another (possibly nearer) proxy for better network connectivity. In this

case, a proper handoff of state information might be necessary between the proxies. The directory

service stores the overall system state information and forms an important focal point for storing and

retrieving data efficiently. The architecture is further bolstered by the presence distributed servers

called “power brokers” which have a more global view of the distributed system. The decision logic for

the local and remote execution can be incorporated at either the proxy servers or the brokers. In our

architecture the power brokers make intelligent decisions and adaptations based on either the global

system energy state or individual device power states. In a large scale distributed environment, there

4

Page 5: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

would be many such brokers distributed over the network. In parm , the power broker determines

the set of middleware components that can be offloaded from a device onto a proxy, to optimize the

energy consumption at the device. We define policies which dictate the instants(when), as well as the

frequency(how often) at which the broker reconfigures the devices. Based on the current system state,

information from the device/proxy and one or more parm policies, the broker runs an algorithm to

determine a new configuration (if any) for reassignment of middleware components between the device

and proxy. The devices update their current state information (e.g. running applications/middleware

components, residual power, mobility information etc.) periodically to the power broker. An opti-

mal algorithm at the broker, would ensure the most beneficial configuration of components at the

device and hence maximal energy savings. For the rest of the paper, we refer to any battery operated

computer as a device and use the terms “components” and “services” interchangeably to represent

middleware services.

The PARM Framework: Fig. 2 gives a succinct depiction of the parm middleware framework

driving the applications on any computer in the system. parm applications are developed using a set

of programming interfaces exported by the middleware. Each application can either be stand alone

or could be a collection of separate tasks that collectively constitute the application. The distributed

middleware framework comprises of a core runtime that is a part of every system within the envi-

ronment. As shown in the figure, the core runtime services include the skeletal constructs for object

creation, simple message passing and a communication framework for message routing. Any appli-

cation can be developed by using these simple components. A “correlation agent” is included with

the core runtime and performs various adaptations and housekeeping activities, while coordinating

the various middleware components. For example, the correlation agent can be used for delivering

messages to the appropriate applications in the correct order. Additionally, a set of “enrichment”

middleware components are provided to impart a fuller abstraction level that enable applications to

achieve more complex tasks through a simple interface. The middleware framework carries the burden

of seamlessly adapting to the changing environment and providing an acceptable QoS to the applica-

tion. For example, the core middleware runtime does not include a real-time scheduling service. A soft

real-time application (e.g video streaming) requiring a certain level of QoS may not be able to meet its

resource/timing demands using the skeletal services. On the other hand, a video application linked to

the soft real time scheduler provided by the framework, would be guaranteed certain resources on the

5

Page 6: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

machine by the scheduler component and would be able to meet its deadlines. In the process, certain

extra amount of work is done by the middleware and this might tally to a considerable cost in terms

of energy consumed at the devices. Similarly, the other enrichment components carry out complex

activities that would incur some energy cost on low power devices. We target these components as

possible candidates for energy optimizations. It is important to realize that future (also some current)

portable devices will have enough computing and memory capabilities to execute and exploit various

distributed middleware services; in fact they have to, in order to be able to operate on board with

high-end systems.

By “reconfigurable middleware framework”, we refer to a middleware model in which the enrich-

ment components (not the runtime components) can be dynamically started and stopped/migrated

by some meta entity, without affecting the execution of the other components. Whenever it is not

feasible to migrate a service we can decide to either stop the service locally or degrade the service,

such that it does less work, albeit at a loss of performance but with power savings. Otherwise, we can

migrate the middleware component to a proxy (with sufficient resources) and simply use the results of

the remote execution locally. In the process, a communication overhead is incurred that includes the

cost of transferring state information and responses from the proxy. Offloading the individual services

should be transparent to the applications. In parm this is achieved by leaving a component stub on

the local machine as the component migrates to the proxy. The stub provides the transparency to

the application and handles all the communication with the now remotely executing component. The

light weight component stub is designed to have a very small computation overhead and it has an

existence outside of the component and can be considered to be a first class object. In [5], Chen

et.al. discuss how such migrations can be achieved in the context of Java based applications without

loosing application semantics. In the next section, we present the parm problem and subsequently

discuss a graph theoretic solution to the problem.

3 The PARM Problem

For portable devices, CPU computation, network communication and the LCD display account for the

highest energy costs. In case of the display (LCD), the main energy drain comes from the backlight,

which typically has a predefined user setting and therefore has a limited degree of controllability by

6

Page 7: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

the system and can be accounted for by a constant energy overhead. Therefore, an optimization of

the energy costs of the cpu and network interface would optimize the overall energy consumption of

the device. As discussed earlier, within the reconfigurable middleware framework, services can be

dynamically migrated to a remote proxy, which preserving the semantics of the middleware services.

In [5], Chen et.al. discuss how such offloading can be achieved with applications while preserving

their original semantics. A power efficient model could use this capability to its advantage by stopping

redundant components and offloading expensive components to a proxy, which has both the power

and the resources to execute the components. The problem then becomes that of identifying the

components that can be offloaded from the device to a proxy, such that the energy costs of compu-

tation and communication at the device are minimized. Note that in formulating the problem, we

have to implicitly handle the interaction of multiple middleware components and the distribution of

components across the device and the proxy server. Furthermore, the middleware should be able

to perform certain intelligent dynamic adaptations that would optimize the battery lifetime of the

device. As the primary focus of the paper is to evaluate the energy gains achievable through service

offloading, we do not consider proxy based hand-offs and the mobility of the devices in this work.

This is an interesting complimentary problem and we are addressing this problem in another work.

As the residual power on the device diminishes, executing the integrated framework of all the

applications and components rapidly reduces the remaining time of service for the device. Our frame-

work addresses this issue by dynamically tailoring itself in a manner such that the device remains

functional for as long as possible. This is achieved by moving expensive middleware services trans-

parently to a proxy server and using the residual power of the device as a factor in determining the

component distribution. Furthermore, our framework dynamically adapts to the decreasing residual

power at the device, by trying to push more and more components to the proxy as the power on the

device decreases. This is achieved by increasing the costs associated for executing the components on

a device, causing the middleware to re-evaluate the distribution and making appropriate alterations

(possibly choosing to assign the now expensive component to execute at the proxy). Note that this

adaptation simply increases the probability that a service might be migrated to the proxy server. The

actual distribution would depend on the number of services, their interactions and the distribution

of the components at that instance. Our algorithm dynamically evaluates the current system state

and regenerates a new configuration if the need arises. In the following subsections we introduce the

7

Page 8: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

parameters used in characterizing the problem and present a optimal graph theoretic algorithm for

ascertaining the component distribution.

3.1 Characterization

We use the following parameters to characterize the energy costs at the device for the various com-

putation and communication operations. It is important to note that all energy costs are incurred at

the device. Let BWt and BWr be the maximum bandwidth available to the device for transmitting

and receiving data respectively. Ptransmit and Precv are the average power consumption rates at the

device while it transmits and receives data. Pruntime represents the power consumption rate of the

parm runtime. Let Ti be the length of the ith time interval (i.e. time interval between 2 consecutive

executions of the parm algorithm at the broker and let Ri represent the residual power on the de-

vice after the ith time interval. Sizekt and Sizekr are the average sizes of the messages transmitted

and received respectively, by the kth middleware component. We characterize the some of the other

parameters as follows:

• PCk: Average rate at which the kth component consumes power due to computation.

• PSk: Average rate at which the kth component stub consumes power.

• NSkdi: Average number of messages transmitted by the kth component during the ith time

interval, when component is executing at the device.

• NRkdi: Average number of messages received by the kth component during the ith time interval,

when component is executing at the device.

• NSkpi: Average number of messages transmitted by the kth component during the ith time

interval, when component is executing at the proxy.

• NRkpi: Average number of messages received by the kth component during the ith time interval,

when component is executing at the proxy.

Note that the above characterization implicitly includes the interactions of the various middleware

components, that may be executing either on the same machine or distributed between the device

and the proxy. Using the above characterization, we derive the following energy costs for computation

and communication.

1. Computation cost

8

Page 9: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

• when middleware component “k” executes on the proxy during time interval “i”

ECkproxy = PSk × Ti

• when middleware component “k” executes on the device during time interval “i”

ECkdevice = E0 + λ.Tconst

where,

E0 = PCk × Ti

λ = 1Ri

if Ri�1 − Ri > 0

= 1Rmax

(otherwise)

Tconst = some scaling factor determined from the profiling information

2. Communication cost

• when middleware component “k” executes on the proxy during time interval “i”

CCkproxy =

NSkpi�SizektBWr

× Precv +NRkpi�Sizekr

BWt× Ptransmit

• when middleware component “k” executes on the device during time interval “i”

CCkdevice =

NSkdi�SizektBWt

× Ptransmit +NRkdi�Sizekr

BWr× Precv

In order to optimize the energy in the system, we now have to find a allocation scheme that distributes

the components between the device and proxy such that the overall energy cost at the device is

minimized. Let U be the entire set of components that we consider. Let X be the set of components

mapped to the device. Then U - X is set of components mapped to the proxy. Our problem now

becomes that of minimizing the computation and the communication costs at each interval. For each

Ti we need to minimize the following term:

∑k2X ECk

device +∑k2X CCk

device +∑k2U�X ECk

proxy +∑k2U�X CCk

proxy

A Network Flow Representation of the PARM problem

To achieve the optimal distribution of components between the device and the proxy, we cast our

problem as a source parametric flow graph problem [1]. The minimum cut of the flow graph then gives

us an optimal mapping of components. We incorporate the energy costs of network communication

9

Page 10: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

������������������������������

������������������������������

������������

������������

D P

Rd

Rp

M2

M1

Mn

Handheld Proxy

Runtime on D

Runtime on P

M : Middleware ComponentsAi : Energy cost of executing Mi on ProxyBi : Energy cost of executing Mi on Device

An

A2

A1

Ap

Bd

B1

B2

Bn

XnX1

X2

Y2

Yn

Y1

INFINITY

INFINITY

receives data on the hand-heldXi : Avg. Energy cost when Mi sends and

receives data at the proxyYi : Avg. energy cost when Mi sends and

Fig. 3: Flow Network

and cpu computation into a energy flow network. To create the flow network(Fig. 3), we distinguish

two special nodes in the network: a source node D and a sink node P. Additionally, we define two

conceptual nodes Rd and Rp, that represent the core runtime frameworks on device and the proxy

respectively(see Fig. 3). We associate the source node(D) with the low-power device and the sink

node(P) with a proxy. In Fig. 3, Bd and Ap represent the energy costs of the parm runtime executing

at the device and the proxy respectively. All the other nodes in the graph correspond to the parm

middleware components Mi. The arc capacities are assigned as follows: Each Ai denotes the energy

costs of computation incurred at the device, when component Mi is executing at the proxy. In the

parm framework it is the cost of execution of the component stub at the device. Bi denotes the

energy cost of computation when component Mi executes at the device. Each Bi is defined as a

non-decreasing linear function of the residual energy on the device. This makes the flow graph a

source parametric graph, where the computation cost capacity of every source arc(Bi) increases with

time. Xi represents the energy cost of network communication when component Mi is executing at

the device and sending/receiving data to/from the proxy. Yi represents the energy cost of network

communication when component Mi is executing at the proxy and sending/receiving data to/from

the device. The device runtime(Rd) is bound to the device(D) by giving assigning infinite energy cost

to the arc from D to Rd. The proxy runtime is similarly bound to the proxy.

With this representation, there now exists a one to one correspondence between a minimum cut

10

Page 11: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

of the graph and the assignment of components to the source(device) and the sink (proxy). Let P1

and P2 be the assignment of components to the device and the proxy respectively. The minimum

cut corresponding to this assignment is then ({D,Rd} ∪ P1], {P,Rp} ∪ P2 ). The cut of the graph

effectively represents the minimum energy cost assignment of the components to the device and the

proxy. Moreover, as the costs of the arcs Bi increase (residual energy at the device reduces), the

minimum-cut would tend to exclude these arcs, thereby assigning more and more components to

the proxy. In our framework, the energy costs of executing the components on the device (Bi) are

represented as non-decreasing linear functions of the residual power on the device. As the power drains

from the device, the cost of executing components on the device increases. The parm algorithm now

tends to push more and more components towards the proxy. We solve the above problem by using a

modified FIFO pre-flow push algorithm, as described in the next section. Our algorithm has a worst

case execution time of O(n3).

3.2 The PARM Algorithm

We now describe the parm reconfiguration algorithm (Fig. 4), which uses a modified FIFO pre-

flow push algorithm [1], generally applied to solve maximum flow problems. The reconfiguration

algorithm forms an integral part of the parm algorithm and determines the minimum-cut of the flow

graph created in Fig. 3, by first resolving the maximum flow of the graph. From the above flow graph

, we construct a residual graph that tells us how much more flow(energy cost) can be sent along each

arc(edge) of the graph. In effect it represents the residual energy flow capacities of each arc in the

graph. For every unit of flow sent along an arc, a reverse arc is added to the residual graph with

the same number of units. The algorithm is initially executed on the residual graph of the graph

initially generated in Fig. 3. Subsequently, the algorithm works on the residual graph generated at

the previous step. The main concept behind the algorithm is to initially push the maximum possible

flow from the device(node D) to the proxy(node P, see PARM-INITIALIZE() in Fig. 4). Depending

on the capacities of the intermediate arcs(Ai, Xi, Bi, Yi), the maximum allowable flow gets routed

to the proxy(P). Once a saturation point is reached at the intermediate nodes Mi (i.e. the residual

graph does not contain any forward arc to the node P), the surplus flow initially sent, flows back to the

device(node D). At this point, the flow in the network (from D to P) is the maximum flow between

11

Page 12: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

n the number of nodes in the graph

N0

A SET of all the components that send their excess flow back to D.

The nodes in this set will be assigned to the low-power device.

F (n1, n2) The energy flow from node “n1” to node “n2”

U(n1,n2) The maximum energy capacity of the arc from node “n1” to node “n2”

Ri!j The residual energy flow available on arc from node “i” to node “j”

excess(n) The excess flow at node “n”.

( = flow into “n” − flow out of “n”)

Distance Label d(i) distance of the node i from the sink node (node P)

Admissible arc(i,j) The arc between node “i” and node “j” is considered an

admissible arc if and only if d(j) = d(i) − 1.

Active nodes The nodes in the graph that have a positive excess

LIST A queue that maintains a list of the currently Active nodes

Table 1: Terms used in the parm algorithm

BEGIN

END;

F(D,Mi) = U(D,Mi); (for each arc (D,Mi); Enqueue(LIST,Mi);+ Send max. possible flow on all arcs emanating from node ’D’;

+ Set d(D) = n; + Add node D to N’

+ Compute exact distance labels for each node: d(i); BEGIN+ WHILE (excess(i) > 0) BEGIN

BEGIN

ADD newly active nodes to LIST;

ELSE

IF(residual graph contains an admissible arc(i,k))

Send flow = min{excess(i),Ri->k} on arc(i,k); Update excess( ) values for i,k;

d(i) = min{ d(j)+1 }, FOR all set of arcs emanating from m all with Ri->j greater than 0. IF(d(i) >= n)

REMOVE i from LIST; ELSE Enqueue(LIST, i); ENDIF; BREAK; ENDIF END;END;

BEGINProcedure PARMRECONFIGURATION( )

- Generate the network flow graph

WHILE( LIST not empty ) node = DeQueue(LIST); ADJUST_ENERGYFLOW(node); ENDWHILE;

BEGIN // Parm reconfiguration algorithm

END;

END

Procedure ADJUST_ENERGYFLOW(Node i)

- Synchronize time with the device;

- Determine whether reconfiguration is required at device; - Send RECONFIG request to the device;

& the residual graph (G); - Get the list of active components on the device;

PARM_INITIALIZE(G);

Procedure PARM_INITIALIZE(Graph G )

+ Update energy cost flows on the residual flow graph.

Update the energy cost flows residual graph;

ADD i to N’; // component allocated to device

Fig. 4: The PARM Algorithm

12

Page 13: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

the device and the proxy. However, our interest is restricted to finding the arcs that constitute a

minimum cut of the graph. To achieve this we exploit the two phase nature of the pre-flow push

algorithm. As stated above, the algorithm first tries to push all the excess energy flow towards the

proxy(P), till either all the energy reaches it or the intermediate arc capacities are saturated. In

the second phase, the algorithm sends the surplus flow (that could not reach node P) back to the

source node D. An interesting observation here is that the algorithm typically establishes a maximum

pre-flow (end of phase-1) long before it establishes a maximum flow (end of phase-2). In order to get

a minimum cut of the graph we keep track of the intermediate nodes(Mi, Rd, Rp) that get saturated

(i.e. cannot send any more flow to node P) during the first phase of the algorithm. At the end of

the first phase we get a set of nodes that would eventually send their excess flows back to the source

node(D). The minimum-cut would partition the graph such that these nodes are grouped with nodes

D & Rd. In effect, this is the set of nodes(components Mi) that would be assigned to the device.

The other intermediate nodes(components) would be assigned to the proxy. Table 1 explains some of

the terms and variables used in the algorithm(see Fig. 4). In order to get the reconfiguration of the

components at any time, we run the PARMRECONFIGURATION() procedure at the Broker.

PARM Policies

We investigate the performance of our strategy under a set of policies that dictate when and how

often the parm algorithm is executed for reconfiguring components on a device. The purpose is to

determine which policy returns the best results in terms of energy savings at the device and ascertain

the optimal times for executing the algorithm for different classes of applications and components.

Note that the parm algorithm is executed at the power broker based on the device power state and

the chosen policy.

We categorize the policies based on the host(broker or device) that triggers the reconfiguration.

• Random : The broker performs the component reconfigurations at random intervals. The impor-

tance of having a random trigger policy is that often randomly chosen policies do an excellent job in

dealing with complex and contentious test cases, outperforming more intuitive policies. Moreover, the

results from the random trigger policy, provide an interesting case for comparing the performances of

more intuitive and predictable policies.

13

Page 14: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

• Periodic : The broker performs the component reconfigurations at periodic intervals determined by

the system administrator. It solves the following purpose: given a group of applications and a set of

associated middleware components, we use this policy to learn how periodic execution of the parm

algorithm at the broker impacts the power savings at the device. Moreover, it tells us how often the

reconfiguration of components needs to happen in order to obtain optimal gains. These results are of

a more predictable nature and can be cataloged for future reference, if the outcomes are favorable.

The following two policies are device driven:

• Application Triggered : The parm algorithm is triggered at the broker, whenever a new applica-

tion/component is started up at the device. The device sends a signal to the broker, triggering the

reconfiguration algorithm. This is a “reactive” policy, where the system responds to the change in

load by effecting the reconfiguration algorithm to execute. Using this policy, we determine whether

this causative behavior is more prolific (in terms of power savings) than the other “proactive” policies.

• Threshold : A reconfiguration is triggered by the device whenever the residual energy of the device

drops below a certain threshold, determined as a percentage of the initial energy of the device. A set

of threshold values are pre-determined to fix the number of reconfigurations. The idea here is more

simple-minded. We choose to reconfigure the components only when we feel that the power level of

the device has dropped below a certain boundary and needs attention. The value of the threshold

determines the frequency of the reconfigurations.

3.3 Profiling

Accurately profiling the energy consumption of the parm runtime and the various middleware compo-

nents is indispensable to the success of our approach. Without the knowledge of the energy overheads

for communication and computation , the generation of the flow network is impossible. Given a set

of “enrichment” middleware components and a set of applications that use them, we chart the energy

usage (for both cpu operations and network communication) for all combinations of the components

on the device and the proxy. Once the profiling is complete, the data can be made available to the

power broker for generating the flow network. Appropriate hooks in the parm runtime along with

tagging of messages from individual components are used to determine the average number of mes-

sages sent and received by a particular component. We also record the average size of the messages

14

Page 15: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 5: Experimental Setup

0.3 J/sAvg. PARM Runtime Overhead

270 minsTime to drain the battery of device

3.85 J/sAvg. Power rate (receive)

3.65 J/sAvg. Power rate (transmit)

9 MbpsTotal receiving bandwidth

9 MbpsTotal transmitting bandwidth

4.5 J/sAvg. Power (OS + PARM)

4.2 J/sAvg. Power (OS)

Fig. 6: Some profiled energy values

sent by components used with different applications.

The energy cost of computation and communication(send/recv) are computed using separate pro-

grams. We profile the energy usage of the system by making the following measurements, 1) The

average idle-time power usage rate of the device, 2) the average power usage rate for cpu intensive

operations, 3) The average power usage rate when the middleware is communicating over a wireless

network with a desktop system. We take measurements of the power expended for both sending and

receiving data. Different data sizes are used and the energy charges at the device are noted. The

average of the communication cost over a large number of messages (of different sizes) are used to

determine the average cost of transmitting and receiving data. 4) The average power usage rate when

the device is running an ”enrichment” parm component. We first run an application without linking

to the component and note its energy utilization. We then run the same application by linking it to

the component. The difference gives us the cost of using the component. This is carried out for each

of the components using a number of different applications to derive their energy costs. To get a more

accurate reading of the energy expenditure in the hand-held devices we use two different devices and

perform the above experiments separately on them. Some of the sample measurements can be seen

in Fig. 6. Note that the profiled values are distinct for a particular device. However, as profiling is a

one time effort, we assume energy usage can be profiled for different devices. In reality, the number

of applications and components used in low-power mobile devices will also be limited.

Below is a brief description of our setup for measurements and data acquisition. The low power

device used in our profiling was a Compaq iPaq 3650, driven by a 206Mhz Intel StrongArm processor,

with 16MB ROM, 32MB SDRAM. The device used a Lucent Orinoco Silver 11Mbps wireless PCMCIA

15

Page 16: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

network interface card for communications. The wireless card was inserted to the PCMCIA expansion

pack for the iPaq and was always connected to the iPaq during the experiments. The batteries were

removed from the iPaq during the entire duration of the experiment. Fig. 5 shows our experimental

setup for the power measurement. The device was connected in series with a resistor to a fixed power

supply (5 volts). The voltage drop across the resistor was measured to determine current drawn by

the device. The voltage measurements are made using a computer controlled National Instruments

DAC which reads a voltage variation at an interval of 1ms. The computer connected to the DAC

was programmed to run through a loop taking 1000 voltage readings every second. Using the voltage

readings, the program determined the power consumed at every one millisecond interval, and then

computed the mean power consumption rate at the iPaq. The power utilization was calculated using

the following formula:

PiPaq = VPS�VDROPR × VDROP

where VDROP is the voltage drop across the iPaq and VPS is the supply voltage.

4 Simulation Methodology & Performance Evaluation

In this section, we introduce our simulation model and analyze the performance of our model under

various system conditions. Subsequently, we present the results of our experiments and examine the

effects of the different policies on power conservation. To simulate our system, we separately model

the low-power device, the proxy servers, the parm middleware framework and the applications. In

the following subsections, we present our how we model the various applications and middleware

components for our simulations. We are currently building a prototype using the CompOSE|Q [23]

middleware framework to integrate the parm reconfiguration algorithm for power optimizations in a

distributed environment.

The Application Model

The type of application we choose to execute on the device has a significant bearing on the results

of our simulations. We therefore opt for the types of applications that are currently regarded as

16

Page 17: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

APPLICATION CLASS 1 CLASS 2 CLASS 3

Adaptive Scheduler Reliable Messaging Adap. Scheduler

Components linked Encryption-DES Clock Sync MM Message Serv.

Decryption-DES Message Ordering Clock Sync

Avg. Power(J/s) 0.65 0.23 0.38

Avg. Power(J/s)(comm) 0.21 (watts) 0.40 0.45

Avg. message size 64 (bytes) 128 (bytes) 1024 (bytes)

Avg. msgs via component(per/sec) 300,150,150 610,530,480 755,830,670

Table 2: Application model

suitable for hand-held computers and some applications can we think would be popular as the devices

evolve. Moreover, we target applications that consume appreciable amounts of power either through

computation, communication or both. To generalize the experiment a bit further, we divide our set

of representative applications into three classes: computation intensive (class-1, e.g Image processing

applications, games, 3-D graphics applications), communication intensive (class-2, e.g. web browsing,

real-time chatting, network monitoring) and both computation and communication intensive (class-

3, e.g multimedia streaming, text to speech, GIS/navigation). [3] presents the energy consumption

characteristics of MPEG video playback on hand-held computers. We borrow the some of the results

presented in this paper to model a typical video playback application for our simulation. In [12],

power usage rates of some typical computation intensive applications are empirically determined. We

draw on some of the results illustrated in these papers to model the power usage patterns of some

of our applications. Table 2 illustrates the different power utilization values for a typical application

from each of the above classes. The energy consumption patterns of some of the applications and

components(e.g message ordering) are obtained from our profiling results as discussed earlier.

We chose typical applications in each category and separately profiled the various computation

and communication costs for the applications and the associated parm components. Note that for

our simulations, we use a set of synthetic applications based on the results of our profiling and the

results published in other work.

17

Page 18: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

The PARM Component Model

To model the middleware components, we profiled the energy pattern of each component while using it

with a different number of applications from each class. In particular, we recorded the power overhead

for executing the component on the device, and the power overhead of running the component stub

on the device while the component is executing at the proxy. We recorded the average number

of control messages the component used to maintain state information when used in conjunction

with different classes of applications. For example, a encryption mechanism that uses the current

machine time might require the remote stub to regularly send the time of the remote machine for

clock synchronization. To even out the variance introduced by different applications, an average

message size per application class was used. We control the communication through a component

by varying the size of the messages used as well as the number of messages routed through the

component by applications from each class. A few examples of the “enrichment” components we

use for our simulation are: replication services, message ordering services, encryption/decryption

services, reliable messaging service, scheduling, clock synchronization, location management service,

watermarking & User Authentication service. Note again that the simulations were carried out using

a set of synthetic components with energy values derived from our profiling measurements.

The Execution Model

The simulation is carried out in two phases. In the first phase the applications are executed on the

device without the parm algorithm. The energy consumed and the remaining time of service for

the device are recorded. In the second phase, the same set of applications are executed with the

parm algorithm executing at the broker. The broker retrieves the individual state information for

each device from the directory service and determines the optimal reconfiguration of components by

using the graph algorithm described earlier. It then announces the new configuration to the device

and the proxy. The device then initiates a routine that performs the offloading/downloading of the

components to/from the proxy, based on the new configuration. The power consumed in the transfer

of components is profiled and used as a part of the parm algorithm. The energy consumed and the

remaining service time of the device are recorded. The proxy server is modelled as a workstation that

simply receives the middleware components from a device and executes them on behalf of the device.

18

Page 19: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

For each application class we assess the gains using a set of

• sporadic-start applications : applications that start and stop irregularly over time.

• non-sporadic applications : applications that run continuously till the device runs out of power.

4.1 Experimental Results

We analyze the performance of the parm framework by evaluating its execution under different

application loads and reconfiguration times. Our primary metric of evaluation is the gain achieved in

the

• Residual Energy (ER) Gain: showing the residual energy gain over time for the device, with

and without the adaptations.

• Gain in Time of Service(TOS): indicating the additional time for which the device will be

operational as compared to the case without any adaptations.

We study how the TOS/ER gains are impacted as the number of applications on the device are

scaled. We examine how often the broker should reconfigure the parm components for a given set

of applications to achieve optimal energy benefits. Finally we compare the energy savings for each

class of applications and ascertain the optimal reconfiguration frequency for achieving the maximum

energy profits. A default reconfiguration time of 5 minutes is specified for the simulations. Note here

that as the reconfigurations happen in the order of minutes (infrequent), the overheads incurred for

updating the directory service and for the reconfigurations become acceptable, as they are in the order

of milliseconds.

Performance of Class-1 Applications

Fig. 9 through Fig. 8 depict the gains achieved over time for the class-1 applications. As seen in

Fig. 9, there is a clear improvement in the TOS at the reconfiguration points as the components are

moved onto the proxy. The initial loss is due to the fact that the device has not been reconfigured

and the overheads for updating the directory service and registering with the proxy and the broker

have been incurred. Fig. 10 shows the TOS saved for a set of applications as the broker reconfigures

19

Page 20: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 7: Applications on ER(class-1,non-sporadic) Fig. 8: Applications on ER(class-1,sporadic)

Fig. 9: Effect of applications on TOS(class-1,non-

sporadic)

Fig. 10: Effect of Reconfig.time on TOS(class-1,non-

sporadic)

the components at different times. Frequent reconfigurations result in higher gains, and as the re-

configuration frequency reduces, the gains drop to almost zero (for reconfigurations at every 30 mins

or more). Fig. 7 and Fig. 8 compare the energy gains achieved over time as the number of applica-

tions are scaled for different sets of sporadic and non-sporadic applications. As the reconfigurations

occur, a steady gain in residual energy is noted. Moreover, it is noticed that the gains become more

pronounced as the number of components used increases. In general it is observed that there is a

significant energy saving as we scale the number of applications.

20

Page 21: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 11: Applications on TOS(class-2,non-sporadic) Fig. 12: Applications on ER(class-2,non-sporadic)

Performance of Class-2 Applications

Fig. 11 and Fig. 12 demonstrate the TOS and the energy gains respectively for non-sporadic class-2

applications as the number of applications scale from 1 to 10. The broker executes the parm algorithm

every 3 minutes. The graphs indicate that the maximum TOS gain is achieved when the number of

applications is small. A comparison with the corresponding class-1 graphs indicate that most the gains

achieved in this case is due to an initial reconfiguration of components (dependent on the nature of

the components and applications started) after which the gains become steady. The explanation for

this is that most of the energy overheads in this case is due to the communication. The increase in

the cost of the components with time, does not seem to result in frequent reconfigurations as the

computation costs are small and the device runs out of power before the costs become high enough

to cause a reconfiguration. The higher gain when compared to the class-1 case is due to the different

energy model used for the applications and components in this application class. It is also observed

that the there is a drop in the gains towards the end when the number of applications are increased.

This is caused due to the overhead of reconfiguration when the device power is depleting and happens

sooner when a greater number of applications are executing.

The next two graphs (Fig. 13 & Fig. 14) show the TOS gains for sporadic start applications. As

in the case of the class-1 non-sporadic applications an irregularity in the gains is observed. However,

the gains in this case are more than the class-1 sporadic applications. The dips in the curve in Fig. 13

could be a result of a reconfiguration or an increase in the communication resulting in an additional

overhead at the device.

21

Page 22: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 13: Applications on TOS(class-2,sporadic) Fig. 14: Reconfig.time on TOS(class-2,sporadic)

Performance of Class-3 Applications

Class-3 applications present a more realistic representation of the workload in modern hand-held de-

vices. Most multimedia applications fall into this category. Owing to the resource scarcity in small

devices, a number of applications that use moderate communication and computation would also fall

into this category for smaller devices. The modelling of the components and applications for this

application class is different from the models used in the previous cases. Fig. 15 & Fig. 16 show the

graphs for TOS and ER gains as we scale the non-sporadic start applications for this class. As seen

from the graphs, there is a reduction in the TOS and energy gain as we scale the number of applica-

tions. An interesting observation is that with a single application, gains stay low (Fig. 15), showing

that reconfigurations with a small number of components does not result in significant gains. Fig. 16

indicates that the gains do not change significantly as the number of applications are increased. A

comparison with the class-1 and class-2 applications reveals that the gains in this case are not as

pronounced as in the previous cases. This is because both the communication and the computation

costs now play a role in determining the component reconfiguration and it becomes hard to predict

the outcome of a reconfiguration. One reason for the modest gains could be that the energy saved by

offloading components is slightly offset by the cost of heavy communication.

Fig. 17 through Fig. 20 show the TOS/ER gains achieved for the sporadic start class-3 appli-

cations. As seen in Fig. 17, the TOS gain for these applications is jerky. The TOS gain decreases

as the number of applications scale up. Fig. 18 presents the energy gains as we scale the number

of applications. The energy gains increase as we increase the number of applications, but become

unpredictable when the number of applications are close. A comparison indicates that with class-3

22

Page 23: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 15: Effect of applications on TOS(class-3,non-

sporadic)

Fig. 16: Effect of applications on ER(class-3,non-

sporadic)

Fig. 17: Effect of applications on TOS(class-

3,sporadic) Fig. 18: Effect of applications on ER(class-3,sporadic)

applications, the changes are smoother and less frequent than the corresponding class-1 and class-2

applications. Moreover, the gains are also less as compared to the other two cases. In this class, both

middleware components and the applications consume substantial energy. Since, only the middleware

components are considered for migration, the device drains out of power very quickly showing smaller

gains. A possible inference is that with class-3 applications, application migration can significantly

improve energy gains.

Fig. 19 & Fig. 20 represent the TOS and ER gains achieved over 6-sporadic start class-3 applica-

tions as the parm algorithm is executed at different times. An interesting observation here is that

there is a negative energy gain as we execute the algorithm at a frequency of over 8 minutes. A

steady energy gain is observed when the algorithm is executed every 3 minutes. However, all the

other cases seem to result in an overall loss in both TOS and saved energy. The reason for this is

23

Page 24: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 19: Reconfig.Time on TOS(class-3,sporadic) Fig. 20: Reconfig.Time on ER(class-3,sporadic)

Fig. 21: Impact of Reconfig.Time on TOS Fig. 22: Impact of Reconfig.Time on TOS

that the broker determines the distribution of components assuming that the applications (and the

linked components) would be active over the next time interval (till the broker executes the recon-

figuration algorithm again). However, in the sporadic-start case, the unpredictability of the timings

of the application start/stop times seems to offset the effectiveness of the parm algorithm resulting

in a loss in this particular case. This argument is supported by the fact that there is a gain when

the reconfiguration frequency is high(3 mins), where the random nature of the application start/stop

times has the least effect.

Comparative performance of the 3-Application classes

We compared the impact of the periodic broker-triggered reconfiguration and the device-triggered

threshold reconfiguration policies for the three classes of applications, for both sporadic start and non-

24

Page 25: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Fig. 23: Threshold triggered(non-sporadic) Fig. 24: Threshold triggered(sporadic)

sporadic start applications. Fig. 21 and Fig. 22 compare the impact of different reconfiguration times

(3mins,10mins) for each class of applications. Both graphs show improvements in TOS gains when the

reconfiguration occurs more frequently. Fig. 23 and Fig. 24 illustrate that a simple-minded threshold

triggered reconfiguration performs significantly worse than the periodic reconfiguration, especially for

class-2 and class-3 applications. Class-3 applications show a negative gain for both the sporadic and

non-sporadic start cases. For non-sporadic class-3 applications, the threshold triggered reconfiguration

performs similar to case where reconfigurations occur every 10 mins(Fig. 20) or more. We believe

that the results will show marked improvements if the thresholds were set to trigger reconfigurations

more frequently. For a mixed workload of applications, we noticed that small reconfiguration times

provided noticeable gains.

4.2 Prototype Middleware Framework

We are currently implementing a prototype of the parm model using the CompOSE|Q [23] middleware

framework developed by us. CompOSE|Q is a message-oriented reflective middleware framework

that supports a concurrent active object model. It provides mechanisms to dynamically start and

stop middleware components and has an application program interface that can be used to develop

applications. The entire runtime is implemented using Java and the LDAP directory service interface.

A detailed discussion of the design and implementation of the CompOSE|Q runtime and parm model

is outside the scope of this paper. So we simply present the outline of the details. Fig. 25 shows

the integration of the parm framework with the existing architecture. The core runtime consists

of a node-manager that administrates the runtime components and performs functions like object

25

Page 26: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

Broker

Directory Service

Communication Manager

PARM Signaling Agent

Node Manager

PARM Registration AgentPARM

ReconfigurationAgent

NodeInfoManager

Outgoing Messages

Incoming Messages

PARM messageQ

App2

App3

MessageQManager

Postman

Receive PotDedicatedMessageReceiver

RemoteMessageReceiver

SendPotRouter

PARM m/wComponent

PARM m/wComponent

PARM m/wComponent

Stub Stub Stub

A4

A2 A3A1

A5

PARM runtime

App1PARM Proxy

PARM co-relation Agent

Fig. 25: PARM Prototype Implementation

creation, bootstrapping of the various meta-level runtime modules and communication with remote

middleware components. The runtime has a skeletal communication framework that includes the

Router, the Postman and the message receiver modules. The parm specific runtime agents are the co-

relation agent, the signaling agent, the registration agent and the reconfiguration agent. Each parm

middleware component contains a stub through which all communication between the component

and the runtime is routed. The stub always executes locally and provides the transparency to the

applications when components are migrated. The co-relation agent manages the individual component

stubs on the device when the components are moved to the proxy. Incoming messages are also routed

to the individual applications using the co-relation agent. The agent identifies the component stub

for which the messages are intended and delivers the messages to the stub. The stub then submits

the messages to the appropriate applications. The runtime generates unique identifiers for each

middleware component and the components are designed to keep track of applications that link to

them. The signaling agent is used in parm to signal either the broker or the proxy whenever required.

For example, a signal can be sent to the broker to execute the parm reconfiguration algorithm, every

26

Page 27: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

time an new application is started at the device. A registration agent is used to register device state

information with the directory service. At startup, the device registers itself with the nearest proxy

using this agent. The registration agent can also be used to recover state information after abnormal

terminations. The parm reconfiguration agent forms the heart of the parm runtime. It regularly

receives updates from the broker and in conjunction with the co-relation agent manages the migration

of parm components (and possibly applications) to and from the proxy. Moreover, it maintains a list

of current applications and components and actively monitors the residual energy of the device. The

broker uses the profiled energy values for the components and applications to generate and execute

the parm reconfiguration algorithm, using a specific policy. Using the prototype we intend to study

the impact of the reconfiguration on the performance of applications and the determination of a policy

that generates the best power-performance tradeoff in a truly distributed environment.

5 Related Work & Future Research Directions

A tremendous amount of research has already been done for achieving power savings in low-power and

embedded devices. The research efforts include techniques at various abstraction levels - application,

middleware, OS and hardware. More recently, a number of approaches for power optimization at the

application level have been presented. Ellis presents a case for higher level power management and

states that applications/middleware can contribute significantly towards energy savings in smaller

devices [8]. At the architecture and OS levels the established techniques for power management

are dynamic voltage scaling [19, 26] and dynamic power management of wireless communication

devices [22, 4].

Our goal is to control and direct the middleware component workload on a system to effect energy

gains. Feedback from a reflective middleware environment can compliment the advantages of DVS

and network power management, resulting in higher energy gains [16]. In [2], Anderson et.al present

an approach towards supporting adaptation by using reflection, in a component based middleware

framework. In [21], an energy aware EDF packet scheduling scheme for real-time traffic called

modulation scaling is presented. In effect, this work describes a technique for integrating network

communication into a dynamic power management scheme on a radio. [4] compares the energy

consumed by network interface cards for three different video streaming formats. They suggest the

27

Page 28: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

traffic shaping at a proxy for sending multimedia data, so that network cards can be transitioned to

sleep states during periods of inactivity for saving power. An initial study of energy consumption

characteristics of network interfaces was made in [22]. In our current work, we do not consider

switching the network card to a sleep state for saving energy. However, it would be very interesting to

research this problem and see how we can integrate such energy aware techniques into our middleware

framework.

PowerScope [11] is an interesting tool that maps energy consumption to program structure. It

first profiles the power consumption and system activity of a computer and then generates an energy

profile from this data. Odyssey [17] presents an applications aware adaptation scheme for mobile

applications. In this approach the system monitors resource levels, enforces resource allocation and

provides feedback to the applications. The applications then decide on the best possible adaptation

strategy. Puppeteer [10] presents a middleware framework that uses transcoding to achieve energy

gains. Using the well defined interface of applications, the framework presents a distilled version of the

application to the user, in order to draw energy gains. The parm framework uses a profiler to gather

energy data for individual components and applications, but it does not require the application to

perform any energy adaptations. With parm the intention is to provide a framework that optimizes

energy independent of applications. However, the parm framework can reap significant additional

savings using adaptive applications.

Farkas et al., have characterized the energy consumption of a pocket computer and evaluate the

energy and power tradeoffs of in the design of the JVM for the machine [9]. Offloading of tasks [20, 18]

on to a remote machine has been widely studied. [20] shows that the task offloading can deliver

significant energy savings over a noiseless wireless network channels, while the gains are offset over

noisy communication channels. The use of proxies to aid mobile devices has also been explored before.

In [14, 13] a static task partition scheme is presented for offloading application subtasks onto a remote

machine for energy savings. In this scheme, each application is divided into different computational

tasks and the cost of execution and communication are optimized using a flow graph to yield an

optimal partitioning of tasks. In a distributed environment, an application may not have sufficient

information to decide whether to use a proxy or not. Another setback of this approach is that each

application has to be split into independent tasks which may not always be feasible. parm on the

other hand uses a dynamic component redistribution scheme that uses the residual power on the

28

Page 29: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

device as a parameter for determining the allocation of components.

Concluding Remarks: In this paper, we presented a distributed power-aware middleware framework

and explored the viability of applying such an architecture to achieve energy gains in low-power

devices. The framework dynamically adapted to the diminishing power availability of the devices

over time, by dynamically offloading expensive middleware components to a proxy, thereby increasing

the service times of the device. An optimal polynomial time graph theoretic algorithm was formulated

to determine the dynamic reconfiguration of the middleware components. A set of policies were used to

control the behavior of the system. The extensive simulation results of our experiments indicate that

our framework can provide energy savings ranging from 5% to 35% on low-power devices, depending

on the nature of the applications and middleware components used.

We plan to devise a mobility model and study the impact of device mobility on the performance

of parm . We are also working towards “power-balancing” a distributed a system, by modelling

the power constraints on a low-power device in conjunction with the constraints of the servers and

other systems in the environment. It would be interesting to investigate, how application ”agility”

can be used to further boost the power savings within the parm framework. In future, middleware

frameworks would be the dominant technology used for employing wide-ranging battery-operated

devices in a distributed system. It is therefore imperative that middleware technology adapt itself for

performing advantageously in such resource constrained environments.

References[1] Ahuja, R. K., Magnanti, T. L., and Orlin, J. B. “Network Flows: Theory, Algorithms, and

Applications”. Prentice-Hall, Englewood Cliffs, N.J., 1993.

[2] Andersen, A., Blair, G. S., and Eliassen, F. “A reflective component-based middleware withquality of service management”. In In PROMS (October 2000).

[3] Chakraborty, S., and Yau, D. K. Y. “Predicting energy consumption of mpeg video playback onhandhelds”. In In Proc. IEEE International Conference on Multimedia and Expo (August 2002).

[4] Chandra, S. Wireless Network Interface Energy Consumption Implications of Popular StreamingFormats. In MMCN (January 2002).

[5] Chen, G., Kang, B.-T., Kandemir, M., and et.al. “Studying energy tradeoffs in offloading com-putation/compilation in java enabled mobile devices”. In IEEE TPDS, Sept. (2004).

[6] Douglis, F., Krishnan, P., and Bershad, B. “Adaptive disk spin-down policies for mobile com-puters”. In 2nd USENIX Symposium on Mobile and Location-Independent Computing (April 1995).

[7] Efstratiou, Davies, C. K., and A, F. “Architectural requirements for the effective support ofadaptive mobile applications”. In Middleware (2000).

29

Page 30: A Distributed Reconfigurable Middleware Framework for Energy … › ~dsm › dyn › pub › mohapatra_IEEE_TPDS.pdf · 2006-09-25 · A Distributed Reconfigurable Middleware Framework

[8] Ellis, C. “The case for higher level power management”. In In Proceedings of HotOS (March 1999).

[9] Farkas, K., Flinn, J., Back, G., Grunwald, D., and Anderson, J. “Quantifying the energyconsumption of a pocket computer and a java virtual machine”. In ACM conference on Measurementand Modeling of Computer Systems (2000).

[10] Flinn, J., de Lara, E., Satyanarayanan, M., Wallach, D. S., and Zwaenepoel, W. “Reducingthe energy usage of office applications”. In IFIP/ACM International Conference on Distributed SystemsPlatforms (2001).

[11] Flinn, J., and Satyanarayanan, M. “Powerscope: a tool for profiling the energy usage of mobileapplications”. In In Proceedings of the Second IEEE Workshop on Mobile Computing Systems andApplications (1999).

[12] Krintz, C., Wen, Y., and Wolski, R. “Application-level prediction of program power dissipation”.Tech. rep., University of California, San Diego, 2002.

[13] Li, Z., Wang, C., and Xu, R. “Computation offloading to save energy on handheld devices: Apartition scheme”. In Proc. of International Conference on Compilers, Architectures and Synthesis forEmbedded Systems (November 2002).

[14] Li, Z., Wang, C., and Xu, R. “Task allocation for distributed multimedia processing on wirelesslynetworked handheld devices”. In in Proc. of IPDPS (April 2002).

[15] Lorch, J., and Smith, A. J. “Reducing processor power consumption by improving processor timemanagement in a single-user operating system”. In Proc. of MOBICOM 96 (November 1996).

[16] Mohapatra, S., Cornea, R., and et.al. Integrated power management for video streaming tomobile handheld devices. In ACM-MM (November 2003).

[17] Noble, B. D., Satyanarayanan, M., D.Narayanan, J.E.Tilton, and Flinn, J. “Agileapplication-aware adaptation for mobility”. In In Proceedings of the 16th ACM Symposium on Op-erating Systems and Principles, Saint-Malo, France, (October 1997).

[18] Othman, M., and Hailes, S. “Power conservation strategy for mobile computers using load sharing”.In Mobile Computing and Communications Review (January 1998).

[19] Pillai, P., and Shin, K. G. “Real-time dynamic voltage scaling for low-power embedded operatingsystems”. In In Proc. of the 18th ACM Symp. on Operating Systems Principles (2001).

[20] Rudenko, A., Reiher, P., Popek, G., and Kuenning, G. “Portable computer battery power savingusing a remote processing framework”. In Mobile Computing Systems and Application Track of the ACMSAC (February 1999).

[21] Schurgers, C., Aberthorne, O., and Srivastava, M. B. “Modulation scaling for energy awarecommunication systems”. In ISLPED (2001).

[22] Stemm, M., and Katz, R. “Measuring and reducing energy consumption of network interfaces inhand-held devices”. In IEICE (Special Issue on Mobile Computing) (August 1997).

[23] Venkatasubramanian, N., Deshpande, M., Mohapatra, S., and et. al. “Design and implemen-tation of a composable reflective middleware framework”. In ICDCS-21 (2001).

[24] Wang, N., Kircher, M., Parameswaran, K., and Schmidt, D. C. “Applying reflective middlewaretechniques to optimize a qos-enabled corba component model implementation”. In COMPSAC (2000).

[25] Weiser, M., Welch, B., Demers, A., and Shenker, S. “Scheduling for Reduced CPU Energy”.In In Symposium on Operating Systems Design and Implementation (1994).

[26] Yuan, W., and Nahrstedt, K. “A middleware framework coordinating processor/power resourcemanagement for multimedia applications”. In IEEE Globecom (Nov 2001).

30


Recommended