# A System for Sustainable Usage of Computing Resources Leveraging Deep Learning Predictions
## 2 Materials and Methods
### Deep Learning Models for Time-Series Analysis  
Machine learning algorithms have had a wide array of applications over the past three decades, dramatically improving human ability to perform tasks that were considered hard or impossible to model using programming language code. The deep learning algorithms have led to solutions for tasks previously thought to be impossible to be solved by a computer:  
* Vision and image identification through the pioneering work of [PERSON] in automatic zip code identification off postal packages [15];
* Speech recognition through the usage of convolutional neural networks [16];
* Complex learning tasks through q-learning and reinforcement learning, coming closer to top human-level performance in tasks such as playing video games [17].  
More recently, deep artificial neural networks have been widely successful in time-series analysis applied to financial data, such as the price of gold being accurately predicted by using convolutional neural networks (CNN), together with long short term memory networks (LSTM) [18]. CNNs have gained much popularity in the field of image processing, especially when it comes to recognition or classification tasks, such as face recognition [19], but recently have been proven to work on sequences of data fairly well (time-series and natural language).  
When it comes to climate and carbon-footprint related work, there are several different papers that leverage deep learning for a variety of important tasks. [PERSON] et al. [20] propose a system based on LSTMs that is capable of modeling groundwater storage change, an important topic in more arid areas of the world. [PERSON] [21] also covers the importance and feasibility of providing powerful methods to forecast air pollution using a combination between deep neural networks and classical algorithms, such as XGBoost, random forest, or SVMs.  
In terms of sequence processing, one key insight was the development of the back-propagation through time algorithm, allowing the inception and usage of recurrent neural networks (RNNs) [22]. These algorithms work best on a sequence of data, making them important to consider for the task that this paper sets out on solving. Recently, improvements have been made to the algorithm in order to improve its memory efficiency [23].  
Recurrent neural networks have been used for a wide range of tasks in the deep learning community, some even developing algorithms that can predict CPU usage using them [2]. However, the predictions focus on a single type of architecture and do not perform a comparison with all the other algorithms that may be useful for the task. [PERSON] et al. [24] more recently attempted to efficiently predict CPU usage based on time-series data and discovered that LSTM networks provide better results than the classic ARIMA approach. The same result in a different field has been found by [PERSON] et al., in their paper presenting financial forecasting using time-series models [25]. From the same field of LSTMs used for price forecasting, [PERSON] and [PERSON] [26] present a paper successfully tweaking the architecture in order to accurately predict oil prices on the market.  
The authors are not aware of other papers that perform a thorough comparative study between the different types of neural network architectures which could be used to perform this forecasting task.  
Lastly, concepts such as \"attention\" that spawn from natural language processing and recurrent neural networks can be efficiently used in order to forecast and analyze time-series data as shown by [PERSON] et al. in 2017 [27].