Sistemi Operativi Sistemi Operativi per Architetture Parallele

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

STRUTTURA DEL SISTEMA OPERATIVO
Meccanismi di IPC Problemi classici di IPC
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Reti Fotoniche (Optical Networks) Gruppo Reti Politecnico di Torino- Dipartimento di.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Reti Fotoniche (Optical Networks) Fabio Neri Politecnico di Torino
Il Sistema Operativo.
File System Cos’è un File System File e Directory
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione della Memoria
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Scheduling in Linux (Kernel 2.6)
Realizzazione del file system
Processi Concetto di processo Scheduling dei processi
INTRODUZIONE AI SISTEMI OPERATIVI
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
Struttura dei sistemi operativi (panoramica)
Sistemi Operativi Distribuiti: indice
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
Concetti introduttivi
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
File system distribuito transazionale con replicazione
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Processi.
Threads.
Sistema Operativo (Software di base)
I processi.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Tipi e topologie di LAN Lezione 2.
Gestione del processore (Scheduler)
Reti di computer Condivisione di risorse e
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Informatica Generale Marzia Buscemi
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
Il Sistema Operativo Processi e Risorse
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Transcript della presentazione:

Sistemi Operativi Sistemi Operativi per Architetture Parallele Calcolatori Paralleli Sistemi Operativi Sistemi Operativi per Architetture Parallele Docente: Luigi Pomante Politecnico di Milano Pomante@elet.polimi.it © 2001 - Luigi Pomante © 2001 - Luigi Pomante

Sommario Introduzione Sistemi Multiprocessore Sistemi Multicomputer Sistemi Operativi Calcolatori Paralleli Sommario Introduzione Sistemi Multiprocessore Sistemi Multicomputer Calcolatori Parallei © 2001 - Luigi Pomante © 2001 - Luigi Pomante

Sistemi Operativi Calcolatori Paralleli Introduzione Da quando il computer è stato inventato c’è sempre stata richiesta di una potenza di calcolo superiore a quella disponibile Soluzioni Processori con frequenza di clock più elevata Limitazioni fisiche Dimensioni Calore Sistemi Multiprocessore Un singolo calcolatore con più processori Applicazioni tipiche: Number Crunching Sistemi Multicomputer Più calcolatori collegati tra di loro e cooperanti Problema principale: la comunicazione Calcolatori Parallei © 2001 - Luigi Pomante © 2001 - Luigi Pomante

Sistemi Operativi Calcolatori Paralleli Introduzione Le differenti tecnologie di interconnesione danno origine a differenti tipologie di architetture di sistema Ad esempio: Sistema Multiprocessore a Memoria Condivisa (a) Multicomputer a Scambio di Messagi (b) Sistema Distribuito (c) Calcolatori Parallei © 2001 - Luigi Pomante © 2001 - Luigi Pomante

Introduzione Sistema Multiprocessore a Memoria Condivisa Sistemi Operativi Calcolatori Paralleli Introduzione Sistema Multiprocessore a Memoria Condivisa 2..1000 CPU che comunicano tramite memoria condivisa Leggono e scrivono le stesse locazioni di memoria (10..50 ns) Implementazione alquanto complessa Sistema Multicomputer a Scambio di Messagi Varie coppie CPU-Memoria Locale collegate tramite una rete ad alta velocità (1..50 s) Più semplici da costruire ma più difficili da programmare Sistema Distribuito Sono sistemi multicomputer collegati tramite una WAN (Wide Area Network) Loosely-coupled vs. Tightly-coupled I tempi di comunicazione (10..50 ms) impongono una differente utilizzazione di questi sistemi Calcolatori Parallei © 2001 - Luigi Pomante © 2001 - Luigi Pomante

Sistemi Multiprocessore Generalità Aspetti HW Aspetti SW (SO) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Sono sistemi in cui 2 o più CPU hanno pieno accesso ad una memoria condivisa I programmi vedono lo stesso spazio di indirizzamento (virtuale) Un processore potrebbe fare una STORE e poi una LOAD nella stessa locazione di memoria e trovare un valore diverso perchè un altro processore l’ha modificata Quando organizzata correttamente questa proprietà forma la base della comunicazione inter-processore A parte alcuni aspetti (sincronizzazione, scheduling) i SO per questi sistemi sono molto simili a quelli classici Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Aspetti HW Una differenza tra sistemi multiprocessore è legata alla capacità di poter accedere con tempi uniformi a tutte le locazioni di memoria UMA (Uniform Memory Acces) Architetture UMA Simmetric Multi Processor basate su Bus Architetture UMA basate su Crossbar Switch Architetture UMA basate su Reti di Switch Multistadio NUMA (Not Uniform Memory Access) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Architetture UMA SMP basate su Bus Bus singolo senza cache (a) Contesa per l’accesso al bus: <32 CPU Bus singolo con cache (b) Coerenza della cache Bus singolo con cahe e memoria privata (c) Compilatori appositi Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Architetture UMA basate su Crossbar Switch Permettono di superare le limitazioni imposte dal bus Collegamenti tra n CPU e k memorie (crosspoint) Pregio: Non-Blocking Network Difetto: il numero di crosspoint cresce come n2 Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Arch. UMA basate su Reti di Switch Multistadio Usano reti costruite tramite switch 2x2 Pregio: ridotto numero di switch (Omega Network) Il numero di switch cresce come (n/2)log2n Difetto: Blocking Network E’ possibile usare più switch per limitare i blocchi Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Architetture NUMA Indispensabili per poter collegare più di 100 processori Esiste sempre un unico spazio di indirizzamento accessibile con operazioni di LOAD e STORE Gli accessi remoti sono più lenti dei locali Degrado di prestazioni: uso di cache per limitare i tempi NC (Not-Cached) NUMA CC (Cache-Coherent) NUMA Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Aspetti SW (SO) Tipologie di SO per Architetture Multiprocessore La Sincronizzazione nei Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Tipologie di SO per Architetture Multiprocessore Ogni CPU con il suo SO Sistemi Multirpocessore Master-Slave Sistemi Multiprocessore Simmetrici (SMP) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Tipologie di SO per Architetture Multiprocessore Ogni CPU con il suo SO (replicate solo le strutture dati) Pregi Semplice: porzione di memoria privata ed estendibile Condivisione di risorse (es. Dischi) Comunicazioni inter-processore efficienti Difetti Non c’e’ condivisione di processi: carico sbilanciato Non c’e’ condivisione di pagine: spreco di memoria e risorse Problemi di consistenza dei buffer per i dispositivi di I/O Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Tipologie di SO per Architetture Multiprocessore Sistemi Multiprocessore Master-Slave Pregi Solo la CPU Master ha il SO Raccoglie tutte le chiamate di sistema Si occupa di smistare i processi: carico bilanciato Condivisione di pagine Una sola copia dei buffer per i dispositivi di I/O Difetti Il problema è che al crescere del numero di CPU (>5) il Master diventa un collo di bottiglia Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Tipologie di SO per Architetture Multiprocessore Sistemi Multiprocessore Simmetrici (SMP) Pregi Esiste una sola copia di SO ma ogni CPU lo può eseguire Ogni CPU esegue le proprie chiamate di sistema Processi e memoria vengono bilanciati dinamicamente Difetti Necessità di eseguire il SO in mutua esclusione: LOCK Accesso al SO: collo di bottiglia! Dividere il SO in parti indipendenti accessibili in parallelo E’un’operazione complessa e problematica LOCK Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore La Sincronizzazione nei Sistemi Multiprocessore La sincronizzazione tra i processori è fondamentale, soprattutto per quanto riguarda l’accesso esclusivo a risorse critiche Non basta più disabilitare gli interrupt Non è più possibile basarsi sulla semplice istruzione TSL La TSL deve poter lockare anche il bus Ciò causa spreco di risorse e sovraccarico (spin lock) Esistono vari algoritmi per ridurre lo spreco di risorse Tentativi ritardati, liste di attesa, etc. Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiporocessore è un problema bi-dimensionale: il SO deve decidere quale processo eseguire e su quale CPU eseguirlo Timesharing Space Sharing Gang Scheduling Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Timesharing Senza considerare le dipendenze tra processi si può utilizzare una singola tabella dei processi per tutto il sistema Ogni processore libero esegue il successivo processo pronto (selezionato in base ad una qualche politica, es. priorità) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Timesharing Pregi: bilanciamento del carico Difetti Contesa per l’accesso alla Tabella dei Processi Poco sfruttamento della cache interna al processore Miglioramenti Affinity Scheduling: cercare di eseguire un processo sull’ultimo processore che l’ha eseguito Two-level Algorithm: un gruppo di processi è assegnato ad una CPU che li gestisce con una struttura dati dedicata Quando una CPU è idle prende un processo da qualcun’altra Bilanciamento del carico Massimizzazione della cache affinity Riduzione della contesa per la Tabella dei Processi Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Space Sharing Un gruppo di k processi (thread) correlati viene assegnato a k CPU disponibili In ogni istante l’insieme di CPU è staticamente partizionato in gruppi che eseguono processi tra loro correlati Buono per lavori batch: si conoscono le relazioni tra i processi Shortest Job First, FIFO Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Lo Space Sharing elimina l’overhead del cambio di contesto ma le CPU possono rimanere idle per molto tempo Non considerando le relazioni tra i processi (thread) si possono avere inefficienze dovute alle comunicazioni Alcuni algoritmi cercano di effettuare in contemporanea lo scheduling nel tempo e nello spazio tenendo in considerazione le dipendenze/relazioni tra i processi (thread) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multiprocessore Lo Scheduling nei Sistemi Multiprocessore Gang Scheduling: ha come obbiettivo quello di eseguire in contemporanea i processi (thread) correlati Gruppi di processi (thread) correlati (gang) sono schedulati in modo indivisibile I membri di una gang sono eseguiti simultaneamente in timesharing da più processori I membri di una gang hanno i time slice coincidenti Allo scadere di ogni quanto tutte le CPU sono ri-schedulate Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Generalità Aspetti HW Aspetti SW (SO) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer I Sistemi Multiprocessore offrono un semplice modello per la comunicazione ma al crescere del numero di processori sono difficili da costruire e quindi molto costosi Sono quindi nati i Sistemi Multicomputer composti da CPU lascamente accoppiate che non condividono memoria Cluster Computer Cluster of Workstation (COWS) Si tratta in pratica di normali calcolatori collegati da una rete di interconnessione Il problema questa volta è progettare efficacemente tale rete Il compito è meno arduo rispetto a Sistemi Multiprocessore perchè i tempi in gioco sono di un ordine di grandezza superiore Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Aspetti HW Il nodo base di un Multicomputer consiste in uno o più processori, memoria, un’interfaccia di rete e (alle volte) un hard disk Tecnologie di Interconnesisone Interfacce di Rete Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Tecnologie di Interconnesione Ogni nodo è connesso ad altri nodi o a switch secondo una determinata topologia Topologie Classiche Stella (a) Anello (b) Grid o Mesh (c) Scalabile Diametro = f(n1/2) Doppio Toro (d) Tollerante ai guasti Cubo (e) Ipercubo (f) Diametro = f(log2n) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Tecnologie di Interconnesione Stategie di Switching A pacchetto Si trasferisce un pacchetto (per intero) alla volta Store-and-forward Packet Switching Flessibile ed efficiente ma latenza cresce con la dimensione della rete A circuito Percorso predeterminato Non ci sono salvataggi intermedi Occorre una fase di setup Wormhole Routing E’ una via di mezzo tra le prime due strategie Un pacchetto è diviso in pezzi più piccoli che fluiscono man mano che il percorso viene stabilito Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Interfacce di Rete Il modo con cui sono costruite e come interagiscono con CPU e RAM influiscono notevolmente sul SO In genere sono dotate di RAM a bordo per mantenere un flusso continuo di bit durante la trasmissione/ricezione dei dati Possono anche avere controller DMA e/o CPU a bordo Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Aspetti SW (SO) La Comunicazione nei Sistemi Multicomputer Lo Scheduling nei Sistemi Multicomputer Bilanciamento del Carico nei Sistemi Multicomputer Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer La Comunicazione nei Sistemi Multicomputer Comunicazione di Basso Livello Copia dei pacchetti Minimizzare le copie dei pacchetti: interfaccia di rete mappata in user-space Problemi di condivisione tra processi Problemi di accesso da parte del kernel Doppia interfaccia di rete Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer La Comunicazione nei Sistemi Multicomputer Comunicazione di Livello Utente I processi si scambiano messaggi tramite opportune chiamate di sistema Send and Receive In questo modo la comunicazione è esplicitamente gestita dall’utente Queste comunicazioni possono essere blocccanti (sincrone) o non bloccanti (asincrone) Nel secondo caso l’elaborazione può continuare a patto di non usare il buffer contenente il messaggio spedito/ricevuto fino a trasferimento completato Servono dei meccanismi per avvisare il mittente che il buffer è utilizzabile Es. interrupt, pop-up thread Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer La Comunicazione nei Sistemi Multicomputer Remote Procedure Call (RPC) Offrono un paradigma diverso da quello basatu sull’I/O Chiamate a procedure rersidenti su un altro calcolatore Normale passaggio di parametri I processi utente fanno chiamate a procedura locali al client stub (che gira in spazio utente) Tali procedure hanno lo stesso nome di quelle server e si occupano del vero I/O Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer La Comunicazione nei Sistemi Multicomputer Distributed Shared Memory (DSM) Permette di mantenere il concetto di memoria condivisa Con la DSM le pagine sono dislocate nelle varie memorie locali Quando una CPU effettua una load (store) su una pagina che non ha, avviene una chiamata al sistema operativo che provvede a recuperarla facendosela spedire appena possibile Page fault remoto Differenze con la vera Shared Memory Sistemi Multprocessore (a) Gestione HW Sistemi Multicomputer (b) Gestione SW (SO) Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Lo Scheduling nei Sistemi Multicomputer Nei Sistemi Multiprocessore tutti i processi risiedono nella stessa memoria e potenzialmente ogni CPU può eseguirne uno qualunque Nei Sistemi Multicomputer ogni CPU ha un certo insieme di processi da eseguire e non è fattibile (per l’elevato costo della comunicazione) uno scambio dinamico di questi In pratica lo scheduling è locale e quindi quello classico Diventa però fondamentale l’allocazione dei processi sui vari nodi ai fini del bilanciamento del carico e della minimizzazione delle comunicazioni inter-nodo Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Bilanciamento del Carico nei Sistemi Multicomputer E’ di estrema importanza proprio perchè lo scheduling locale non permette di intervenire a posteriori Fondamentale differenza con i Sistemi Multiprocessore Processor Allocation Algorithm Graph-Theoretic Deterministic Algorithm Sender-Initiated Distributed Heuristic Algorithm Receiver-Initiated Distributed Heuristic Algorithm Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Bilanciamento del Carico nei Sistemi Multicomputer Graph-Theoretic Deterministic Algorithm Si basano su stime dei requisiti di CPU e memoria da parte dei processi e di traffico medio sulla rete Cercano l’allocazione che minimizza il traffico sulla rete Teoria dei grafi: insiemi di taglio tali da soddisfare dei vincoli (CPU e memoria) e minimizzarne altri Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Bilanciamento del Carico nei Sistemi Multicomputer Sender-Initiated Distributed Heuristic Algorithm Quando un processo viene creato esso è eseguito localmente a meno che il nodo in questione non sia sovraccarico Il carico è calcolato con opportune metriche Se il nodo è sovraccarico questo contatta altri nodi (a caso) e se ne trova uno con il carico più basso del suo gli spedisce il nuovo processo Dopo k tentativi vani il processo è eseguito localmente Calcolatori Parallei © 2001 - Luigi Pomante

Sistemi Multicomputer Bilanciamento del Carico nei Sistemi Multicomputer Receiver-Initiated Distributed Heuristic Algorithm E’ duale al precedente: quando un processo termina e il carico e basso, il nodo contatta (a caso) altri nodi in cerca di processi da eseguire Dopo k tentativi smette di chiedere In questo modo sistemi già carichi non sono costretti a fare lavoro in più per cercare collaboratori Si crea motlo traffico quando il sistema è molto scarico Si possono combinare i due algoritmi Offerte e richieste simultanee Alternativa migliore alla ricerca casuale Elenco dei nodi spesso sovraccarichi Elenco dei nodi spesso liberi Calcolatori Parallei © 2001 - Luigi Pomante