Sunteți pe pagina 1din 3

LUCRAREA 1

Studiu comparativ între sistemele distribuite şi sistemele cu calcul


centralizate. Caracteristici ale sistemelor distribuite

1. Consideraţii teoretice

La mijlocul anilor ’80 au apărut două tehnologii avansate in ştiinţa calculatoarelor.


Prima este cea a microprocesoarelor din ce in ce mai performante (pe 8, 16, 32 sau chiar 64
biţi); a doua a fost introducerea reţelelor locale de mare viteza. Rezultatul celor doua
tehnologii a fost o conectare a sistemelor de calculatoare compuse dintr-un număr mare de
staţii la o reţea locala de mare viteza. Aceste sisteme se numesc sisteme distribuite, în contrast
cu cele existente până la acea dată, denumite sisteme centralizate, constând dintr-o singură
unitate centrală de prelucrare.
Forţa reală ce se ascunde în spatele descentralizării este aspectul economic. Soluţia cea
mai rentabilă este aceea de a conecta mai multe calculatoare ieftine pentru a forma un sistem,
deoarece raportul performanţa / preţ este mai bun faţă de un sistem centralizat mare şi scump.
Trebuie făcută distincţie între sisteme distribuite, sisteme ce permit mai multor
utilizatori să le exploateze simultan şi să lucreze împreună şi sisteme paralele, al căror singur
scop este de a obţine viteza maximă în rezolvarea unei singure probleme.
O altă raţiune de a realiza sisteme distribuite este aceea că unele aplicaţii sunt prin
natura lor distribuite. Un alt avantaj al sistemelor distribuite este acela al fiabilităţii sporite
faţă de sistemele centralizate şi posibilitatea de a mări într-un mod incremental sistemul.
Alegerea sistemelor distribuite este motivată de necesitatea că angajaţii din cadrul unei
organizaţii să folosească în comun datele. Datele nu sunt singurele lucruri care trebuie
partajate, ci şi perifericele (ex.: imprimanta). Un alt aspect ce face interconectarea superioară
lucrului individual este cel legat de relaţiile person-to-person, mulţi oameni folosind serviciile
de e-mail, care sunt posibile tocmai datorită caracterului distribuit al sistemelor pe care
lucrează.
Pe lângă avantaje, sistemele distribuite prezintă şi dezavantaje, cum ar fi: necesitatea
unui software diferit, probleme de comunicare prin reţea (se pot pierde mesaje,
supraîncărcarea reţelei); probleme de securitate a datelor (partajarea poate duce la încercări
neautorizate de acces la date).
Sistemele cu mai multe CPU pot fi clasificate în mai multe metode. Cea emisa de
Flynn are la bază două caracteristici: numărul de fluxuri de instrucţiuni şi numărul de fluxuri
de date. Toate sistemele distribuite sunt de tipul MIMD (fluxuri multiple de instrucţiuni şi
date). În Fig. 1 se reprezintă sistemele MIMD clasificate în două grupuri: cele care au
memorie partajată (denumite multiprocesoare) şi cele care folosesc memoria proprie
(multicomputere). Fiecare la rândul său se poate împărţi în două, din punct de vedere al
realizării interconexiunilor: prin magistrală şi cu comutaţie.
Fig. 1. O taxonomie a sistemelor paralele şi distribuite

O alte dimensiune a taxonomiei este cea a sistemelor cuplate puternic (cu rata de
transfer ridicată) şi altele ca fiind cuplate slab. Cele cuplate puternic sunt folosite ca şi sisteme
paralele, cele cuplate slab ca şi sisteme distribuite.
In Fig. 2 se poate vedea schema unui multicomputer bazat pe magistrală.

Fig. 2. Multicomputere constând din staţiile unui LAN

Datorita cuplării slabe sau puternice a hardware-ului rezultă aceleaşi caracteristici şi


pentru software. Software-ul cuplat slab permite maşinilor şi utilizatorilor sistemului distribuit
să fie fundamental independenţi unul de altul, dar şi de a interacţiona atunci când este necesar.

2. Cerinţe de proiectare

1. Transparenţa înseamnă a realiza imaginea unui singur calculator pe care


utilizatorul are impresia că lucrează la un moment dat, deşi el utilizează de fapt în mod
transparent un întreg sistem format din multe staţii care cooperează pentru rezolvarea cererilor
lăsând utilizatorului impresia că se adresează unui sistem uniprocesor foarte performant.
Se referă la mai multe aspecte: transparenţa de locaţie (numele sub care se recunosc
resursele hardware nu trebuie să se refere la localizarea lor, ci pot să fie cel mult nişte nume
logice, care nu pot conţine în ele nume de maşini sau căi spre fişiere), transparenţa migraţiei
(resursele trebuie să se poată mişca liber de la o locaţie la alta fără ca numele lor să se
schimbe), transparenţa de replicare (sistemul să duplice anumite informaţii fără nici o
notificare a utilizatorului), transparenţa concurenţei (lipsa de vizibilitate pentru utilizator a
concurentei în accesarea resurselor), transparenţa paralelismului.

2. Flexibilitatea există două posibilităţi: kernel-ul să furnizeze cât mai multe servicii
posibile utilizatorului staţiei de lucru pe care acel kernel lucrează (kernel monolitic) sau
kernel-ul furnizează doar servicii minimale (mikrokernel). Cele două modele apar in Fig. 3.
Fig. 3. (a) Kernel monolitic (b) microkernel

3. Fiabilitatea are la bază ideea că dacă o maşină se defectează alta să-i poată lua
locul. Teoretic, fiabilitatea globală a sistemului este un OR boolean al fiabilităţii individuale a
componentelor. În practică, există cerinţa ca mai multe componente să funcţioneze simultan
pentru ca sistemul pe ansamblu să poată funcţiona. Ca urmare, unele componente trebuie
legate prin AND boolean în loc de OR.
Disponibilitatea se referă la fracţiunea de timp cât sistemul este disponibil pentru a fi
folosit. Disponibilitatea globală a sistemului poate fi crescută printr-o proiectare care să nu
necesite funcţionarea simultană a prea multor componente, sau prin duplicarea pieselor cheie,
hardware şi software, soluţie redundantă.
Un sistem cu o fiabilitate ridicată este unul care are o disponibilitate ridicată, dar
aceasta nu este totul. Menţinerea mai multor copii conduce la probleme de păstrare a
consistenţei. Un alt aspect al fiabilităţii este securitatea informaţiei sau toleranţa la erori.
4. Performanţa poate utiliza mai multe metrici (timp de răspuns, numărul de activităţi
finalizate, gradul de utilizare al sistemului). Problema performanţei constă în faptul că în
sistemele distribuite apare necesitatea comunicării, care este în general lentă datorită
protocoalelor de comunicare. Şi toleranţa la defecte are legătura cu performanţa.
5. Scalabilitatea presupune că sistemul să poate fi uşor extins. Nu trebuie să se
folosească componente, tabele şi algoritmi centralizaţi. În sistemele distribuite mari, un număr
mare de mesaje trebuie direcţionate de-a lungul unui număr mare de linii. Teoretic, modul
optim de a realiza acest lucru este de a colecta informaţii complete despre gradul de încărcare
al maşinilor şi liniilor şi apoi să executam un algoritm specific teoriei grafurilor care să
calculeze calea cea mai bună pe care un mesaj ar trebui direcţionat.
Algoritmii descentralizaţi au următoarele caracteristici: nici o maşină nu are informaţii
complete despre sistem; maşinile iau decizii doar folosind informaţiile disponibile pe plan
local; disfuncţionalităţile ce apar pe o maşină nu afectează algoritmul în mod global; nu se
presupune existenţa unui ceas global al sistemului.

3. Mersul lucrării

Se vor prezenta aspectele teoretice descrise în lucrare.


Se va răspunde la întrebări:
- Există sisteme din categoria MISD (denumirea aparţine taxonomiei Flynn) ?
- Prin ce se deosebeşte un sistem distribuit de unul de tip reţea?
- Care sunt caracteristicile unui sistem distribuit?

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