Un sistema distribuito è un sistema ad alta intensità di comunicazione, in cui ogni sistema invia e riceve messaggi per aggiornarsi sullo stato attuale del sistema. La comunicazione effettuata per aggiornare lo stato del sistema è un overhead e può degradare le prestazioni del sistema. Ridurre l'overhead di comunicazione negli algoritmi di bilanciamento del carico per bilanciare un sistema distribuito è un compito impegnativo. In un sistema distribuito i nodi possono avere capacità di calcolo diverse. Assegnare il carico di lavoro ai nodi in base alla loro capacità di calcolo aumenterà le prestazioni del sistema. Per assegnare il carico di lavoro in base alla capacità di calcolo è necessario creare un elenco di priorità dei nodi di calcolo. Le prestazioni di un sistema distribuito dipendono fortemente dall'algoritmo di bilanciamento del carico utilizzato. È vantaggioso assegnare una priorità ai processori in base alla loro potenza di calcolo e trasferire il carico di lavoro da un sistema molto carico a un sistema poco carico. Questa strategia è in grado di ridurre il tempo di risposta e fornisce un migliore utilizzo delle risorse.