Mappa / Riduci è un grande concetto per l'ordinamento di grandi quantità di dati contemporaneamente. Cosa fare se si dispone di piccole parti di dati e è necessario ridurlo tutto il tempo?
Semplice esempio: scegliere un servizio per la richiesta.
Immagina di avere% servizi di10
. Ciascuno fornisce servizi host con set di richiesta headers
e post / ottieni argomenti. Ogni servizio dichiara che ha 30
chiavi univoche - 10
per set.
service A:
name
id
...
Ora immaginiamo di avere un host di servizi distribuiti. Abbiamo 200
di macchine con servizi di 10
su ciascuna. Ogni servizio ha 30
di chiavi univoche in questi set. ma ora per trovare a quale servizio mappare la richiesta in arrivo, facciamo in modo che i nostri servizi pubblichino valori univoci che si associano a tali insiemi. Possiamo avere fino ao più di 10 000
di questi valori su ogni macchina per ogni servizio.
service A machine 1
name = Sam
id = 13245
...
service A machine 1
name = Ben
id = 33232
...
...
service A machine 100
name = Ron
id = 777888
...
Quindi otteniamo 200 * 10 * 30 * 30 * 10 000 == 18 000 000 000
e otteniamo 500
richieste al secondo sul nostro gateway ciascuna contenente 45
elementi 15
di cui sono solo noise
. E il nostro compito è trovare un servizio per richiesta (almeno una macchina su cui è in esecuzione).
Su tutte le macchine su tutto il cluster per gli stessi servizi abbiamo le stesse regole.
Possiamo prima selezionare a quale servizio è arrivata la nostra richiesta tramite il filtro delle regole 10 * 30
. e avremo 200 * 30 * 10 000 == 60 000 000
.
Quindi ... 60
mil è sicuramente un problema ...
Spero di avere l'idea di mappare 30 * 10 000
su una rete neurale artificiale allo stesso modo Perceptron che emette 1
se 30
parole (alcuni hash da parole) dalla richiesta sono corretti o se inferiore a Perceptron deve restituire 0. E io invieremo ciascun Perceptron per ciascun servizio da ogni macchina al gateway. Quindi avrei una mappa Perceptron <-> machine
per ogni servizio.
Qualcuno può essere alto se la mia idea di Perceptron è almeno "sana di mente"? O le persone normali lo fanno in un altro modo? O se ci sono migliori ANNs per tali scopi?