04.07.2013 Views

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

Thèse de doctorat: Algorithmes de classification répartis sur le cloud

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tel-00744768, version 1 - 23 Oct 2012<br />

36 CHAPTER 2. PRESENTATION OF CLOUD COMPUTING<br />

consi<strong>de</strong>rations. More specifically, the users need not dive into general paral<strong>le</strong>l applications<br />

<strong>de</strong>sign, neither do they need to have any know<strong>le</strong>dge about the hardware<br />

actually running the computations: MapReduce in<strong>de</strong>ed provi<strong>de</strong>s a sca<strong>le</strong>-agnostic<br />

([64]) interface.<br />

Secondly, the framework helps the users to figure out what the paral<strong>le</strong>l algorithm<br />

is actually running. As stated in [81], “concurrent programs are notoriously<br />

difficult to reason about”. Because of its e<strong>le</strong>mentary <strong>de</strong>sign, a MapReduce execution<br />

has Leslie Lamport’s sequential consistency property 2 , which means the<br />

MapReduce result is the same as the one that would have been produced by some<br />

reor<strong>de</strong>red sequential execution of the program. This property helps to un<strong>de</strong>rstand<br />

the MapReduce execution as it can therefore be rethought as a sequential run<br />

spee<strong>de</strong>d-up.<br />

As previously stated, the MapReduce framework also provi<strong>de</strong>s a strong resilience<br />

to failures. A reliab<strong>le</strong> commodity hardware usually has a Mean-Time Between<br />

Failures (MTBF) of 3 years. In a typical 10,000 server cluster, this implies that<br />

ten servers are failing every day. Thus, failures in large-sca<strong>le</strong> data centers are a<br />

frequent event and a framework like MapReduce is <strong>de</strong>signed to be resilient to<br />

sing<strong>le</strong> point of failures 3 . Such a resilience is hard to achieve since the computing<br />

units are dying si<strong>le</strong>ntly, i.e. without notifying of their failure. MapReduce holds a<br />

comp<strong>le</strong>x monitoring system to ping all the processing units and to en<strong>sur</strong>e all the<br />

tasks will be successfully comp<strong>le</strong>ted, as <strong>de</strong>tai<strong>le</strong>d in [47].<br />

The initial prob<strong>le</strong>ms MapReduce has been <strong>de</strong>vised to <strong>de</strong>al with are related to text<br />

mining. These prob<strong>le</strong>ms involve gigantic amounts of data that do not fit in the<br />

memory of the processing units <strong>de</strong>dicated to the computation, as explained in<br />

[48]. In such situations, providing the processing units with a continuous flow<br />

of data without starving these units out would require an aggregated bandwidth<br />

very hard to achieve. MapReduce has provi<strong>de</strong>d a new solution to this prob<strong>le</strong>m by<br />

co-locating the data storage and the processing system. Instead of pushing the<br />

data chunks to the processing units in charge of them, MapReduce pushes the<br />

tasks to the processing units whose storage holds the data chunks to be processed.<br />

Such a <strong>de</strong>sign requires a distributed fi<strong>le</strong> system that can locate where the data are<br />

stored, but removes a lot of stress on communication <strong>de</strong>vices.<br />

2. Provi<strong>de</strong>d that the map and reduce operators are <strong>de</strong>terministic functions of their input values.<br />

3. With the noticeab<strong>le</strong> exception of the sing<strong>le</strong> orchestration machine referred to as master.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!