diff options
Diffstat (limited to 'content/background.tex')
| -rw-r--r-- | content/background.tex | 89 |
1 files changed, 48 insertions, 41 deletions
diff --git a/content/background.tex b/content/background.tex index d353069..4fa67c5 100644 --- a/content/background.tex +++ b/content/background.tex @@ -1,45 +1,55 @@ \chapter{Background}\label{s:background} - \section{Datacenters}\label{ss:datacenters} -In this section we provide a short background on datacenters, datacenter simulation and hardware failures. - -Datacenters are important building blocks of the digital society~\cite{DBLP:journals/corr/IosupKLVG22}. -Reliable warehouse management is a key priority for datacenter operators, because incorrect decisions can lead to missed \gls{sla}s. -However, reliable and timely management is a difficult challenge, because datacenters are extremely complex facilities. -To help datacenter operators, the scientific community proposes to simulate datacenter operations to make more informed operational decisions. +In this section we provide a short background on datacenter simulation and hardware failures. +We find it useful to provide a brief introduction to both topics so as to ensure reader's fullest understanding of subsequent chapters. +Since datacenters are important building blocks of the digital society, reliable warehouse management is a key priority for datacenter operators. +Incorrect management decisions can lead to missed \gls{sla}s~\cite{DBLP:journals/corr/IosupKLVG22} and even large financial penalties~\cite{DBLP:report/AnnualOutageAnalysis2025}. +However, efficient and timely management is a difficult challenge, because datacenters are extremely complex facilities. +To help datacenter operators, the scientific community proposes to simulate datacenters to make more informed decisions. \subsection{Datacenter Simulation}\label{sss:simulation} \input{sources/simulator_comparison.tex} -Simulation is an excellent way to help design, test and manage datacenters. +Simulation empowers better design, testing and management of datacenters~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. +A well-designed datacenter simulator can estimate a months-long workload in a few minutes or hours. To simulate is to ``imitate of real-world process or system over time, enabling the study of, and experimentation with the internal interactions of complex systems''~\cite{DBLP:books/daglib/0034857} +In this project we only consider \emph{discrete-event simulation}. + +Discrete-event simulation represents system operations as a sequence of events over time, with an assumption that no changes occur between the events. +Due to the scale and complexity of datacenters, most simulators use discrete-event simulation~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. + Alternatives to simulation include real-world experimentation and mathematical analysis. -However, experimentation \emph{in situ} is unsustainable, and mathematical analysis is not scalable to modern datacenters~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. -A good datacenter simulator can estimate the results of running a months long workload in a matter of minutes or hours. -The scientific community has developed several datacenter simulators (see \Cref{tab:datacenter_simulator_comparison}). -In our work, we decided to use \code{OpenDC}, because we find it important for a simulator to model hardware failures well. -\emph{Failure models} are a carefully calibrated, advanced feature of \code{OpenDC}. +However, experimentation \emph{in situ} is unsustainable, expensive and difficult to reproduce and mathematical analysis is not scalable to modern datacenters~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. +Therefore, in this project we only consider simulation as a foundation for the \gls{dcdt}. +There exist many datacenter simulation tools, for example DGSim~\cite{DBLP:conf/europar/IosupSE08}, CloudSim~\cite{DBLP:journals/spe/CalheirosRBRB11}, SimGrid~\cite{DBLP:journals/corr/CasanovaGLQS13}, iCanCloud~\cite{DBLP:journals/grid/NunezVCCCL12}, GroudSim~\cite{DBLP:conf/europar/OstermannPPF10} and OpenDC~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. +See \Cref{tab:datacenter_simulator_comparison} for a comparison of selected datacenter simulators, combined by Mastenbroek \etal~\cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. +In order to narrow the scope of the project, we only consider {OpenDC} as a simulator for the digital twin design. +We decided to use {OpenDC}, because we find it important for a simulator to model hardware failures well. +\emph{Failure models} are a carefully calibrated, advanced feature of {OpenDC}. +Further details about {OpenDC} can be referred to in the linked literature \cite{DBLP:conf/ccgrid/MastenbroekAJLB21}. \subsection{Compute Failures}\label{sss:failures} A failure is defined as ``an event that makes a system fail to operate according to its specifications``~\cite{DBLP:journals/jpdc/JavadiKIE13}. -Hardware and software failures in datacenters result in service downtime, missed \gls{sla} and user inconvenience~\cite{DBLP:conf/acsos/TalluriOVTI21, DBLP:journals/jpdc/JavadiKIE13}. -A good example of a software failure is a hypervisor crash. +We distinguish 2 failure types: \begin{enumerate*} + \item software failures + \item hardware failures. +\end{enumerate*} +For example, a hypervisor crash a software failure. Each \gls{vm} within the crashed hypervisor is killed as a result. An example of a hardware failure is a host crash, where a single server stops working (\eg as a result of a disk fault, or faulty power supply cable). - -\code{OpenDC} uses the notion of a \emph{failure model} to simulate failures, alongside \emph{failure traces}. +Hardware and software failures in datacenters result in service downtime, missed \gls{sla} and user inconvenience~\cite{DBLP:conf/acsos/TalluriOVTI21, DBLP:journals/jpdc/JavadiKIE13}. +OpenDC uses the notion of a \emph{failure model} to simulate failures, alongside \emph{failure traces}. A failure model consists of two statistical distributions: \begin{enumerate*}[label=(\arabic*)] \item to model service unavailability \item to model service availability. \end{enumerate*} A failure trace is defined by an interval, duration, and intensity of several failures, which are later looped throughout the simulated workload (source \url{opendc.org}). -In summary \code{OpenDC} enables experimentation with failures that enables insights that are not provided by other state-of-the-art software. +In summary OpenDC enables experimentation with failures that enables insights that are not provided by other state-of-the-art software. However, the fidelity of failure modeling inside a datacenter simulation is still insufficient to predict in failures in real-time, as they happen in a physical datacenter. Since a datacenter simulator is quite different from a digital twin, we cannot use the same computation methods from simulation to predict real-time failures. +Digital twinning is an improvement upon pure simulation. \section{Digital Twinning}\label{ss:digital-twinning} -% To fix: remove the \gls commands for ExaDigiT. -% This is getting silly. In this section we explore how the datacenter management can be improved using a novel modelling technique, digital twinning. We present the generic, field-agnostic \gls{dt} definition and investigate how \emph{datacenter} digital twinning applies the definition in practice. @@ -59,15 +69,15 @@ A generic \gls{dt} architecture is depicted in Figure \ref{fig:five_dimensional_ % Why has not anyone done this before? Digital twinning has only recently become feasible because of the developments in \gls{hpc}. -Between 2003 and 2011 the compute needed to run a Digital Twin was simply not present. +Between 2003 and 2011 the compute needed to run a \gls{dt} was simply not present. As such, while the concept existed, the hardware did not catch up yet. However, in the last decade, multicore computing paradigms and the advent of GPU computing has finally enabled computation needed to run digital twins. As a result, digital twins have become more relevant today than 10 years ago~\cite{DBLP:conf/cirp/TAO2018169}. -A crucial part any of any \gls{dt} should be \emph{predictive modelling}, which drives actionable insights~\cite{DBLP:usdoe/report/AP26894} (see \Cref{fig:predictive_analytics}). +A crucial part any of any \gls{dt} is \emph{predictive modelling}, which drives actionable insights~\cite{DBLP:usdoe/report/AP26894} (see \Cref{fig:predictive_analytics}). \begin{figure}[t] \includegraphics[width=\linewidth]{images/predictive_analytics.pdf} - \caption{Datacenter Digital Twin Diagram. There are 5 core elements to any Digital Twin: \myCircled{A} The Digital $\rightarrow$ Physical Twin link, \myCircled{B} the Physical Twin (\emph{e.g.,} the datacenter), \myCircled{C} the Physical $\rightarrow$ Digital Twin link, \myCircled{D} the Digital Twin, \myCircled{E} the features necessary to any Digital Twin.} + \caption{Datacenter Digital Twin diagram. There are 5 core elements to any Digital Twin: \myCircled{A} The Digital $\rightarrow$ Physical Twin link, \myCircled{B} the Physical Twin (\emph{e.g.,} the datacenter), \myCircled{C} the Physical $\rightarrow$ Digital Twin link, \myCircled{D} the Digital Twin, \myCircled{E} the features necessary to any Digital Twin.} \label{fig:predictive_analytics} \end{figure} Predictive modelling uses statistics to predict outcomes. @@ -76,21 +86,19 @@ Almost any statistical model can be used for prediction purposes, but nowadays p A primary example of popular analysis type is linear regression. However, any modelling technique, \eg \emph{discrete-event simulation} can be used to make the predictions. +Predictive analysis belongs to a larger domain of \gls{oda}. +\gls{oda} is the ``use of operational data instrumentation, analysis, integration, and archiving, towards effective design, commissioning, and optimization of datacenter operations'' \cite{DBLP:conf/icppw/BourassaJBCJVS19}. + +Operational analytics are present at all layers of a datacenter. +A reference architecture, proposed by \emph{Suman et al.} describes the kind of operational analysis performed at each distributed system layer. +For example, at the resource manager layer, \gls{oda} should enable workload modeling capabilities, which use predictive analysis to determine submitted user job properties~\cite{DBLP:conf/wosp/SumanCNTMI24}. +There exist several \gls{oda} frameworks, for example OMNI \cite{DBLP:conf/icppw/BourassaJBCJVS19}, Wintermute DCDB \cite{DBLP:conf/hpdc/NettiMGOTO020}, ExaMon \cite{DBLP:journals/tpds/BorghesiMMB22}, AutoDiagn \cite{DBLP:journals/tc/DemirbagaWNMAGZ22} and ODAbler \cite{DBLP:conf/wosp/SumanCNTMI24}. + A major limitation of predictive analytics is that history cannot always predict the future. Using historical data to predict outcomes works only under the assumption that there are certain long lasting patterns in the system. Additionally, no matter how extensive is the training data, there is always the possibility of new variables that have not been considered or even defined, yet are critical to the outcome of the prediction~\cite{Wikipedia:PredictiveModelling}. -%Here you have to cite Deisenroth, 2024, chapter 8.1.4. -%An inference function is a machine learning model which uses probabilistic parameter estimation~\cite{}. -%A prime example of using probability to find a good machine learning model is Bayesian inference. -% Stanford Encyclopedia of Philosophy, Douven 2017 -%The process of inference from data to provide the best explanation is called abduction. -% (3) in the original paper by Fei Tao is referenced to just `Services`. -% Nonetheless I name them here as Data Analysis Services, because what Fei Tao lists (e.g., fault detection, fault determination, fault-tolerant management, maintenance) is inherently reliant on good data analytics. -%\subsection{Digital Twins across Domains}\label{sss:digital_twins_across_domains} - \subsection{Digital Twins for Datacenters}\label{sss:digital_twins_for_datacenters} - In this section, we survey the work related to datacenter digital twinning. We summarize our results in Table \ref{tab:dt_features_comparison} to compare and contrast the features of existing datacenter digital twins. We select only the digital twins that adhere closest to the \gls{nasem} definition~\cite{DBLP:usdoe/report/AP26894}. @@ -159,25 +167,24 @@ With over 20 million connections in the network graphs, the system is a prime ex Kalibre~\cite{DBLP:conf/sensys/WangZD0TCWZ20} is a system designed by Wang \etal in order to overcome the cons of \gls{cfd}. To lessen the computational overhead, Wang \etal propose to use a knowledge-based neural surrogate to calibrate the different \gls{cfd} models. Kalibre takes the best of both \gls{ml} and \gls{cfd} approaches and achieves sub 1 degree Celsius \gls{mae}, similarly to Reducio~\cite{DBLP:conf/sensys/CaoW0022}. - % What is more, Microsoft already offers digital twinning as a service https://azure.microsoft.com/en-us/products/digital-twins/ % Documentation: https://learn.microsoft.com/en-us/azure/digital-twins/ % Moreover, NVIDIA is doing too as well https://www.nvidia.com/en-sg/omniverse/ -\subsection{System Model for Datacenter Digital Twinning} -\label{ss:system_model_for_dcdts} +%\subsection{System Model for Datacenter Digital Twinning} +%\label{ss:system_model_for_dcdts} -\begin{figure}[tb] +\begin{figure}[t] \centering - \includegraphics[width=\linewidth]{images/system_model.pdf} - \caption{A generic system model for data center digital twin deployments. + \includegraphics[width=0.95\linewidth]{images/system_model.pdf} + \caption{A generic system model for datacenter digital twin deployments. The design of DyTwin~\cite{DBLP:conf/sc/TaheriBPRHDEWPM24} indirectly incorporates in its architecture a ``virtual-to-virtual`` digital thread between different digital twins. Zhao \etal likewise present key elements to the digital thread in their architecture~\cite{DBLP:conf/AppliedEnergy/Zhao20}. We add the \emph{Digital Thread} to our model explicitly.} \label{fig:system_model} \end{figure} -To summarize, many \gls{dcdt}'s model the cooling systems inside the warehouse, because in a typical datacenter cooling accounts for more than 40\% of total electricity usage~\cite{DBLP:conf/AppliedEnergy/Zhao20}. -Since the cooling subsystem is mainly airflow-based, \gls{dt} designers often opt for a \gls{cfd} approach to model the facility. +%To summarize, many \gls{dcdt}'s model the cooling systems inside the warehouse, because in a typical datacenter cooling accounts for more than 40\% of total electricity usage~\cite{DBLP:conf/AppliedEnergy/Zhao20}. +%Since the cooling subsystem is mainly airflow-based, \gls{dt} designers often opt for a \gls{cfd} approach to model the facility. %The reason why a digital twin might be needed for a cooling subsystem is primarily because of inefficient operational strategy. %The cooling system parameters are often set constant, regardless of outdoor temperature \etc~\cite{DBLP:conf/AppliedEnergy/Zhao20}. %Zhang \etal argues that their system is akin to an IoT sensor, essentially. |
