Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

MapReduce e l'esecuzione speculativa

Link copiato negli appunti

Per MapReduce possiamo, volta per volta, magari in maniera errata, intendere un algoritmo MapReduce, un framework esecutivo, come Hadoop o l'implementazione originale di Google: al di là  di capire la differenza tra i tre, oggi vorremmo concentrarci su una caratteristica avanzata dei framework MapReduce, ovvero l'esecuzione speculativa.

La speculative execution è la pratica, implementata in diversi framework MapReduce (tra i quali spicca Hadoop) che permette di risparmiare fino al 50% del tempo di esecuzione di tutti l'algoritmo.

Assunto che nella fase in cui tutti i mapper, su nodi diversi, ricevono in input i dati da elaborare (che andranno passati ai reducer) si possano verificare dei problemi su qualche nodo (un disco che non legge bene, poichè rovinato, i dati di input), il framework dovrebbe aspettare tutti i mapper, anche quelli più lenti a causa di "guasti", per poter passare alla fase reduce.

In questo contesto si inserisce l'esecuzione speculativa, nella quale il framework, accortosi che un nodo processa i dati di input lentamente, non appena un altro nodo si libera, copia i dati di input dal nodo guasto e li passa a quello libero, testando se su questo nodo l'esecuzione del mapping avviene più velocemente.

Tecnica banale, forse scontata, probabilmente inutile fino all'avvento, nel 2004, dello stesso MapReduce.

Se vuoi aggiornamenti su Essentials inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche