One of the goals of the DBMS overhead elimina-
tion is to move both the query loop as well as the re-
sult set processing code into the same address space,
so that they can be optimized together as we have
done to estimate the DBMS API overhead. Some
approaches to optimize both the database codes and
the applications codes do already exist, for example,
the work on holistic transformations for web applica-
tions proposed by Manjhi, Garrod, Maggs, Mowry,
and Tomasic (2009) and Garrod, Manjhi, Maggs,
Mowry, and Tomasic (2008). These papers argue that
tracking the relationship between application data and
database data is a tool that might yield advancements.
Note that by eliminated the DBMS overhead we do
exploit this relationship, but rather by eliminating
the relationship by integrating application and DBMS
codes than by tracking this relationship. A similar
approach for holistic transformations for database ap-
plications written in Java is described by Chavan, Gu-
ravannavar, Ramachandra, and Sudarshan (2011).
7 CONCLUSIONS
In this paper we described and quantified several
sources of overhead in three web applications. This
quantification indicates that there is a tremendous po-
tential for optimization of web applications. Of the
total number of instructions executed to generate the
web pages in the investigated applications, close to
90% of the instructions can be eliminated, these are
non-essential instructions. Removal of non-essential
instructions has an approximately linear relationship
with the decrease in page generation time. This re-
sults in faster response times as well as significantly
reduced energy usage. We have seen a lower bound
on energy savings of approximately 70% for all ex-
periments performed in this study.
Considering the simplicity of the RUBBoS and
RUBiS code bases, we believe that the estimates
shown for these applications are a lower bound on
the performance that can be gained. Still, the results
are impressive. The more complex discus applica-
tion shows that performance increases between one
and two orders of magnitude are a possibility, solely
by reducing the number of non-essential instructions
that are executed.
For many web applications intensive optimization
of the code is not performed. At a first glance, it
appears more cost effective to deploy another set of
servers than to have expensive engineers optimize the
code. The frequent use of development frameworks
contributes to this. Note, that we have explicitly de-
fined our objective to optimize this kind of applica-
tions that is in widespread use, instead of focusing on
the already heavily optimized code bases of for exam-
ple Google and Facebook.
In the introduction we described that energy usage
of data centers is increasing quickly and is becoming
a larger problem on a month-to-month basis. Asso-
ciated with rising energy usage are rising electricity
bills for the operation of data centers. This is caused
not only by the increase in computing power, but also
by the increase in cooling capacity.
At this moment, no serious attention is paid to de-
creasing electricity usage by turning to software op-
timization. Instead, the focus is on making computer
hardware more energy efficient and to decrease the
server installed base by virtualization. We argue that
focusing solely on hardware issues is not enough to
keep the costs of data center operations under control
in the near future. Therefore, it is important that as
many non-essential MIPS as possible are eliminated
from the software code bases running in data centers.
To accomplish this, a quantification of where the non-
essential MIPS are located is a prerequisite. This pa-
per provides one such quantification.
REFERENCES
Altman, E., Arnold, M., Fink, S., & Mitchell, N. (2010).
Performance analysis of idle programs. In Proceed-
ings of the acm international conference on object ori-
ented programming systems languages and applica-
tions (pp. 739–753). New York, NY, USA: ACM.
Computer Economics, Inc. (2006, April). Best Prac-
tices and Benchmarks in the Data Center. http://
www.computereconomics.com/article.cfm?id=1116.
HipHip for PHP Project. (n.d.). HipHop for PHP. Re-
trieved July 2012, from https://github.com/facebook/
hiphop-php/wiki/
MySQL Project. (n.d.). libmysqld, the Embed-
ded MySQL Server Library. Retrieved July
2012, from http://dev.mysql.com/doc/refman/5.6/en/
libmysqld.html
ObjectWeb Consortium. (n.d.-a). JMOB - RUBBoS Bench-
mark. Retrieved July 2012, from http://jmob.ow2.org/
rubbos.html
ObjectWeb Consortium. (n.d.-b). RUBiS - Home Page. Re-
trieved July 2012, from http://rubis.ow2.org/
Chavan, M., Guravannavar, R., Ramachandra, K., & Sudar-
shan, S. (2011). DBridge: A program rewrite tool
for set-oriented query execution. Data Engineering,
International Conference on, 0, 1284-1287.
Fan, X., Weber, W.-D., & Barroso, L. A. (2007, June).
Power provisioning for a warehouse-sized computer.
SIGARCH Comput. Archit. News, 35, 13–23.
Garrod, C., Manjhi, A., Maggs, B. M., Mowry, T. C., &
Tomasic, A. (2008, October). Holistic Application
Analysis for Update-Independence. In Proceedings
QuantifyingEnergyUsageinDataCentersthroughInstruction-countOverhead
197