A Scalable and Distributed Electrical Power Monitoring System Utilizing Cloud Computing
1. A
Scalable
and
Distributed
Electrical
Power
Monitoring
System
U:lizing
Cloud
Compu:ng
Ryousei
Takano,
Hidemoto
Nakada,
Toshiyuki
Shimizu,
Tomohiro
Kudoh
Informa(on
Technology
Research
Ins(tute,
Na(onal
Ins(tute
of
Advanced
Industrial
Science
and
Technology
(AIST),
Japan
CUTE2013@Da
Nang,
Vietnam,
Dec.
19
2013
2. Outline
• Background
• System
overview
• Design
of
hardware
and
soKware
• Deployment
at
AIST
campus
• Summary
2
3. Background
• The
power
consumpPon
of
data
centers
and
networks
becomes
an
issue
of
vital
importance
to
IT
industries.
Google
data
center
in
the
Dalles,
Oregon
• In
Japan,
there
is
an
urgent
need
for
green
IT
technologies
aKer
March
11th,
2011.
Fukushima
Daiichi
Nuclear
Power
Plant
3
4. Mo:va:on
• VisualizaPon
is
key
to
plan
power
savings.
• The
total
system
cost
and
scalability
are
problem.
– Our
server
room
has
over
100
racks.
– Our
campus
are
geographically
distributed
in
Japan.
• The
system
has
to
be
low-‐cost,
scalable,
and
also
ease
to
develop
applicaPons.
➡ Cheap
power
monitoring
hardware
➡ Power
monitoring
soKware
uPlizing
cloud
compuPng
➡ A
simple
REST
API
4
5. System
overview
Data collecting
unit Data collecting
unit
2 Data collecting unit
…
…
Update power usage
using REST w/ JSON
3 Data store
Google App Engine
Data store
Retrieve data using
REST w/ JSON
Alert
4 Applications
1 Power measuring unit
Viewer
Observe the state of power consumption
Plan power saving
5
6. Small
start
Go
big
Google
App
Engine
Data
store
4
sensors
32
ports
=
128
sensors
Data
store
Sensors
can
be
incrementally
installed.
...
6
7. Low-‐cost
power
measuring
unit
• Send
data
to
data
collecPng
unit
every
second.
• The
producPon
cost
is
approximately
120
USD,
including
the
cost
of
4
current
sensors.
Clamp-‐on
current
sensor
(max:
4)
RJ-‐45
port
Signal
processing
board
(dsPIC30F3013)
7
8. Data
collec:ng
unit
(1/2)
• Gather
data
from
up
to
32
power
measuring
unit
• Push
data
to
GAE
– Can
be
placed
behind
NAT
To
power
measuring
unit
(Not
Ethernet,
data
transfer
and
power
supply)
To
GAE
via
the
Internet
(Ethernet/100BaseT)
8
9. Data
collec:ng
unit
(2/2)
Power
Measuring Unit
data store
RJ-45 ports x 32
CPU board (T-SH7706LSR)
- SH3 Linux
- Buildroot 2011.05
- pmon.py
Serial/Parallel converter
(Xilinx Spartan-3E)
9
10. Data
store
and
REST
protocol
data store
config
DB
Configuration
power
logging DB
Data collecting
unit “unit”
Get, query
Update
Application
pmon.py
pmon.py
pmon.py
Power measuring
unit “sensor”
Current sensor
“probe”
Application
…
…
10
11. Google
App
Engine
• PaaS
cloud
service
for
web
applicaPons
– Java,
Python,
and
Go
are
supported
– Your
applicaPon
will
have
URL
like
hgp://XXXX.appspot.com
• Scalable
and
stable
data
storage
– Data
are
replicated
to
5
different
datacenters
– Allows
2
of
them
to
be
lost
during
operaPon
• Maintenance
free
– No
need
to
manage,
almost
• Cost
effecPve
– Almost
free
of
charge
11
12. REST
API
path
method
descrip:on
/update
POST
Upload
data
/latest
GET
Get
all
data
for
the
last
minute
/latest,N
GET
Get
all
data
for
the
last
N
minutes
/summary.s/YYYYmmDDHHMMSS,N
GET
Get
all
data
for
each
second
start
from
YYYYmmDDHHMMSS,
for
N
seconds
/summary.m/YYYYmmDDHHMM,N
GET
Get
all
data
for
each
minute
start
from
YYYYmmDDHHMM,
for
N
minutes
/summary.h/YYYYmmDDHH,N
GET
Get
all
data
for
each
hour
start
from
YYYYmmDDHH,
for
N
hours
/summary.d/YYYYmmDD,N
GET
Get
all
data
for
each
day
start
from
YYYYmmDD,
for
N
days
/query.s/LOC/YYYYmmDDHHMMSS,N
GET
Get
data
for
locaPons
that
name
start
with
LOC
/query.m/LOC/YYYYmmDDHHMM,N
GET
/unit-‐config/UNIT_ID
GET
Get
configuraPon
data
/unit-‐config/UNIT_ID
PUT
Set
configuraPon
data
12
13. Update
from
Data
collec:ng
unit
Each
data
collecPon
unit
sends
data
every
20
seconds
GAE
xxx.appspot.com/update
– POST
the
following
JSON
string
{
"id":
"UNIT_ID"
"Pme":
"1319837460”
/*
elapsed
seconds
from
the
UNIX
epoch
Pme
*/
"power":
{
/*
data
for
the
last
20
seconds
per
measurement
point
*/
"sensor0.0":
[VAL0,
VAL1,
VAL2,
VA3,
...,
VAL19],
"sensor0.1":
[VAL0,
VAL1,
VAL2,
VA3,
...,
VAL19],
"sensor1.0":
[VAL0,
VAL1,
VAL2,
VA3,
...,
VAL19],
....
}
}
13
14. Data
retrieval
An
applicaPon
periodically
(e.g.,
1
min)
gets
data
from
GAE
GAE
xxx.appspot.com/latest,N
– GET
the
following
JSON
string
{
"Pme":
“1319837460”
/*
epoch
Pme
*/
"PmeStr":
“201110290631”
/*
human
readable
Pme
in
JST
*/
"power":
{
"LOCATION0":
[1234]
"LOCATION1":
[1234]
"LOCATION2":
[1234]
"LOCATION3":
[1234]
"LOCATION4":
[1234]
...
}
}
Viewer
applicaPon
14
15. Deployment
at
AIST
campus
Server
room
10
data
collecPng
units
177
power
measuring
units
620
measurement
points
Data
collecPng
unit
Data
collecPng
unit
1
1
2
…
Sensor
module
Clamp-‐on
current
transformer
Update
power
usage
using
REST
w/
JSON
2
store
3
…
gather
view
Google
App
Engine
Retrieve
data
using
REST
w/
JSON
Datastore
Clean
room
1
Data
collecPon
unit
2
3
billing
service
Viewer
15
16. Installa:on
in
AIST
server
room
Data collecting unit
in free access floor
Clamp-on
current sensor
Power distribution board
data store
Power measuring unit
16
17. Summary
• Our
proposed
system
helps
reduce
total
system
cost
and
improve
scalability
by
employing
low-‐cost
power
measuring
units
(30
USD
per
measurement
point),
and
uPlizing
cloud
compuPng.
– The
development
of
the
system
was
completed
within
3
months.
– We
have
successfully
operated
it
over
2
years
for
to
provide
an
electricity
billing
service
and
evaluate
the
power
efficiency
of
data
processing
middleware.
• Future
work
– Tolerance
for
network
failures.
– More
applicaPons:
e.g.,
server
consolidaPon
on
a
private
cloud
to
reduce
power
consumpPon.
17
18. Q&A
Thanks
for
your
agenPon!
This
research
was
parPally
supported
by
the
NEDO
research
project
enPtled
“Research
and
Development
Project
for
Green
Network/
System
Technology
(Green
IT
Project).”
18
19. Visualiza:on
Applica:ons
less
than
90%
of
the
upper
limit
less
than
95%
of
the
upper
limit
more
than
95%
of
the
upper
limit
Offline
(a)
Web
applicaPon
(b)
Desktop
applicaPon
19