
Cluster Computing
Presentation
•
Computers
•
12th Grade
•
Easy
Emanuela Giaconi
Used 6+ times
FREE Resource
57 Slides • 6 Questions
1
Cluster Computing
2
Open Ended
Che cos'è un cluster computing?
3
4
Cluster Computing
Il cluster computing è un’architettura distribuita e centralizzata che consente di risolvere elaborazioni impegnative attraverso la scomposizione del problema in sottoquesiti, che vengono smistati tra i computer della rete: ciascun computer risolve il proprio sotto-quesito in parallelo agli altri
Clusetr Computing - Emanuela Giaconi - classe 5BI
5
Cluster Computing
Gruppo di computer collegati in rete tra loro che lavorano in parallelo (computazione a grappolo), distribuendo il carico di elaborazione e aumentando la potenza di calcolo, o garantendo la continuità del servizio
Clusetr Computing - Emanuela Giaconi - classe 5BI
6
Cluster Computing - Architettura
Le macchine nel cluster sono collegate tra loro in un ambiente di programmazione parallela, da middleware e applicazioni.
Il sistema di gestione e programmazione dei lavori è centralizzato: i computer cluster lavorano come una sola macchina di elaborazione. I server fisici di ogni nodo del cluster condividono unità di storage.
Clusetr Computing - Emanuela Giaconi - classe 5BI
7
Cluster Computing - Architettura
I computer cluster possono essere collegati tra loro in diversi modi che supportino l’ampia larghezza di banda e la comunicazione a bassa latenza tra i nodi.
Clusetr Computing - Emanuela Giaconi - classe 5BI
8
Open Ended
A cosa serve secondo te il cluster computing?
9
Cluster Computing
Il cluster computing viene utilizzato per aumentare la potenza di calcolo e garantire la continuità operativa in azienda senza ricorrere ai superprocessori.
Clusetr Computing - Emanuela Giaconi - classe 5BI
10
Cluster Computing - Classificazione
I cluster possono essere classificati in base alla posizione:
cluster a distanza estesa: nodi in data center diversi e a distanza, collegati via cavo ad alta velocità.
cluster metropolitani: prende il nome dall’area geografica in cui è distribuito
cluster continentali: può estendersi per centinaia o migliaia di chilometri.
Clusetr Computing - Emanuela Giaconi - classe 5BI
11
Cluster Computing - Classificazione
I cluster possono essere classificati in base allo scopo:
High Availability: per mantenere la continuità operativa e proteggere una o più funzioni sensibili
Load Balancing: bilanciamento del carico
HPC: high performance computing
Clusetr Computing - Emanuela Giaconi - classe 5BI
12
Open Ended
Come è possibile secondo te creare un cluster in high availability? tu come lo faresti?
13
Classificazione - High Availability
Chi vende Hardware sostiene che ci sia bisogno di Server sempre più “corazzati”.
Chi vende Software parla di ridondanza, sincronizzazione e digital twin.
Chi ha ragione?
14
Open Ended
Per classificare il grado di ridondanza, quali parametri occorre m,isurare secondo te?
15
Classificazione - High Availability
In prima istanza va definita la “piramide della disponibilità” nella quale i KPI sono:
l’RTO (Recovery Time Objective: tempo di ripristino)
l’RPO (Recovery Point Objective: tempo massimo che può intercorrere tra la produzione di un dato e la sua messa in sicurezza)
16
Classificazione - High Availability
L’RTO misura quindi il tempo massimo tollerato di interruzione dell’operatività del sistema aziendale. Alla base del concetto di Recovery Time Objective c’è il principio secondo cui ogni secondo di operatività bloccata può causare una ulteriore perdita economica all’azienda.
17
Classificazione - High Availability
Poter effettuare una stima in anticipo permette di calcolare il tempo massimo che l’azienda può trascorrere offline riducendo al minimo le perdite. Se il valore del Recovery Time Objective è vicino allo zero si può prevedere una soluzione di Business Continuity, in cui l’operatività aziendale non subisce alcuna interruzione in caso di eventi avversi.
18
Classificazione - High Availability
Il Recovery Point Objective si riferisce alla tolleranza ai guasti di un sistema informatico. In particolare, indica il tempo massimo che può intercorrere tra la produzione di un dato e la sua messa in sicurezza attraverso un backup. Ciò permette di definire ogni quanto è necessario effettuare backup e ogni quanto deve avvenire il salvataggio dei dati.
19
Classificazione - High Availability
Il valore dipende dall’attività che l’azienda svolge e dalla frequenza con cui vengono creati nuovi dati. Per attività e imprese che producono ogni minuto decine di dati e informazioni nuovi, sarà necessario prevedere un backup dei dati istantaneo e continuo, così da permettere una messa in sicurezza efficace di tutte le informazioni.
20
Classificazione - High Availability
RTO e RPO sono parametri considerati essenziali per poter pianificare il Disaster Recovery Plan aziendale. Il Recovery Time Objective e il Recovery Point Objective non hanno valori standard: ogni azienda necessita di una valutazione su misura. In base ai valori attribuiti ai due parametri, è possibile stabilire priorità e costi per definire le politiche di Disaster Recovery più adeguate.
21
Classificazione - High Availability
L'importanza dei parametri non è casuale: l’RTO, infatti, rappresenta il tempo massimo previsto per il ripristino di un sistema aziendale così da renderlo di nuovo utilizzabile dal cliente finale, mentre l'RPO fa riferimento a quando può risalire l'ultima copia dei dati effettuata e quanti dati l’azienda può perdere.
22
Classificazione - High Availability
In questo modo, è possibile definire un Disastro Recovery Plan che tiene in considerazione l'impatto degli attacchi da parte di cyber criminali non solo dal punto di vista puramente informatico, ma anche dal punto di vista economico, legale e di reputazione. Più il tempo di down del processo è lungo, più l'impatto cresce: per questo una stima precisa e personalizzata dei valori di RTO e RPO è alla base di ogni buona procedura di sicurezza informatica aziendale realmente efficace.
23
24
Classificazione - High Availability
Alta disponibilità del software. Si riferisce al tempo di attività dei sistemi, tipicamente ottenuto da un software di replica.
Questi software replicano i dati su uno o più siti diversi, in modo che quando il sistema primario non è in linea la loro disponibilità passa in “failing over” sul sito secondario (che è dotato di una copia dei dati)
25
Open Ended
Quale può essere il problema con questo tipo di soluzione?
26
Classificazione - High Availability
Uno dei fattori critici però è l’obsolescenza dei dati copiati. Ad esempio, se la replica dei dati non è in tempo reale si perde il lavoro fatto dall’ultima copia eseguita fino a quando si è bloccato il sistema.
27
Classificazione - High Availability
Alta disponibilità hardware. Si riferisce al fatto di avere sistemi ridondati, come un nodo secondario o addirittura terziario pronti per il ripristino quando il sistema primario passa offline.
28
Classificazione - High Availability
Al fine di mantenere i sistemi altamente disponibili, è necessario disporre di un set secondario di hardware fault tolerant per raccogliere tutto il sistema completo.
29
Classificazione - High Availability
Un esempio di questo è il RAID (Redundant Array of Independent Disks), che molte aziende utilizzano per copiare i propri dati su più dischi rigidi.
30
Classificazione - High Availability
Le aziende spesso confondono l’elevata disponibilità dell’hardware (ovvero sistemi fisici sicuri, ridondanti e a prova di errore) con l’alta disponibilità del software.
L’Hardware HA è un componente critico del software HA e non è sufficiente per mantenere i sistemi disponibili senza anche un buon software HA.
31
Classificazione - High Availability
Per ottenere l’HA di sistema, è necessario un efficace software di replica, meccanismi di rilevamento errore, ripristino degli errori oltre che una rete consolidata alla ridondanza dell’hardware, ed una sincronizzazione dei dischi da un nodo all’altro in tempo reale, in modo da ripartire nello stesso stato in cui il sistema si è bloccato.
32
Classificazione - High Availability
Un’applicazione ritenuta critica deve essere prestante sia per quanto riguarda la ridondanza fisica (pc e server adeguati) che quella digitale: quindi hardware sufficientemente “carrozzato” e una costante sincronizzazione tra (almeno) 2 sessioni software. Questo per evitare ogni single point of failure.
33
Classificazione - High Availability
Fail-over o high availability cluster sono usati per mantenere la continuità operativa e proteggere una o più funzioni sensibili, che vengono monitorate in modo permanente: se, ad esempio, l’applicazione smette di funzionare e il nodo locale non riesce a riavviarla, il software del cluster sposterà il riavvio su un altro nodo. Se il cluster è formato da più di due nodi, si potranno definire diversi livelli di commutazione
Clusetr Computing - Emanuela Giaconi - classe 5BI
34
Classificazione - High Availability
Alta Affidabilità: caratteristica con cui si può dare la garanzia di funzionamento anche in caso di guasti.
Diversi tipi di sistemi: web-servers, mail-servers, applicazioni gestionali, servers di database.
In caso di problemi ad un “nodo” i servizi da esso erogati fino a quel momento vengono riavviati o spostati su un altro “nodo”.
Clusetr Computing - Emanuela Giaconi - classe 5BI
35
Classificazione - High Availability
È importante saper progettare il sistema cluster in modo che risponda positivamente al maggior numero possibile di guasti. L’esperienza in questo lavoro è la migliore garanzia di riuscita di un sistema ad alta affidabilità. La tolleranza ai guasti garantisce l'immunità da tutti i guasti per cui è stata ben progettata una protezione
Clusetr Computing - Emanuela Giaconi - classe 5BI
36
Classificazione - High Availability
Supponiamo di avere un "nodo" guasto. Se tale "nodo" fisico fa parte di un cluster, i nodi rimanenti del cluster sono in grado di sopperire al nodo guasto e coordinare rapidamente lo spostamento a caldo su altri nodi disponibili nel cluster; questo in maniera totalmente automatica e senza intervento del personale IT.
Il sistema assicura che i carichi di lavoro in esecuzione su un cluster abbiano un più alto livello di affidabilità di quelli in esecuzione su server fisici singoli.
Clusetr Computing - Emanuela Giaconi - classe 5BI
37
Classificazione - Load balancing
I Load Balancing cluster, o cluster di bilanciamento del carico, verifica che ogni nodo abbia lo stesso carico di lavoro e invia le richieste di elaborazione al nodo meno sovraccarico, quindi con il tempo di risposta più veloce. Obiettivo: ottimizzare le prestazioni globali, il rendimento e la capacità dell’infrastruttura
Esempio: OpenMosix
Clusetr Computing - Emanuela Giaconi - classe 5BI
38
OpenMosix
Mosix, Multi-computer Operating System for Unix, è un sistema di gestione di cluster Linux che ne potenzia le capacità del kernel offrendo "cluster capabilities" e griglie organizzative.
è un'estensione (patch) del kernel di Linux. I processi in esecuzione vengono assegnati e riassegnati dinamicamente ai nodi del cluster in modo da ottenere in ogni momento il massimo vantaggio dalle risorse disponibili
Clusetr Computing - Emanuela Giaconi - classe 5BI
39
OpenMosix
Network transparency:
I nodi del cluster, che comunicano attraverso una LAN efficiente, si comportano come una singola macchina (sistema composto da più macchine fisiche come un'unica macchina virtuale Single-system image - SSI). Le applicazioni non devono essere modificate o linkate a una particolare libreria. L’utente ha l’impressione di interagire con un solo computer
Clusetr Computing - Emanuela Giaconi - classe 5BI
40
OpenMosix
Network transparency:
La scalabilità è lineare rispetto al numero di nodi del cluster
Preemptive process migration:
Ogni processo utente, in qualsiasi momento e in maniera trasparente può migrare verso un nodo disponibile.
Clusetr Computing - Emanuela Giaconi - classe 5BI
41
OpenMosix
I processi sono costituiti da 2 parti:
system context (deputy) che è legato al nodo in cui è stato creato e non può migrare
user context (remote) che può migrare su qualsiasi nodo del cluster
Clusetr Computing - Emanuela Giaconi - classe 5BI
42
OpenMosix
Clusetr Computing - Emanuela Giaconi - classe 5BI
43
OpenMosix
Clusetr Computing - Emanuela Giaconi - classe 5BI
Preemptive process migration: limiti
Alcuni processi non possono essere divisi in deputy e remote. La loro esecuzione è confinata al nodo in cui sono stati creati.
Esempi: Writeable Shared Memory, Sockets, Real-Time scheduling
44
OpenMosix
Migrazione automatica dei processi tra i nodi del cluster in modo da bilanciare il carico: viene realizzato con la migrazione dei processi verso i nodi più “scarichi”
i nodi del cluster notificano agli altri nodi circa il loro stato (esempio: numero di processi eseguiti, uso del processore e della memoria)
Clusetr Computing - Emanuela Giaconi - classe 5BI
45
OpenMosix
Migrazione automatica dei processi tra i nodi del cluster in modo da bilanciare il carico: viene realizzato con la migrazione dei processi verso i nodi più “scarichi”
Tiene conto delle caratteristiche dei processi (CPU intensive, RAM intensive, I/O etc…) del numero di nodi disponibili e delle loro velocità
Clusetr Computing - Emanuela Giaconi - classe 5BI
46
OpenMosix
La politica è asimmetrica e decentralizzata: tutti i nodi usano lo stesso algoritmo di loadbalancing
I processi vengono migrati verso i nodi che hanno una maggiore memoria disponibile (funzionalità prioritaria)
L’assegnazione di un processo ad un nodo viene effettuata sulla base di un modello matematico che minimizza i costi associati all’ultilizzo delle risorse (memoria, cpu, network-bandwidth…)
Clusetr Computing - Emanuela Giaconi - classe 5BI
47
OpenMosix
Ad ogni intervallo di tempo (es 1 sec) ogni nodo colleziona e dissemina informazioni sul suo stato (esempio: numero di processi eseguiti, uso del processore e della memoria…) verso un subset di altri nodi scelti in modo casuale
Ogni nodo ha un’elevata conoscenza delle risorse disponibili sugli altri nodi
I nodi sono in grado di accorgersi di variazioni nella configurazione del cluster
Ogni nodo è in grado di prendere autonomamente decisioni sul controllo dei processi
Clusetr Computing - Emanuela Giaconi - classe 5BI
48
OpenMosix
Ogni nodo è in grado di prendere autonomamente decisioni sul controllo dei processi:
Non esistono relazioni “master-slave” tra i nodi
I nodi possono “entrare” o “uscire” dal cluster con la minima perdita di consistenza
Clusetr Computing - Emanuela Giaconi - classe 5BI
49
OpenMosix
Consente la migrazione dei processi da un nodo all'altro del cluster in modo automatico e trasparente, garantendo tutte le funzionalità dei comandi di controllo dei processi Linux senza costringere gli sviluppatori a riscrivere le applicazioni in modo da gestire la suddivisione dei processi in sottoprocessi indipendenti che possano essere eseguiti su processori differenti.
Clusetr Computing - Emanuela Giaconi - classe 5BI
50
OpenMosix
OpenMosix non ha un controllo centralizzato. Ogni nodo agisce come un sistema autonomo, le sue decisioni sono indipendenti e si basano su una conoscenza parziale degli altri nodi.
se un nodo del cluster determina che un altro nodo ha maggiore risorse per gestire un processo, il processo viene migrato sull'altro nodo
-
Clusetr Computing - Emanuela Giaconi - classe 5BI
51
OpenMosix - Vantaggi
adattabile: non è necessario usare nodi identici, ma possono essere usate varie tipologie di CPU
economico: non è necessario usare HW dedicato
scalabile: per aumentare le prestazione occorre solo aumentare il numero di nodi (max 65.536)
-
Clusetr Computing - Emanuela Giaconi - classe 5BI
52
OpenMosix - Vantaggi
trasparente: una volta in esecuzione sarà il sistema stesso a bilanciare il carico di lavoro e a ripartire i vari processi sui vari nodi
trasparente: nessun cambiamento al codice da parallelizzare, non è richiesta alcuna libreria
Clusetr Computing - Emanuela Giaconi - classe 5BI
53
OpenMosix - Vantaggi
flessibile: è possibile aggiungere o togliere un nodo senza dover bloccare tutto il cluster
Clusetr Computing - Emanuela Giaconi - classe 5BI
54
OpenMosix - Svantaggi
Esecuzione lenta per i processi che fanno molti I/O
Dispendiosa l'esecuzione di processi paralleli (ad es. applicazioni scientifiche) che hanno bisogno di accedere a grossi file di dati
Clusetr Computing - Emanuela Giaconi - classe 5BI
55
Classificazione - HPC
Gli High Performance Clustering – HPC sono cluster ad alte prestazioni, usati per aumentare la potenza di calcolo di un pc. La computazione procede in parallelo per sotto-problemi, e non sequenzialmente. Esempio: Beowulf
Clusetr Computing - Emanuela Giaconi - classe 5BI
56
Beowulf
Insieme di SW e librerie libere di message passing quale le PVM (Parallel Virtuale Machine) e le MPI (Message Passing Interface) per emulare un'architettura concorrente
Obiettivo: permettere all'insieme di macchine di cooperare per eseguire calcolo parallelo
Focus sulle performance
Clusetr Computing - Emanuela Giaconi - classe 5BI
57
Beowulf
Uso di software open source.
Affinché un cluster di computer possa essere effettivamente considerato un "Beowulf" si richiede, che:
i vari computer in rete (detti nodi) e la rete stessa non abbiano un utilizzo diverso da quello del cluster stesso.
In genere l'accesso al sistema e il suo controllo è possibile solo dal nodo principale, che spesso è l'unico dotato di tastiera e monitor.
Clusetr Computing - Emanuela Giaconi - classe 5BI
58
Beowulf
In alcuni casi i singoli nodi sono addirittura privi di memoria di massa e di dischi e il boot avviene via rete dal nodo principale o master.
i nodi e lo stesso materiale di rete devono essere costituiti da macchine e apparati standard presenti in commercio al dettaglio.
il sistema operativo e il software che gira sul cluster devono essere "open source". Usualmente il sistema operativo è GNU/Linux o una delle varie varianti di Unix disponibili gratuitamente.
Clusetr Computing - Emanuela Giaconi - classe 5BI
59
Beowulf
il Cluster risultante deve essere strutturato per compiere operazioni che richiedono potenza di calcolo particolarmente elevata; in altri termini un beowulf deve comportarsi come un Supercomputer.
preferibile che i singoli nodi siano uguali (o almeno dotati di una potenza di calcolo analoga) ma non è considerata da tutti come una condizione necessaria.
I collegamenti vengono realizzati tramite LAN TCP/IP
Clusetr Computing - Emanuela Giaconi - classe 5BI
60
Beowulf
Modalità: permette al programmatore di dividere i compiti da svolgere su un gruppo di computer collegati in rete e di riunire i risultati dei singoli processi per ottenere la soluzione del problema trattato
Clusetr Computing - Emanuela Giaconi - classe 5BI
61
Beowulf
Si utilizzano librerie per il calcolo parallelo come le:
PVM (Parallel Visrtual Machine): sistema affermatosi come “standard de facto” per il calcolo distribuito in sistemi eterogenei
MPI (Message Passing Interface): proposta di standard per lo scambio dei messaggi (progettato da un consorzio internazionale)
Clusetr Computing - Emanuela Giaconi - classe 5BI
62
Beowulf - PVM
Applicazione divisa in task, responsabili di una parte della computazione dell'intera applicazione
Ogni task è un processo
I task sono eseguiti su un insieme di macchine selezionate dall'amministratore
Clusetr Computing - Emanuela Giaconi - classe 5BI
63
Multiple Choice
Quale tipo di cluster prevede l'uso di una MPI (Message Passing Interface)
failover
load balancing
HPC
stand alone
Cluster Computing
Show answer
Auto Play
Slide 1 / 63
SLIDE
Similar Resources on Wayground
59 questions
PQS T4: PENTAKSIRAN BAB ULUM AL-QURAN
Lesson
•
11th Grade - University
53 questions
Topic 4 & 5 Networking Devices
Lesson
•
University
54 questions
Contoh
Lesson
•
12th Grade
59 questions
Week-1-ADM-Version 2-Filipino-SHS-TVL
Lesson
•
11th Grade
57 questions
CIKGU INTAN UNSUR & BAHAN (8.1 & 8.2.1)
Lesson
•
11th Grade
59 questions
Kalimat Efektif
Lesson
•
University
57 questions
materi ajar pai
Lesson
•
KG - University
61 questions
ASMAUL HUSNA
Lesson
•
12th Grade
Popular Resources on Wayground
15 questions
Fractions on a Number Line
Quiz
•
3rd Grade
10 questions
Probability Practice
Quiz
•
4th Grade
15 questions
Probability on Number LIne
Quiz
•
4th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
22 questions
fractions
Quiz
•
3rd Grade
6 questions
Appropriate Chromebook Usage
Lesson
•
7th Grade
10 questions
Greek Bases tele and phon
Quiz
•
6th - 8th Grade