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.

Ti consigliamo anche