If you bill it, they will pay: Energy consumption in the cloud will be irrelevant until directly billed for

Abram Hindle

2018/07/07

If you bill it, they will pay: Energy consumption in the cloud will be irrelevant until directly billed for

Authors

Abram Hindle

Venue

Abstract

Don’t leave the lights on! One reason we take energy consumption seriously is because we are directly billed for it. If one leaves the heat on high over night the effect is noticeable on the next bill. Yet as granular as cloud computing billing can be in terms of resources and quality of service, we have limited motivation to investigate energy consumption in the cloud because cloud customers cannot necessarily realize savings. Proxies for quality of service such as lower performance CPU allocations can be used but at no point does a user see a bill listing energy consumption. Furthermore the difficulty in billing energy consumption of virtualized services is non-trivial and indirect. When many VMs share the same host, attribution of energy consumption becomes difficult. When many hosts are in the same datacenter attribution of cooling costs become difficult as well. Thus due to the direct and indirect costs of running a cloud, and the sharing of resourcing pricing cloud energy consumption is difficult and typically not done. We argue that until energy consumption of hosted computers, VMs, and cloud services is pushed down from the cloud provider to the cloud consumer, datacenters will continue to consume massive amounts of energy to provide software services. When cloud end-users have to pay for energy consumption they will consider optimizing energy consumption. Once energy consumption in the cloud is a bill line item, energy consumption will become a first class performance non-functional requirement of software.

Bibtex

@inproceedings{hindle2018SUSY4RE,
 abstract = {  Don't leave the lights on! One reason we take energy consumption seriously is because we are directly billed for it.  If one leaves the heat on high over night the effect is noticeable on the next bill.  Yet as granular as cloud computing billing can be in terms of resources and quality of service, we have limited motivation to investigate energy consumption in the cloud because cloud customers cannot necessarily realize savings.  Proxies for quality of service such as lower performance CPU allocations can be used but at no point does a user see a bill listing energy consumption.  Furthermore the difficulty in billing energy consumption of virtualized services is non-trivial and indirect.  When many VMs share the same host, attribution of energy consumption becomes difficult.  When many hosts are in the same datacenter attribution of cooling costs become difficult as well.  Thus due to the direct and indirect costs of running a cloud, and the sharing of resourcing pricing cloud energy consumption is difficult and typically not done.  We argue that until energy consumption of hosted computers, VMs, and cloud services is pushed down from the cloud provider to the cloud consumer, datacenters will continue to consume massive amounts of energy to provide software services.  When cloud end-users have to pay for energy consumption they will consider optimizing energy consumption.  Once energy consumption in the cloud is a bill line item, energy consumption will become a first class performance non-functional requirement of software.  },
 accepted = {2018-07-07},
 author = {Abram Hindle},
 authors = {Abram Hindle},
 booktitle = {Proceedings of the 7th International Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy)},
 code = {hindle2018SUSY4RE},
 date = {2018-08-20},
 funding = {NSERC Discovery},
 pagerange = {1--2},
 pages = {1--2},
 role = {author},
 title = {If you bill it, they will pay: Energy consumption in the cloud will be irrelevant until directly billed for},
 type = {inproceedings},
 url = {http://softwareprocess.ca/pubs/hindle2018SUSY4RE.pdf},
 venue = {Proceedings of the 7th International Workshop on Requirements Engineering for Sustainable Systems (RE4SuSy)},
 year = {2018}
}