...

Esistono vari modi per classificare le architetture hardware

by user

on
Category: Documents
21

views

Report

Comments

Transcript

Esistono vari modi per classificare le architetture hardware
MODELLI ARCHITETTURALI
Esistono vari modi per classificare le architetture hardware, ricordando quella di Flynn(1972) si basa su due
tipi di flussi:


flusso di istruzioni;
flusso dei dati;
A seconda di come si combinano flusso di dati e istruzioni si hanno 4 tipi di configurazioni
ISTRUZIONI SINGOLE
ISTRUZIONI MULTIPLE




DATI SINGOLI
SISD
MISD
DATI MULTIPLI
SIMD
MIMD
SISD (SINGLE ISTRUCTION SINGLE DATA)
SIMD(SINGLE ISTRUCTION MULTIPLE DATA)
MISD(MULTIPLE ISTRUCTION SINGLE DATA)
MIMD(MULTIPLE ISTRUCTION MULTIPLE DATA)
SISD
La macchina di Von Neumann è un esempio - tutte le macchine che hanno una sola CPU appartengono a
questa categoria.
SIMD
l'elaborazioni avviene su più flussi dati in contemporanea ma con un singolo flusso istruzione.(macchine a
vector processor o array processor), sfruttano la stessa istruzione su flussi dati diversa.
MISD
Ad oggi non sono state ancora costruite macchine di questa topologia.
MIMD
Sono elaboratori con più unita centrali indipendenti che posso lavorare anch'essi su flussi dati differenti.
Per questa categoria si fa un ulteriore classificazione in riferimento a come è suddivisa la memoria fisica:


macchine a memoria fisica condivisa(multiprocessor)-shared memory
macchine a memoria privata(multicomputer)-
multiprocessor avendo una memoria condivisa hanno un unico spazio di indirizzamento condiviso, quindi
visto il flusso di dati multiplo si deve gestire e sincronizzare opportunamente la memoria.(rimedio Memoria
distribuita)
multicomputer non avendo una memoria condivisa lo scambio di messaggi(message passing) avviene
mediante opportune procedure(send e receive), le LAN sono sistemi MIMD multicomputer a memoria
privata con mezzo condiviso.
Le politiche di message passing più comuni sono Hypercube, Mesh, Torus.
Cluster di pc
Si può pertanto parlare propriamente di cluster quando un insieme di computer completi ed
interconnessi ha le seguenti proprietà:


I vari computer appaiono all’utente come una singola risorsa computazionale;
Le varie componenti sono risorse dedicate al funzionamento dell’insieme.
Questi sistemi utilizzano tecnologia Myrinet e QsNet e i sitemi operativi Osix, OpenMosix, Beowulf,
ParallelKnoppix che permettono l'interconnessione basata su canale anche a gruppi di pc.
Vantaggi: enorme diminuzione del tempo di elaborazione.
Un cluster di PC è un gruppo di computer collegati tra loro di operare come una singola unità . I
cluster sono stati progettati per ottenere prestazioni di alto livello e di calcoli complessi . Essi sono
stati utilizzati per sostituire il supercomputer sia perché non sono significativamente meno costosi
da montare e mantenere , e sono capaci di prestazioni simili . I cluster possono essere costruite in
qualsiasi ufficio con il giusto equipaggiamento e un'attenta pianificazione . Il cluster più elementare
contiene solo due computer . Come si aggiungono altri computer, la rete diventa più complessa .
Cose che ti serviranno tre o più computer
Cluster scaffale : Finestre elenco Network cavi
piatto interruttore
Mostra più istruzioni
1 riunire tutti i computer che si desidera collegare alla vostra rete per creare il cluster . I computer
dovrebbero essere equipaggiati con lo stesso hardware , il software e il sistema operativo .
Impostare il computer in modo che le impostazioni di tutti i computer sono uguali .
2 Organizza i computer su una griglia cluster. Questi rack sono progettati su misura in base al
numero di computer che si intende utilizzare per costruire il cluster . Essi sono utilizzati per
memorizzare e organizzare i PCU nel cluster e ridurre al minimo la quantità di spazio del cluster
occupa .
3 Configurare rete del cluster . Tutti i computer devono essere collegati in rete attraverso un
interruttore piatto con i cavi Ethernet di base .
4 Configurare un account di servizio di clustering sul gruppo amministratore locale su ogni
computer del cluster.
< Br > 5 consente al prestatore di servizio di crittografia di Windows su ogni computer della rete .
6 Installare Windows 2003 cluster su ogni computer del cluster .
7 Aprire Amministrazione cluster . Qui, i computer della rete saranno chiamati nodi . Selezionare "
Crea nuovo gruppo " dalla finestra a discesa e selezionare " OK ". Si aprirà una nuova procedura
guidata cluster.
8 Seguire le istruzioni della procedura guidata di installazione per completare l'impostazione del
cluster. Il prompt varierà , a seconda delle vostre risposte e del tipo di gruppo che si sta
configurando .
ALTRO MODO: SCARICARE PARALLELKNOPPIX
http://www.parallelknoppix.info/distro.aspx
Un po' di storia: prime architetture aterminali remoti-- architetture client server
Architettura cooperativa:
L'evoluzione della architettura client-server è l'architettura cooperativa che si basa su entità autonome che esportano e richiedono
servizi secondo il modello di sviluppo a componenti per la programmazione lato server proprio delle programmazione a oggetti .
Di fatto è stato preso uno dei principi chiave della programmazione orientata agli oggetti, l'incapsulamento , applicandolo
all’ abbattimento delle differenze tra i prodotti usati nell’ infrastruttura hardware, software, di programmazione e di rete di un
sistema distribuito.
Per rendere efficace l’ utilizzo di questi meccanismi è necessario introdurre una standardizzazione sulle modalità con la quale i
servizi vengono offerti e come i client possano richiederli:
◀ oDp ▶ ( Open Distributed Processes ) e CORBA ( Common Object Request Broker Architecture) sono due esempi di
standardizzazione.
Architettura WEB-centric
L’ evoluzione che negli ultimi anni ha caratterizzato i sistemi distribuiti riguarda il Web : la diffusione capillare delle piattaforma
mobili ha, di fatto, provocato uno spostamento delle applicazioni sul server facendo “ in qualche modo” regredire gli host
quasi “ a terminali stupidi del secolo passato” , utilizzati solo per l’ interfaccia grafica verso l’ utente.
Molte applicazioni gestionali sono state “ convertite al Web” rendendo il Web server come centro del sistema distribuito (
WEB-centric) al quale i client vi accedono per ottenere dei servizi: tutta la computazione avviene sui server che restituisce ai
client il risultato.
Architettura completamente distribuita
In opposizione alla architettura WEB-centric troviamo l’ architettura completamente distribuita, tipica di sistemi dove è necessaria
la cooperazione di gruppi di entità paritetiche, come nei sistemi ◀ groupware ▶ , che dialogano tra loro ciascuno offrendo i propri
servizi e richiedendo servizi che spesso risultano essere duplicati per garantire l’ immunità ai guasti (vengono introdotte ridondanze
anche nei dati).
Le tecnologie più importanti sono: ■◗ OMG ( Object Management Group ): è un consorzio creato nel 1989 da varie aziende tra cui
Microsoft , HP , NCR , SUN , allo scopo di creare sistemi di gestione di architetture distribuite; ■◗ RMI ( Remote Method nvocation
): è una tecnologia che consente a processi Java distribuiti di comunicare attraverso una rete; è specifica appunto del mondo Java ; ■◗
DCOM ( Distributed Component Object Model ): è una tecnologia informatica introdotta nel 1996 da Microsoft ed è basato
estensione in rete della precedente tecnologia COM
Architettura a livelli
Per alleggerire il carico elaborativo dei serventi sono state introdotte le applicazioni multi-livello, nelle quali avviene la separazione
delle funzionalità logiche del software in livelli. Si introducono gli strumenti di middleware , cioè uno strato software “ in mezzo”
che si colloca sopra al sistema operativo ma sotto i programmi applicativi, e sono l’ evoluzione dei sistemi operativi distribuiti.
Questo software si interpone quindi negli elaboratori locali tra le applicazioni e il sistema operativo
locale creando un’ architettura a tre livelli , può quindi essere diverso da host a host, e sarà descritta nella prossima lezione.
Riportiamo due definizioni di middelware . Lo scopo principale di middleware è di permettere e garantire l'interoperabilità
delle applicazione sui diversi sistemi operativi. Inoltre permette la connettività tra servizi che devono interagire e
collaborare su piattaforme distribuite sulla base di meccanismi di programmazione e API relativamente semplici.
Di fatto la presenza di questo strato rende facilmente programmabili i sistemi distribuiti offrendo una specifica modalità di
interazione, che può essere per esempio un paradigma di interazione basato sulla chiamata di procedure remote RPC Remote
Procedure Call ) oppure un paradigma di programmazione basata sullo scambio di messaggi
Fly UP