Sunteți pe pagina 1din 28

Sisteme de operare distribuite

Sisteme distribuite

Sisteme de operare distribuite

Clasificarea lui Flynn (1966) (1)


procesorul - 2 pri
unitatea de control - decide ce operaii trebuie
realizate
unitatea de execuie - realizeaz efectiv
operaiile

o unitate de control poate comanda mai


multe uniti de execuie
2

Sisteme de operare distribuite

Clasificarea lui Flynn (2)


SISD
Single Instruction, Single Data

SIMD
Single Instruction, Multiple Data

MISD
Multiple Instruction, Single Data

MIMD
Multiple Instruction, Multiple Data
3

Sisteme de operare distribuite

SISD

o singur unitate de control


o singur unitate de execuie
arhitectura von Neumann
complet secvenial
o instruciune ncepe dup
terminarea celei anterioare
4

Sisteme de operare distribuite

SIMD (1)
o singur unitate de control,
mai multe uniti de execuie
aceeai instruciune aplicat
n paralel pe date diferite
implementri
calculatoare vectoriale
calculatoare matriciale operaii de nivel mai nalt
5

Sisteme de operare distribuite

SIMD (2)

Sisteme de operare distribuite

SIMD (3)
nu toate prelucrrile se pot face n paralel
practic - combinaii SISD-SIMD
Intel: MMX, SSE

problem - instruciuni condiionale


fluxuri de execuie diferite
unitile care au date incorecte - dezactivate
pierdere de performan
7

Sisteme de operare distribuite

MISD
mai multe uniti de control,
o singur unitate de execuie
prelucrri diferite pe aceeai
dat
n paralel

implementare - ???
sisteme pipeline
arhitecturi superscalare

sisteme redundante
8

Sisteme de operare distribuite

MIMD (1)
mai multe uniti de control,
mai multe uniti de execuie
ca la SISD, dar multiplicat

mai multe fluxuri de execuie


independente
cooperative

sistemele distribuite sunt


MIMD
9

Sisteme de operare distribuite

MIMD (2)

10

Sisteme de operare distribuite

MIMD - clasificare
pot avea memorie comun sau nu
sisteme cu memorie comun - multiprocesoare
spaiu unic de adrese pentru toate procesoarele
n general - sisteme paralele

sisteme fr memorie comun - multicalculatoare


fiecare procesor are propriul spaiu de adrese
n general - sisteme distribuite

in functie de arhitectura retelei de interconectare:


bus vs. switched
11

Sisteme de operare distribuite

Interconectare
sisteme puternic conectate (tightly coupled)
transmitere rapid a mesajelor ntre unitile de
execuie
rata de transfer - ridicat

sisteme slab conectate (loosely coupled)


invers

se aplic att pentru software, ct i pentru


hardware
12

Sisteme de operare distribuite

Tipuri de sisteme distribuite


diverse combinaii posibile privind
modurile de conectare hardware/software
sistemele distribuite sunt n mod normal
slab conectate n hardware
variante
sisteme de operare de reea
sisteme distribuite "adevrate"
13

Sisteme de operare distribuite

Sisteme de operare de reea (1)


software slab conectat, rulnd peste
hardware slab conectat
calculatoare (staii de lucru) independente,
legate n reea
fiecare are propriul sistem de operare
acelai pe toate staiile
sau
diferit ntre staii
14

Sisteme de operare distribuite

Sisteme de operare de reea (2)


de pe o staie se pot efectua aciuni pe alte staii
execuia unor comenzi
transfer de fiiere

mecanisme de comunicare mai evoluate


ex.: servere de fiiere

trebuie definit un cadru general


i.e. protocoale pentru mesajele schimbate ntre staii
15

Sisteme de operare distribuite

Sisteme distribuite "adevrate" (1)


software puternic conectat, rulnd peste
hardware slab conectat
utilizatorii vd sistemul distribuit ca pe un
singur calculator clasic (single-system image)
ce nseamn utilizator?
aplicaiile vd resursele n mod unitar,
indiferent pe care maini ruleaz
utilizatori finali, dar i programatori
16

Sisteme de operare distribuite

Sisteme distribuite "adevrate" (2)


Caracteristici:
mecanism unitar de comunicare interproces
management uniform al proceselor
nu sunt acceptabile politici de planificare
diferite pe maini diferite

sistem de fiiere unitar


concluzie: pe toate mainile ruleaz acelai
nucleu
17

Sisteme de operare distribuite

Sisteme paralele
software puternic conectat, rulnd peste
hardware puternic conectat
hardware-ul consta intr-un singur calculator
multiprocesor (i.e. cu mai multe CPU-uri fizice
sau, mai nou, mai multe core-uri)
software: e.g. orice sistem de operare cu timesharing pentru SMP-uri (UNIX, Windows, etc.)
18

Sisteme de operare distribuite

Cerine de proiectare

sistemele distribuite au (i) cerine diferite


de cele secveniale
cnd proiectm un sistem distribuit, ce
aspecte trebuie s avem n vedere?

19

Sisteme de operare distribuite

Transparena
d.p.d.v. al utilizatorului final
la lansarea unei comenzi, nu ne intereseaz pe
cte (i care) maini va rula

d.p.d.v. al programatorului
interfaa apelurilor sistem ascunde structura
distribuit a sistemului
20

Sisteme de operare distribuite

Aspecte ale transparenei (1)


transparena localizrii
resursele hardware i software se pot afla
oriunde n sistem
pot fi accesate n acelai mod de pe orice
main
exemple de resurse: procesoare, fiiere,
periferice
21

Sisteme de operare distribuite

Aspecte ale transparenei (2)


transparena la mutare
duce mai departe transparena localizrii
dup mutarea unei resurse, aceasta poate fi n
continuare accesat folosind acelai nume ca
nainte
important pentru mutarea resurselor ntre servere
22

Sisteme de operare distribuite

Aspecte ale transparenei (3)


transparena replicrii
sistemul de operare poate realiza copii ale
resurselor n mod invizibil pentru utilizator
exemplu: mai multe servere de fiiere, care
lucreaz mpreun
fiecare server memoreaz o parte dintre fiiere
cnd apare o cerere, un server poate decide s fac o
copie a unui fiier de pe alt server
scopul: pentru performana (accese viitoare)
23

Sisteme de operare distribuite

Aspecte ale transparenei (4)


transparena concurenei
se refer la accesul concurent la resurse comune
de ctre mai muli utilizatori
utilizatorii nu sunt contieni de existena
concurenei
accesele solicitate n paralel sunt secvenializate
de ctre sistemul de operare
24

Sisteme de operare distribuite

Aspecte ale transparenei (5)


transparena paralelismului
scop: aplicaiile sunt scrise ca pentru un sistem
uniprocesor (secvenial), dar la compilare si/sau
executie profit de capacitatea de calcul paralel
a sistemului
numit n calculul paralel: paralelism implicit
dificil de atins n stadiul actual
25

Sisteme de operare distribuite

Fiabilitatea
sistem cu multe uniti de calcul
foarte probabil ca unele componente s se
defecteze
disponibilitatea - sistemul s aib timpi ct mai
scuri n care este nefuncional
tolerana la defectri - sistemul s fie capabil s
lucreze i n condiiile n care unele
componente sunt defecte
26

Sisteme de operare distribuite

Performana
motivul pentru care exist sisteme paralele i
distribuite
nu este justificat economic s construim
asemenea sisteme pentru sarcini care pot fi
rezolvate i de sisteme mai simple
principalul factor de limitare a performanei n
sistemele distribuite - comunicarea
hardware i software
fine-grained parallelism vs. coarse-grained parallelism
27

Sisteme de operare distribuite

Scalabilitatea
cum crete performana unui sistem cnd se
adaug uniti de calcul (procesoare,
calculatoare) suplimentare?
de preferat - liniar
nu e uor de obinut
unele aplicaii nu se preteaz la execuie n paralel
comunicarea ntre uniti de calcul - gtuire
componente sau date centralizate - gtuire
algoritmi centralizati vs. distribuiti

28

S-ar putea să vă placă și