<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Evolutionary Algorithms with Neural Networks to optimize Big Data Cache</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Tracolli</forename><surname>Mirco</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Marco</forename><surname>Baioletti</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Valentina</forename><surname>Poggioni</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Daniele</forename><surname>Spiga</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution" key="instit1">University of Florence</orgName>
								<orgName type="institution" key="instit2">University of Perugia</orgName>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="department">Research grant</orgName>
								<orgName type="institution">INFN section of Perugia</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Evolutionary Algorithms with Neural Networks to optimize Big Data Cache</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D6D48954AD0E705DDFAECE9A9D46672C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T11:11+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Neuroevolution</term>
					<term>Coevolution</term>
					<term>Evolutionary Algorithms</term>
					<term>Recurrent Neural Networks</term>
					<term>Long Short Term Memory Networks</term>
					<term>Generative Adversarial Network</term>
					<term>Reinforcement Learning</term>
					<term>data-lake</term>
					<term>Cache</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>With this project I want to develop an Artificial Intelligence (AI) for smart data cache orchestrator. This AI will be used to optimize the access to scientific experiment data. These Big Data will be stored in a data-lake environment and they have to be available for different type of tasks. I want to explore the use of Neural Networks (NNs) to optimize the cache, also using the Evolutionary Algorithms. The NNs with memory such as Long Short-Term Memory Networks are the best technique to approach these kinds of data (time series). Another possibility is a Generative Adversarial Network, that could benefit from the features of evolutionary strategies during the learning phase. Reinforcement learning could be exploited to have a real-time agent for the smart cache management. Furthermore, I want to use Coevolution approach on these networks, including the possibility to deploy the algorithm in a distributed system. These techniques will be disclosed and analyzed to improve the performance both in computational time and in the accuracy of the model.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Introduction</head><p>Big Data changed the way we store, access and process information. We are distributing data in multiple sources and we still want to use them as a centralized management. This method can raise problems due to the infrastructure network and computational resources, e.g. denial of service problems or timeout issues, more in general latency related issues. Among various techniques and solution, data cache system allows mitigating problems above mentioned.</p><p>A geo-distributed cache system could be a possible solution to serve users, particularly When computational resources are dynamically created as in the case of opportunistic computing.</p><p>Cache systems could be created manually and configured with preplaced data, but the best solution is an automatic environment that do all that work in a transparent way for the end users. In this context something that auto-adapt and reacts in the base of the actual state is necessary. For these reasons, Neural Networks (NNs) are one of the main targets of interest.</p><p>Furthermore, an approach with Evolutionary algorithms could also be notable. These algorithms that are inspired by biological evolution and solve problems using a metaheuristic approach. They are usually used to find a global optimization to a problem with several constraints.</p><p>Such algorithms operate on a population that is evolved with processes like reproduction, mutation, recombination, selection and more, in a way similar to what we see in Nature.</p><p>These strategies are also applied in Neuroevolution (NE) field to train Artificial Neural Networks (ANNs). Neuroevolution techniques are suitable methods in research fields like artificial life and evolutionary robotics, especially because they are not only bound to supervised learning algorithms. By searching the space of solutions directly, NE can be applied to reinforcement learning problems, where neural network controllers map observations from the environment directly to actions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Motivation</head><p>Data management in the next few years will be a critic domain because of the increasing size of the data. Several technical solutions already enable transparent data access, however, processing efficiency seems a common issues. Moreover, this effect can only increase as computing power increases. A key to minimize I/O inefficiency would be a highly effective dynamic cache management.</p><p>A system of caches can mitigate this problem and get easier the access to data, but it has to be also smarter than a normal cache system. Manage a distributed and on-demand group of cache requires an object that can also overcome unpredictable events without human intervention. Neural Networks (NNs) with memory suit this kind of problem and could be applied for a prototype of smart cache manager.</p><p>Special classes of NNs that allow information to persist is necessary. We can find such kind of feature in Recurrent Neural Networks (RNNs). They are born to elaborate sequences (or stream) of data.</p><p>Another useful type of RNN are the Long Short-Term Memory networks (LSTM) <ref type="bibr" target="#b5">[6]</ref>. These networks are capable of learning long-term dependencies because they are explicitly designed to remember information for long periods of time.</p><p>Using NE to evolve an ANN it could be useful to overcome to some stochastic gradient descent limits (SGD). E.g. NE avoids the problem of vanishing error gradients <ref type="bibr" target="#b4">[5]</ref> that affect recurrent network learning algorithms.</p><p>Besides the most used supervised learning techniques, two different approaches could be used: Generative adversarial networks (GANs) and Reinforcement learning (RL). The first ones are a class of generative models in which a generator is trained to optimize a cost function that is being simultaneously learned. They belong to unsupervised machine learning and they are capable to generate new data after learning from a training set. These networks could be used to forecast cache states or to create new tests for a simulation.</p><p>Reinforcement learning (RL) research has seen a number of significant advances over the past few years. These advances have allowed agents to explore several domains, such as in robotics, and not only virtual worlds like games <ref type="bibr" target="#b7">[8]</ref>. This technique could be useful to create a reactive cache that evolves during the time and changing in the base of the user requests.</p><p>Among Evolutionary Algorithms, there is a special class of Genetic Algorithms (GAs) that uses a different strategy to evolve: Coevolution. There are principally two different kinds of Coevolution, the cooperative one and the competitive. This method is similar to a natural ecosystem where organisms struggle for resources and survival and, e.g. it is used to face complex behaviors in GAs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>State of the Art</head><p>Optimize the content delivery with Artificial Intelligence is not a well defined field but still there are several companies that already do that. Amazon uses AI for Redshift service self-healing; Netflix uses an AI to improve and manage the stream quality; Algorithmia uses a layer of AI to account resources.</p><p>A formal model have to be investigated and the classical algorithms such Least Recently Used (LRU), Most Recently Used (MRU), Adaptive Replacement Cache (ARC), can not forecast or guess the user requests. This kind of approach is better suited to Neural Networks and Evolutionary Algorithms.</p><p>Regarding the Reinforcement Learning and the new type of networks available we can see in <ref type="bibr" target="#b9">[10]</ref> that an evolutionary approach, against all expectations, performs better on some domains and worse on others, but turn out to be a competitive algorithm for RL.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Problem Statement and Contributions</head><p>In my master degree thesis work, I used a specific evolutionary algorithm: the Differential Evolution (DE). The work was a part of a larger project named DENN: an experimentation of the DE as an alternative of the Gradient Descent to train Neural Networks in a supervised environment. The project involves more parts and is still in progress <ref type="bibr" target="#b0">[1]</ref>. In my thesis, I investigated some boosting techniques used to enhance the training phase of the network. With that work, I could experiment the behavior of such algorithm using real problems, e.g. the handwritten digits recognition, marketing campaigns of a Portuguese banking institution <ref type="bibr" target="#b6">[7]</ref>, biodegradation of chemicals <ref type="bibr" target="#b6">[7]</ref> and gamma telescope images <ref type="bibr" target="#b6">[7]</ref>.</p><p>The results obtained <ref type="bibr" target="#b0">[1]</ref> stimulated me to continue in this field, trying to resolve the common problems I found like (i) computational time, (ii) solution exploitation and (iii) algorithm parameters optimization.</p><p>Recently, I'm involved in the Worldwide LHC Computing Grid (WLCG) environment because of INFN (National Institute for Nuclear Physics) related projects. WLCG target is to access data as a data-lake <ref type="bibr" target="#b1">[2]</ref>[9] to overcome the next storage requirements.</p><p>In fact, the amount of data will be too big that it needs to decouple data and CPUs management. Often, the amount of data is too big that the computing centers do not have enough space to contain all experiment data <ref type="bibr">[4][3]</ref>. This means that it's necessary to change the paradigm and split the resources: data will be stored on a few (highly controlled) sites and CPUs will be found elsewhere. This type of organization, named data-lake, uses the internet as a low latency bus to connect the computational resources with the data.</p><p>This kind of model proposed in WLCG project allows facing the increasing resource request with the current funding used to maintain the platform. Of course, it's needed to manage how the data flows through the computational clusters and for this problem caches come to support the environment. A good managed cache layer allows to reduce the load of main data centers (avoid "Denial of Service"), plus we can apply a predictive provisioning load of data and move hot data close to the users. The AI has to be as independent as possible to not require human intervention.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Research Methodology and Approach</head><p>The research project is divided into several phases: analysis, experiment, test and apply. Each phase produces a piece of the final target, but they are not fully sequential. The first steps will be used to study the main use case and to formalize the problem. For this target, I will request access to CMS (Compact Muon Solenoid) experiment environment at LHC (Large Hadron Collider) at CERN. Their log data of the past years would be a good base for the analysis and the model creation. Also, I would ask to have access to INFN national distributed cache data, and other scenario related to the opportunistic computing.</p><p>With a proper model, I will generate a prototype to experiment and simulate the smart cache management. I will compare the results with the log data that I already requested and measure the performances. After that, a testbed will be used as platform before the real application in a working environment with real tasks.</p><p>All the phases could be iterate more than one time to adapt the model to the desired target. The model will be as much as possible independent of the original data used for the training. There will be created meta-features to give as input to the artificial intelligence. The output will have the same treatment because we want to describe the possible action that this smart cache can do and they have to be personalized in the base of the technology implemented with the cache and not related to a specific software.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Evaluation Plan</head><p>Cache access data are strongly time dependent. You have to treat them as a time series. For such kind of input is needed a Neural Network with memory such RNNs and LSTMs.</p><p>In my research project, I would explore the use of memory within the Evolutionary Algorithms. The use of GANs could be helpful to generate a correct configuration of data cache and also to simulate future sessions.</p><p>The Neural Network model created will be compared with the current algorithms used for cache management and also with the software used in the scientific environment such CMS to manage content delivery.</p><p>The first prototype could not have directly an evolutionary approach because I want also verify if cache management could benefit of the most recent AI techniques.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Conclusions</head><p>Analyze and manage Big Data is not trivial and a cache system can alleviate the effort to maintain a local storage for the data. A smart orchestration of a distributed cache system allows users to access data more efficiently without taking care of the opportunistic management of the resources.</p><p>Furthermore, with modern techniques, it could be possible to create adaptable cache according to the situation, without the human intervention.</p></div>		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Can differential evolution be an efficient engine to optimize neural networks?</title>
		<author>
			<persName><forename type="first">M</forename><surname>Baioletti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Di Bari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Poggioni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Tracolli</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">proc. MOD</title>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Computing for the large hadron collider</title>
		<author>
			<persName><forename type="first">I</forename><surname>Bird</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Annual Review of Nuclear and Particle Science</title>
		<imprint>
			<biblScope unit="volume">61</biblScope>
			<biblScope unit="page" from="99" to="118" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">An xrootd italian federation</title>
		<author>
			<persName><forename type="first">T</forename><surname>Boccali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Donvito</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Diacono</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Marzulli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pompili</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Della Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mazzoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Argiro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Gregori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Grandi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Physics: Conference Series</title>
		<imprint>
			<biblScope unit="volume">513</biblScope>
			<biblScope unit="page">42013</biblScope>
			<date type="published" when="2014">2014</date>
			<publisher>IOP Publishing</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Caching servers for atlas</title>
		<author>
			<persName><forename type="first">R</forename><surname>Gardner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hanushevsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Vukotic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Yang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Physics: Conference Series</title>
		<imprint>
			<biblScope unit="volume">898</biblScope>
			<biblScope unit="page">62017</biblScope>
			<date type="published" when="2017">2017</date>
			<publisher>IOP Publishing</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Gradient flow in recurrent nets: the difficulty of learning long-term dependencies</title>
		<author>
			<persName><forename type="first">S</forename><surname>Hochreiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Bengio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Frasconi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Schmidhuber</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Long short-term memory</title>
		<author>
			<persName><forename type="first">S</forename><surname>Hochreiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Schmidhuber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Neural computation</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="1735" to="1780" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Lichman</surname></persName>
		</author>
		<ptr target="http://archive.ics.uci.edu/ml" />
		<title level="m">UCI machine learning repository</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Human-level control through deep reinforcement learning</title>
		<author>
			<persName><forename type="first">V</forename><surname>Mnih</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kavukcuoglu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Silver</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Rusu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Veness</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">G</forename><surname>Bellemare</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Graves</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Riedmiller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K</forename><surname>Fidjeland</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Ostrovski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Nature</title>
		<imprint>
			<biblScope unit="volume">518</biblScope>
			<biblScope unit="page">529</biblScope>
			<date type="published" when="2015">7540. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Computing services for lhc: from clusters to grids</title>
		<author>
			<persName><forename type="first">L</forename><surname>Robertson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">From the web to the grid and beyond</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011">2011</date>
			<biblScope unit="page" from="69" to="89" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Deep neuroevolution: genetic algorithms are a competitive alternative for training deep neural networks for reinforcement learning</title>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">P</forename><surname>Such</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Madhavan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Conti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lehman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">O</forename><surname>Stanley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Clune</surname></persName>
		</author>
		<idno type="arXiv">arXiv:1712.06567</idno>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note type="report_type">arXiv preprint</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
