È possibile configurare un cluster con architettura mista?
-
10-07-2019 - |
Domanda
Ho un computer x86-64 con Linux che vorrei integrare con altre macchine Linux non x86-64.
È possibile in qualche modo beneficiare della potenza computazionale di un'altra macchina senza che sia la stessa architettura?
Come seconda domanda, che tipo di aumenti delle prestazioni sono disponibili e richiede software specializzato per funzionare? Oppure Linux può semplicemente astrarre il cluster / macchine aggiuntive come CPU aggiuntive?
Altri suggerimenti
A seconda del software, può o non può essere estratto. Fare tali cose di solito comporta chiamate di procedure remote e, a seconda della libreria utilizzata, può o non può essere sottratto.
Un esempio di base è fare un RPC e fornire un numero intero come argomento. Alcune architetture usano big-endian, altre usano little-endian e la tua libreria RPC deve occuparsene.
Non dovresti comunque fare affidamento su questo fatto. Devi avere il livello di astrazione giusto (ad es. La comunicazione su IP è un buon punto di partenza). Ciò è in parte necessario per consentire " in service upgrade " vale a dire l'aggiunta di macchine più recenti che possono / o non avere la stessa architettura della configurazione del cluster iniziale.
Immagina di andare dal tuo capo: " Beh, dobbiamo interrompere l'intero servizio perché abbiamo queste nuove fantasiose macchine ... " . (e posso sentire la risposta forte e chiara)
Naturalmente, se le preoccupazioni di un ambiente di produzione sono fuori portata nel tuo caso specifico, puoi ignorare la mia citazione. Diciamo solo che sarebbe un requisito tipico per qualsiasi grande distribuzione.
Infine, è sempre più facile gestire un cluster simmetrico (la manutenzione è semplificata) ma, ancora una volta, un cluster asimmetrico può essere un "trampolino di lancio"; quando si ha a che fare con un "aggiornamento a rotazione" "
Chiarimento : non ho mai eluso di astrarre tutto . Chiarimento n. 2 : da " architecture " Sto assumendo "architettura della CPU" vale a dire non "architettura dell'intero sistema".
Per quanto riguarda la seconda parte della tua domanda: tutto dipende dall'architettura del tuo software.