performance counters, keyboard and mouse activity,
building the running processes and applications map
and enforcing actions. Moreover, the agent can access
mean and instant values for voltage, current, power
and energy, provided by a hardware device, accessi-
ble through USB. The instrumentation data is sent to
a centralized server, for persistence and data mining.
The hardware device is custom made and is in-
stalled in serial with the power supply. It has several
internal registers, which can be read through USB.
These values are used to correlate with the instrumen-
tation values of the performance counters. This will
allow to get the consumption scenario in several com-
puters using a single power meter.
The communication between the agents and the
central server is performed through Web Services,
providing multi-platform and multi-language services
for persistence, queries and management.The server
also provides a Web based interface, to allow the def-
inition, modification and removal of power saving
policies.
4.1 Power Probe – Agent
From a power consumption point of view, computers
are intrinsically heterogeneous. Differences in CPU
technology, manufacturer, graphics, number of hard
disk drives and so on make the process of profiling
power consumption a difficult task. Moreover, with-
out solid information about all the computers in the
organization it is not possible to act, in terms of en-
forcing power saving policies.
Agents provide a common interface to obtain in-
strumentation values of the computer as well as pro-
viding a means to act on it. In other words, each
agent periodically sends information related to the
computer power consumption and enforces policies
received from the central server.
Each agent has a set of sensors, modules respon-
sible for getting and processing samples. For the pur-
pose of the work presented in this paper, sensors mon-
itor running processes, perform periodic samples on
CPU performance counters, receive indication of key-
board and mouse activity, perform samples on the ex-
ternal power meter. Sensors also havea policy engine,
responsible for running and enforcing policies.
The communication between agents and the pol-
icy server is performed through Web Services. This
provides a interoperable communication mechanism,
independent of the operating system, network tech-
nology and languages used.
4.2 Policy Server
The policy server is a central repository for power
saving policies and power consumption history. It
also provides a Web based user interface, to allow
defining, updating and removing policies. It is de-
veloped in a multitier approach, isolating the persis-
tence layer from the presentation layer with a business
layer.
The business layer exports Web Services based
interfaces, to allow remote operation on the server.
Each module is encapsulated in an Enterprise Java
Bean (EJB), preventing a direct access to the data in
the database. In the work presented in this paper, the
following modules are available: user and resources
managament, policy definition, samples repository.
The user and resources management is related to
the authentication and authorization of users in the or-
ganization. Each user is associated with an access list,
which describe the resources he is allowed to control
through the definition of policies. If a user tries to de-
fine a policy for a computer he has no authorization,
the operation fails and the attempt is logged, for later
inspection.
The policy definition module allows the user to
write policies to the resources which he has access to.
The policy, after validated, is stored in the database,
through the persistence layer. Then the user has the
possibility of activating it, which translates to sending
the policy to the target agents. Deactivating the policy
implies the removalof the agent in which it is running.
Finally, the samples module is responsible for re-
ceiving and storing the samples from the agents in-
stalled in the organization’s computers. It also pro-
vides some statistics to the authorized users, to allow
optimizing policies according to the power saving po-
tential.
4.3 User Behaviour
The most important factor for saving energy is user
behaviour, such as turning off devices at night or
enabling power management (Newsham and Tiller,
1994; Webber et al., 2005). By providing adequate
information as well as adequate tools, which can au-
tomate many of the user actions, it is possible to influ-
ence energy consumption reduction to a greate extent.
Each agent has the possibility to popup a message,
providing non-intrusive information about the power
saving history in his computer. The most simple mes-
sage is “You do not havepower managementactivated
in this computer. Do you want to turn it on? It would
not have any impact on your work.”. A more elab-
orate example: “Your computer will disconnect one
PROFILING COMPUTER ENERGY CONSUMPTION ON ORGANIZATIONS
173