Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Initial commit
- Loading branch information
0 parents
commit 90204ec
Showing
82 changed files
with
2,019,613 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Mechanisms to reduce cloud storage energy consumption by around 60% | ||
Dynamic and static storage allocation methods based on user metadata | ||
Analytical model and experimental evaluations of the proposed methods |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Cloud computing has gained popularity in recent years delivering | ||
various services as cost-effective platforms. However, the increasing | ||
energy consumption needs to be addressed in order to preserve the | ||
cost-effectiveness of these systems. In this work, we target the | ||
storage infrastructure in a cloud system and introduce several energy | ||
efficient storage node allocation methods by exploiting the metadata | ||
heterogeneity of cloud users. Our proposed methods preserve load balance | ||
on demand and switch inactive nodes into low-energy modes to save energy. | ||
We provide a mathematical model to estimate the outcome of proposed methods | ||
and conduct theoretical and simulative analyses using real-world workloads. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
This work was supported in part by a NSF High End Computing University | ||
Research Activity grant (award number CCF-0937879). Any opinions, | ||
findings and conclusions or recommendations expressed in this material | ||
are those of the authors and do not necessarily reflect those of the | ||
NSF. The authors would also like to thank the valuable assistance of staff | ||
at the UConn Booth Engineering Center for Advanced Technologies in | ||
providing access to cluster resources which facilitated this research. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
%% | ||
%% This is file `algorithm.sty', | ||
%% generated with the docstrip utility. | ||
%% | ||
%% The original source files were: | ||
%% | ||
%% algorithms.dtx (with options: `algorithm') | ||
%% This is a generated file. | ||
%% | ||
%% Copyright (C) 1994-2004 Peter Williams <pwil3058@bigpond.net.au> | ||
%% Copyright (C) 2005-2009 Rogério Brito <rbrito@ime.usp.br> | ||
%% | ||
%% This document file is free software; you can redistribute it and/or | ||
%% modify it under the terms of the GNU Lesser General Public License as | ||
%% published by the Free Software Foundation; either version 2 of the | ||
%% License, or (at your option) any later version. | ||
%% | ||
%% This document file is distributed in the hope that it will be useful, but | ||
%% WITHOUT ANY WARRANTY; without even the implied warranty of | ||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser | ||
%% General Public License for more details. | ||
%% | ||
%% You should have received a copy of the GNU Lesser General Public License | ||
%% along with this document file; if not, write to the Free Software | ||
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | ||
%% USA. | ||
%% | ||
\NeedsTeXFormat{LaTeX2e}[1999/12/01] | ||
\ProvidesPackage{algorithm} | ||
[2009/08/24 v0.1 Document Style `algorithm' - floating environment] | ||
\RequirePackage{float} | ||
\RequirePackage{ifthen} | ||
\newcommand{\ALG@within}{nothing} | ||
\newboolean{ALG@within} | ||
\setboolean{ALG@within}{false} | ||
\newcommand{\ALG@floatstyle}{ruled} | ||
\newcommand{\ALG@name}{Algorithm} | ||
\newcommand{\listalgorithmname}{List of \ALG@name s} | ||
% Declare Options: | ||
% * first: appearance | ||
\DeclareOption{plain}{ | ||
\renewcommand{\ALG@floatstyle}{plain} | ||
} | ||
\DeclareOption{ruled}{ | ||
\renewcommand{\ALG@floatstyle}{ruled} | ||
} | ||
\DeclareOption{boxed}{ | ||
\renewcommand{\ALG@floatstyle}{boxed} | ||
} | ||
% * then: numbering convention | ||
\DeclareOption{part}{ | ||
\renewcommand{\ALG@within}{part} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption{chapter}{ | ||
\renewcommand{\ALG@within}{chapter} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption{section}{ | ||
\renewcommand{\ALG@within}{section} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption{subsection}{ | ||
\renewcommand{\ALG@within}{subsection} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption{subsubsection}{ | ||
\renewcommand{\ALG@within}{subsubsection} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption{nothing}{ | ||
\renewcommand{\ALG@within}{nothing} | ||
\setboolean{ALG@within}{true} | ||
} | ||
\DeclareOption*{\edef\ALG@name{\CurrentOption}} | ||
% ALGORITHM | ||
% | ||
\ProcessOptions | ||
\floatstyle{\ALG@floatstyle} | ||
\ifthenelse{\boolean{ALG@within}}{ | ||
\ifthenelse{\equal{\ALG@within}{part}} | ||
{\newfloat{algorithm}{htbp}{loa}[part]}{} | ||
\ifthenelse{\equal{\ALG@within}{chapter}} | ||
{\newfloat{algorithm}{htbp}{loa}[chapter]}{} | ||
\ifthenelse{\equal{\ALG@within}{section}} | ||
{\newfloat{algorithm}{htbp}{loa}[section]}{} | ||
\ifthenelse{\equal{\ALG@within}{subsection}} | ||
{\newfloat{algorithm}{htbp}{loa}[subsection]}{} | ||
\ifthenelse{\equal{\ALG@within}{subsubsection}} | ||
{\newfloat{algorithm}{htbp}{loa}[subsubsection]}{} | ||
\ifthenelse{\equal{\ALG@within}{nothing}} | ||
{\newfloat{algorithm}{htbp}{loa}}{} | ||
}{ | ||
\newfloat{algorithm}{htbp}{loa} | ||
} | ||
\floatname{algorithm}{\ALG@name} | ||
\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}} | ||
\endinput | ||
%% | ||
%% End of file `algorithm.sty'. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
%% | ||
%% This is file `algorithmic.sty', | ||
%% generated with the docstrip utility. | ||
%% | ||
%% The original source files were: | ||
%% | ||
%% algorithms.dtx (with options: `algorithmic') | ||
%% This is a generated file. | ||
%% | ||
%% Copyright (C) 1994-2004 Peter Williams <pwil3058@bigpond.net.au> | ||
%% Copyright (C) 2005-2009 Rogério Brito <rbrito@ime.usp.br> | ||
%% | ||
%% This document file is free software; you can redistribute it and/or | ||
%% modify it under the terms of the GNU Lesser General Public License as | ||
%% published by the Free Software Foundation; either version 2 of the | ||
%% License, or (at your option) any later version. | ||
%% | ||
%% This document file is distributed in the hope that it will be useful, but | ||
%% WITHOUT ANY WARRANTY; without even the implied warranty of | ||
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser | ||
%% General Public License for more details. | ||
%% | ||
%% You should have received a copy of the GNU Lesser General Public License | ||
%% along with this document file; if not, write to the Free Software | ||
%% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | ||
%% USA. | ||
%% | ||
\NeedsTeXFormat{LaTeX2e}[1999/12/01] | ||
\ProvidesPackage{algorithmic} | ||
[2009/08/24 v0.1 Document Style `algorithmic'] | ||
% The algorithmic.sty package: | ||
\RequirePackage{ifthen} | ||
\RequirePackage{keyval} | ||
\newboolean{ALC@noend} | ||
\setboolean{ALC@noend}{false} | ||
\newcounter{ALC@unique} % new counter to make lines numbers be internally | ||
\setcounter{ALC@unique}{0} % different in different algorithms | ||
\newcounter{ALC@line} % counter for current line | ||
\newcounter{ALC@rem} % counter for lines not printed | ||
\newcounter{ALC@depth} | ||
\newlength{\ALC@tlm} | ||
% | ||
\DeclareOption{noend}{\setboolean{ALC@noend}{true}} | ||
% | ||
\ProcessOptions | ||
% | ||
% For keyval-style options | ||
\def\algsetup{\setkeys{ALG}} | ||
% | ||
% For indentation of algorithms | ||
\newlength{\algorithmicindent} | ||
\setlength{\algorithmicindent}{0pt} | ||
\define@key{ALG}{indent}{\setlength{\algorithmicindent}{#1}} | ||
\ifthenelse{\lengthtest{\algorithmicindent=0pt}}% | ||
{\setlength{\algorithmicindent}{1em}}{} | ||
% | ||
% For line numbers' delimiters | ||
\newcommand{\ALC@linenodelimiter}{:} | ||
\define@key{ALG}{linenodelimiter}{\renewcommand{\ALC@linenodelimiter}{#1}} | ||
% | ||
% For line numbers' size | ||
\newcommand{\ALC@linenosize}{\footnotesize} | ||
\define@key{ALG}{linenosize}{\renewcommand{\ALC@linenosize}{#1}} | ||
% | ||
% ALGORITHMIC | ||
\newcommand{\algorithmicrequire}{\textbf{Require:}} | ||
\newcommand{\algorithmicensure}{\textbf{Ensure:}} | ||
\newcommand{\algorithmiccomment}[1]{\{#1\}} | ||
\newcommand{\algorithmicend}{\textbf{end}} | ||
\newcommand{\algorithmicif}{\textbf{if}} | ||
\newcommand{\algorithmicthen}{\textbf{then}} | ||
\newcommand{\algorithmicelse}{\textbf{else}} | ||
\newcommand{\algorithmicelsif}{\algorithmicelse\ \algorithmicif} | ||
\newcommand{\algorithmicendif}{\algorithmicend\ \algorithmicif} | ||
\newcommand{\algorithmicfor}{\textbf{for}} | ||
\newcommand{\algorithmicforall}{\textbf{for all}} | ||
\newcommand{\algorithmicdo}{\textbf{do}} | ||
\newcommand{\algorithmicendfor}{\algorithmicend\ \algorithmicfor} | ||
\newcommand{\algorithmicwhile}{\textbf{while}} | ||
\newcommand{\algorithmicendwhile}{\algorithmicend\ \algorithmicwhile} | ||
\newcommand{\algorithmicloop}{\textbf{loop}} | ||
\newcommand{\algorithmicendloop}{\algorithmicend\ \algorithmicloop} | ||
\newcommand{\algorithmicrepeat}{\textbf{repeat}} | ||
\newcommand{\algorithmicuntil}{\textbf{until}} | ||
\newcommand{\algorithmicprint}{\textbf{print}} | ||
\newcommand{\algorithmicreturn}{\textbf{return}} | ||
\newcommand{\algorithmicand}{\textbf{and}} | ||
\newcommand{\algorithmicor}{\textbf{or}} | ||
\newcommand{\algorithmicxor}{\textbf{xor}} | ||
\newcommand{\algorithmicnot}{\textbf{not}} | ||
\newcommand{\algorithmicto}{\textbf{to}} | ||
\newcommand{\algorithmicinputs}{\textbf{inputs}} | ||
\newcommand{\algorithmicoutputs}{\textbf{outputs}} | ||
\newcommand{\algorithmicglobals}{\textbf{globals}} | ||
\newcommand{\algorithmicbody}{\textbf{do}} | ||
\newcommand{\algorithmictrue}{\textbf{true}} | ||
\newcommand{\algorithmicfalse}{\textbf{false}} | ||
\def\ALC@item[#1]{% | ||
\if@noparitem \@donoparitem | ||
\else \if@inlabel \indent \par \fi | ||
\ifhmode \unskip\unskip \par \fi | ||
\if@newlist \if@nobreak \@nbitem \else | ||
\addpenalty\@beginparpenalty | ||
\addvspace\@topsep \addvspace{-\parskip}\fi | ||
\else \addpenalty\@itempenalty \addvspace\itemsep | ||
\fi | ||
\global\@inlabeltrue | ||
\fi | ||
\everypar{\global\@minipagefalse\global\@newlistfalse | ||
\if@inlabel\global\@inlabelfalse \hskip -\parindent \box\@labels | ||
\penalty\z@ \fi | ||
\everypar{}}\global\@nobreakfalse | ||
\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi | ||
\sbox\@tempboxa{\makelabel{#1}}% | ||
\global\setbox\@labels | ||
\hbox{\unhbox\@labels \hskip \itemindent | ||
\hskip -\labelwidth \hskip -\ALC@tlm | ||
\ifdim \wd\@tempboxa >\labelwidth | ||
\box\@tempboxa | ||
\else \hbox to\labelwidth {\unhbox\@tempboxa}\fi | ||
\hskip \ALC@tlm}\ignorespaces} | ||
% | ||
\newenvironment{algorithmic}[1][0]{ | ||
\setcounter{ALC@depth}{\@listdepth}% | ||
\let\@listdepth\c@ALC@depth% | ||
\let\@item\ALC@item% | ||
\newcommand{\ALC@lno}{% | ||
\ifthenelse{\equal{\arabic{ALC@rem}}{0}} | ||
{{\ALC@linenosize \arabic{ALC@line}\ALC@linenodelimiter}}{}% | ||
} | ||
\let\@listii\@listi | ||
\let\@listiii\@listi | ||
\let\@listiv\@listi | ||
\let\@listv\@listi | ||
\let\@listvi\@listi | ||
\let\@listvii\@listi | ||
\newenvironment{ALC@g}{ | ||
\begin{list}{\ALC@lno}{ \itemsep\z@ \itemindent\z@ | ||
\listparindent\z@ \rightmargin\z@ | ||
\topsep\z@ \partopsep\z@ \parskip\z@\parsep\z@ | ||
\leftmargin \algorithmicindent%1em | ||
\addtolength{\ALC@tlm}{\leftmargin} | ||
} | ||
} | ||
{\end{list}} | ||
\newcommand{\ALC@it}{% | ||
\stepcounter{ALC@rem}% | ||
\ifthenelse{\equal{\arabic{ALC@rem}}{#1}}{\setcounter{ALC@rem}{0}}{}% | ||
\stepcounter{ALC@line}% | ||
\refstepcounter{ALC@unique}% | ||
\item\def\@currentlabel{\theALC@line}% | ||
} | ||
\newcommand{\ALC@com}[1]{\ifthenelse{\equal{##1}{default}}% | ||
{}{\ \algorithmiccomment{##1}}} | ||
\newcommand{\REQUIRE}{\item[\algorithmicrequire]} | ||
\newcommand{\ENSURE}{\item[\algorithmicensure]} | ||
\newcommand{\PRINT}{\ALC@it\algorithmicprint{} \ } | ||
\newcommand{\RETURN}{\ALC@it\algorithmicreturn{} \ } | ||
\newcommand{\TRUE}{\algorithmictrue{}} | ||
\newcommand{\FALSE}{\algorithmicfalse{}} | ||
\newcommand{\AND}{\algorithmicand{} } | ||
\newcommand{\OR}{\algorithmicor{} } | ||
\newcommand{\XOR}{\algorithmicxor{} } | ||
\newcommand{\NOT}{\algorithmicnot{} } | ||
\newcommand{\TO}{\algorithmicto{} } | ||
\newcommand{\STATE}{\ALC@it} | ||
\newcommand{\STMT}{\ALC@it} | ||
\newcommand{\COMMENT}[1]{\algorithmiccomment{##1}} | ||
\newenvironment{ALC@inputs}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@outputs}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@globals}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@body}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@if}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@for}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@whl}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@loop}{\begin{ALC@g}}{\end{ALC@g}} | ||
\newenvironment{ALC@rpt}{\begin{ALC@g}}{\end{ALC@g}} | ||
\renewcommand{\\}{\@centercr} | ||
\newcommand{\INPUTS}[1][default]{\ALC@it\algorithmicinputs\ \ALC@com{##1}\begin{ALC@inputs}} | ||
\newcommand{\ENDINPUTS}{\end{ALC@inputs}} | ||
\newcommand{\OUTPUTS}[1][default]{\ALC@it\algorithmicoutputs\ \ALC@com{##1}\begin{ALC@outputs}} | ||
\newcommand{\ENDOUTPUTS}{\end{ALC@outputs}} | ||
\newcommand{\GLOBALS}{\ALC@it\algorithmicglobals\ } | ||
\newcommand{\BODY}[1][default]{\ALC@it\algorithmicbody\ \ALC@com{##1}\begin{ALC@body}} | ||
\newcommand{\ENDBODY}{\end{ALC@body}} | ||
\newcommand{\IF}[2][default]{\ALC@it\algorithmicif\ ##2\ \algorithmicthen% | ||
\ALC@com{##1}\begin{ALC@if}} | ||
\newcommand{\ELSE}[1][default]{\end{ALC@if}\ALC@it\algorithmicelse% | ||
\ALC@com{##1}\begin{ALC@if}} | ||
\newcommand{\ELSIF}[2][default]% | ||
{\end{ALC@if}\ALC@it\algorithmicelsif\ ##2\ \algorithmicthen% | ||
\ALC@com{##1}\begin{ALC@if}} | ||
\newcommand{\FOR}[2][default]{\ALC@it\algorithmicfor\ ##2\ \algorithmicdo% | ||
\ALC@com{##1}\begin{ALC@for}} | ||
\newcommand{\FORALL}[2][default]{\ALC@it\algorithmicforall\ ##2\ % | ||
\algorithmicdo% | ||
\ALC@com{##1}\begin{ALC@for}} | ||
\newcommand{\WHILE}[2][default]{\ALC@it\algorithmicwhile\ ##2\ % | ||
\algorithmicdo% | ||
\ALC@com{##1}\begin{ALC@whl}} | ||
\newcommand{\LOOP}[1][default]{\ALC@it\algorithmicloop% | ||
\ALC@com{##1}\begin{ALC@loop}} | ||
\newcommand{\REPEAT}[1][default]{\ALC@it\algorithmicrepeat% | ||
\ALC@com{##1}\begin{ALC@rpt}} | ||
\newcommand{\UNTIL}[1]{\end{ALC@rpt}\ALC@it\algorithmicuntil\ ##1} | ||
\ifthenelse{\boolean{ALC@noend}}{ | ||
\newcommand{\ENDIF}{\end{ALC@if}} | ||
\newcommand{\ENDFOR}{\end{ALC@for}} | ||
\newcommand{\ENDWHILE}{\end{ALC@whl}} | ||
\newcommand{\ENDLOOP}{\end{ALC@loop}} | ||
}{ | ||
\newcommand{\ENDIF}{\end{ALC@if}\ALC@it\algorithmicendif} | ||
\newcommand{\ENDFOR}{\end{ALC@for}\ALC@it\algorithmicendfor} | ||
\newcommand{\ENDWHILE}{\end{ALC@whl}\ALC@it\algorithmicendwhile} | ||
\newcommand{\ENDLOOP}{\end{ALC@loop}\ALC@it\algorithmicendloop} | ||
} | ||
\renewcommand{\@toodeep}{} | ||
\begin{list}{\ALC@lno}{\setcounter{ALC@rem}{0}\setcounter{ALC@line}{0}% | ||
\itemsep\z@ \itemindent\z@ \listparindent\z@% | ||
\partopsep\z@ \parskip\z@ \parsep\z@% | ||
\labelsep 0.5em \topsep 0.2em% | ||
\ifthenelse{\equal{#1}{0}} | ||
{\labelwidth 0.5em } | ||
{\labelwidth 1.2em } | ||
\leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep} | ||
\ALC@tlm\labelsep | ||
} | ||
} | ||
{\end{list}} | ||
\endinput | ||
%% | ||
%% End of file `algorithmic.sty'. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
% breakcites | ||
% Style file to allow citations to be broken across lines. | ||
% - Don Hosek 3/14/89 (LaTeX209-Version) | ||
% - Leo Broska 02/20/97 (LaTeX-2e-Version) | ||
% | ||
\def\@citex[#1]#2{% | ||
\let\@citea\@empty | ||
\@cite{\@for\@citeb:=#2\do | ||
{\@citea\def\@citea{,\penalty\@m\ }% | ||
\edef\@citeb{\expandafter\@firstofone\@citeb}% | ||
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi | ||
\@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% | ||
\G@refundefinedtrue | ||
\@latex@warning | ||
{Citation `\@citeb' on page \thepage \space undefined}}% | ||
{\csname b@\@citeb\endcsname}}}{#1}} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/bash | ||
|
||
rm jcss.blg | ||
rm jcss.bbl | ||
rm jcss.aux | ||
rm jcss.out | ||
rm jcss.log | ||
rm jcss.spl |
Binary file not shown.
Oops, something went wrong.