Procesare Distribuită

Curs
8/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 14 în total
Cuvinte : 12021
Mărime: 84.24KB (arhivat)
Cost: Gratis
Profesor îndrumător / Prezentat Profesorului: Mazilescu Vasile, Dan Caprita

Extras din document

Aceste note de curs se bazeaza pe urmatoarele texte:

1. Distributed Computing , H. Attyia & J. Welch; McGraw-Hill 1998

2. Distributed Algorithms, N. Lynch; Morgan Kaufmann 1996

3. Introduction to Distributed Algorithms, G. Tel; Cambridge University Press 1994

1. Introducere

Un sistem (de calcul) distribuit este o colectie de dispozitive de calcul individuale care comunica între ele.

Spre deosebire de procesarea paralela, în care scopul principal este cooperarea dintre toate procesoarele în vederea realizarii unei lucrari, în procesarea distribuita fiecare procesor are în general propria sa agenda semi-independenta, dar din diferite motive (partajarea resurselor, toleranta la erori etc.) procesoarele trebuie sa-si coordoneze actiunile.

Principalele dificultati în proiectarea sistemelor distribuite sunt:

- Asincronia – timpul absolut (sau chiar relativ) la care au loc evenimentele nu poate fi cunoscut precis;

- Cunoasterea locala – fiecare entitate de calcul poate dispune doar de informatia pe care o primeste, are doar o imagine locala asupra situatiei globale;

- Caderea componentelor (failures) – entitatile de calcul se pot defecta independent lasând anumite componente operationale iar altele nu.

Procesarea distibuita îsi propune sa realizeze ceea ce Proiectarea si Analiza algoritmilor secventiali a facut pentru calculatoarele secventiale: evidentierea unui cadru general pentru specificarea algoritmilor si compararea performantelor pentru întelegerea limitarilor interne ale acestora.

Se doreste indentificarea de probleme fundamentale, abstractizari ale celor ce apar în sisteme distribuite reale, enuntarea acestor probleme în mod precis, proiectarea si analiza unor algoritmi eficienti pentru ele.

Dificultatea principala consta în faptul ca nu exista un model de calcul unanim acceptat si probabil nici nu va fi. Exista diferente majore între sistemele distribuite depinzând de:

prin mesaje;

- Modul de comunicare

prin memorie partajata;

- Tipul de informatie referitor la timp si comportarea sistemului în timp;

- Tipul de caderi (ale componentelor) care sunt tolerate.

În sistemele distribuite exista noi tipuri de masuri de complexitate. Pe lânga timpul de executie si spatiul de lucru (ce trebuie definite în mod corespunzator) vom fi interesati în complexitatea de comunicare si în numarul de componente defecte ce pot fi acceptate. Exista numeroase rezultate “negative”, margini inferioare si rezultate de imposibilitate. Se poate demonstra ca o problema particulara nu poate fi rezolvata într-un tip particular de sistem distribuit, sau nu se poate rezolva sub o anumita cantitate dintr-o anumita resursa. (Astfel de rezultate joaca rolul celor de NP-completitudine din algoritmica secventiala.)

2. Legatura cu practica

Daca nu cel mai simplu, cu siguranta cel mai vechi exemplu de sistem distribuit este un sistem de operare pentru calculatoare secventiale conventionale. Procesele de pe acelasi hard comunica utilizând acelasi soft sau prin schimburi de mesaje, sau printr-un spatiu comun de adresare. Partajarea unei singure CPU de catre procese multiple ridica probleme de concurenta (virtuala). Multe dintre problemele ridicate de un sistem de operare apar si în alte sisteme distribuite, ca de exemplu excluderea mutuala, detectarea si prevenirea dead-lockului.

Masinile MIMD cu memorie partajata sunt puternic interconectate (tightly coupled) si sunt numite uneori multiprocesoare. Acestea constau din componente hard separate executând un soft comun. Conectarea se face printr-un bus sau, mai putin frecvent, printr-o retea cu comutatori. Masinile MIMD pot fi si slab interconectate (loosley coupled) si nu au memorie comuna. Ele pot fi o colectie de statii de lucru dintr-o retea locala sau o colectie de procesoare într-o retea cu comutatori.

Sistemele distribuite si mai putin interconectate pot fi constituite din gazde autonome într-o retea locala (ca de exemplu Ethernet) sau chiar WAN (cum ar fi Internet). În acest caz, avem componente hard separate executând soft separat desi entitatile interactioneaza prin interfete bine definite ca de exemplu TCP/IP, CORBA sau ale groupware sau middleware.

Dupa modul de comunicare si gradul de sincronizare vom considera trei modele principale:

1. Modelul asincron cu memorie partajata; este reprezentat de masinile puternic cuplate în situatia comuna în care procesoarele nu-si iau semnalul de ceas de la o singura sursa;

2. Modelul asincron cu transmitere de mesaje; este reprezentat de masinile putin cuplate si WAN;

3. Modelul sincron cu transmitere de mesaje; este o idealizare a sistemelor bazate pe transmiterea mesajelor, în care se cunoaste o anumita informatie referitoare la timp (ca de exemplu o margine superioara pentru întirzierea mesajelor). Se poate simula un astfel de model cu sisteme mai realiste, de exemplu prin sincronizarea ceasurilor.

Modelele bizantine evidentiaza preocuparile legate de posibilitatea de defectiune a anumitor componente.

Preview document

Procesare Distribuită - Pagina 1
Procesare Distribuită - Pagina 2
Procesare Distribuită - Pagina 3
Procesare Distribuită - Pagina 4
Procesare Distribuită - Pagina 5
Procesare Distribuită - Pagina 6
Procesare Distribuită - Pagina 7
Procesare Distribuită - Pagina 8
Procesare Distribuită - Pagina 9
Procesare Distribuită - Pagina 10
Procesare Distribuită - Pagina 11
Procesare Distribuită - Pagina 12
Procesare Distribuită - Pagina 13
Procesare Distribuită - Pagina 14

Conținut arhivă zip

  • Procesare Distribuita.doc

Alții au mai descărcat și

Procesarile Interogarilor in Sisteme de Gestiune a Bazelor de Date Distribuite

CAPITOLUL I NOTIUNI INTRODUCTIVE DESPRE BAZE DE DATE DISTRIBUITE GENERALITATI Procesarea cererilor este o aplicatie cu performante critice, în...

Proiectarea unei Solutii de Comert Electronic

Comertul electronic reprezinta multitudinea proceselor software si comerciale necesare proceselor business sa functioneze numai, sau în primul...

Sisteme Criptografice cu Chei Publice

1.Introducere Criptografia este stiinta scrierilor secrete. Ea sta la baza multor servicii si mecanisme de securitate folosite in internet,...

Tehnologia NET

CAPITOLUL 1 Aplicatii distribuite 1.1 Introducere In ultimii ani, programarea distribuita apare tot mai des ca solutie la problemele din...

Sabloane de Proiectare a Interfetelor Utilizator pentru Aplicatii Web

Capitolul 1 Introducere Lucrarea prezinta sabloanele de proiectare , ce sunt acestea si cum ne ajuta ele in rezolvarea problemelor de proiectare...

Socket - Client-Server

//*************************sercer.c********************************* #include <stdio.h> #include <string.h> #include <stdlib.h> #include...

IBM Grid ToolBox - Prezentare Generala

1 Introducere Compania IBM a fost implicata cativa ani in proiectul Globus. Dupa identificarea unor goluri in urmatoarea versiune ce urma a fi...

Ai nevoie de altceva?