Algoritmi Paraleli și Distribuiți - Algoritmi undă
52 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Care dintre următoarele sunt caracteristici ale comunicațiilor nedirecționate în sistemele distribuite?

  • Se pot utiliza canale unidirecționale sau bidirecționale, în funcție de aplicație.
  • Toate canalele sunt bidirecționale, cu excepția celor specificate explicit. (correct)
  • Întotdeauna se utilizează canale bidirecționale.
  • Comunicarea se face doar în direcția specificată de arhitectura sistemului.

Ce reprezintă termenul "cunoștințe inițiale" în contextul sistemelor distribuite?

  • Informațiile pe care un nod le are despre resursele disponibile în sistem.
  • Setul de reguli de comunicare utilizate de noduri.
  • Informațiile pe care un nod le are despre propria sa stare. (correct)
  • Informațiile pe care un nod le are despre topologia rețelei.

Ce înseamnă că o rețea distribuită este conectată?

  • Toată rețeaua este conectată la un server central.
  • Există o cale între oricare două procesoare în ambele direcții. (correct)
  • Există o cale între oricare două procesoare, dar doar într-o singură direcție.
  • Fiecare procesor are acces la toate resursele din rețea.

Care dintre următoarele este o caracteristică a topologiei de tip clică?

<p>Toate nodurile au gradul $N-1$, unde $N$ este numărul de noduri. (A)</p> Signup and view all the answers

Care dintre următoarele reprezintă un factor care influențează complexitatea comunicării într-un algoritm distribuit?

<p>Cunoștința topologiei la nivelul fiecărui nod. (D)</p> Signup and view all the answers

Care dintre următoarele este o condiție de consistență pentru sensul legăturilor într-o topologie de tip inel?

<p>Precedentul lui $p$ este $q$ dacă și numai dacă următorul lui $q$ este $p$. (B)</p> Signup and view all the answers

Ce reprezintă setul de direcții într-o topologie distribuită?

<p>Etichetele atribuite muchiilor incidente unui nod, indicând direcția spre care conduc în rețea. (B)</p> Signup and view all the answers

Care dintre următoarele este o condiție de consistență pentru sensul legăturilor într-o topologie de tip hipercub?

<p>Două noduri legate prin muchie cu eticheta $i$ diferă doar în bitul $i$. (A)</p> Signup and view all the answers

Ce reprezintă o configurație într-un program distribuit?

<p>Ansamblul stărilor tuturor proceselor la un moment dat (D)</p> Signup and view all the answers

Care este caracteristica principală a unei execuții maximale?

<p>Poate fi infinită sau se termină într-o configurație terminală (A)</p> Signup and view all the answers

Ce definește relația de tranziție într-un sistem de tranziții?

<p>Modul în care se transformă stările între ele (A)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre o configurație terminală?

<p>Nu are succesor (D)</p> Signup and view all the answers

Ce reprezintă mulțimea 𝐼 din sistemul de tranziții?

<p>Setul configurațiilor inițiale (C)</p> Signup and view all the answers

Ce se întâmplă când o operație modifică starea unui proces?

<p>Se modifică configurația sistemului (C)</p> Signup and view all the answers

Ce este un program distribuit?

<p>O colecție de procese secvențiale comunicante (B)</p> Signup and view all the answers

Cum se modelează o execuție a unui sistem distribuit?

<p>O secvență de configurații (A)</p> Signup and view all the answers

Care este proprietatea care garantează că fiecare calcul implementat într-un algoritm distribuit este finit?

<p>Terminare (C)</p> Signup and view all the answers

Ce tip de proces inițiază un algoritm undă, având primul eveniment ca unul intern sau un send?

<p>Inițiatori (D)</p> Signup and view all the answers

Ce caracteristică definește relația de ordine cauzală dintre evenimentele a, b și c în execuția E?

<p>Dacă a &lt; b și b &lt; c, atunci a &lt; c. (B)</p> Signup and view all the answers

Ce tip de scheme implementează algoritmii undă pentru a asigura participarea tuturor proceselor?

<p>Scheme de transmisie de mesaje (B)</p> Signup and view all the answers

Cum se clasifică algoritmii în funcție de inițiere?

<p>Centralizați și descentralizați (C)</p> Signup and view all the answers

Ce rol are evenimentul de decizie (decide) într-un calcul implementat de algoritmii undă?

<p>Să asigure un punct de decizie în proces (C)</p> Signup and view all the answers

Ce se întâmplă dacă două evenimente, a și b, sunt concurente?

<p>Dumneavoastră a &lt; b și b &lt; a. (B)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre execuțiile echivalente E și F?

<p>Evenimentele pot avea ordini diferite. (B)</p> Signup and view all the answers

Care este principalul element al algoritmului inel utilizat pentru transmitere?

<p>Token-ul (C)</p> Signup and view all the answers

Ce condiție trebuie îndeplinită pentru ca un proces din algoritmul arbore să transmită un mesaj?

<p>Să fi primit mesaje de la toți vecinii (A)</p> Signup and view all the answers

Cum se numește identificatorul global al canalului în transmiterea prin adresare directă?

<p>q (A)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre algoritmul inel?

<p>Inițiatorul trimite un token care revine la el pentru decizie. (B)</p> Signup and view all the answers

Câte mesaje sunt necesare în algoritmul inel pentru a transmite un mesaj către toate procesele?

<p>n (B)</p> Signup and view all the answers

Ce rol joacă nodurile frunză în algoritmul arbore?

<p>Sunt inițiatorii care primesc mesaje. (D)</p> Signup and view all the answers

În algoritmul arbore, cum decide un proces când să transmită mesajul?

<p>După ce a primit un mesaj de la fiecare vecin. (D)</p> Signup and view all the answers

Ce caracteristică definitorie are adresarea prin direcție în algoritm?

<p>Se referă la canalele locale ale procesului. (B)</p> Signup and view all the answers

Ce reprezintă $D$ în algoritmul fazelor?

<p>Diametrul rețelei (B)</p> Signup and view all the answers

Care este semnificația lui 'sent' în contextul algoritmului fazelor?

<p>Un tip de mesaj trimis între noduri (C)</p> Signup and view all the answers

Ce afirmă teorema legată de algoritmul fazelor?

<p>Este un algoritm undă (C)</p> Signup and view all the answers

Cum este structurat nodul 1 în exemplul dat?

<p>{2:3} (B)</p> Signup and view all the answers

Ce condiție trebuie să îndeplinească 'min(rec)' în cadrul execuției algoritmului?

<p>Să fie mai mare sau egală cu 'sent' (D)</p> Signup and view all the answers

Care este valoarea inițială a variabilei 'sent' în exemplul de execuție?

<p>0 (D)</p> Signup and view all the answers

Câte canale sunt prezentate ca fiind neidirijate în algoritm?

<p>2 canale (D)</p> Signup and view all the answers

Care este exemplul dat al valorilor 'rec' pentru nodul 3?

<p>{3:0} (A)</p> Signup and view all the answers

Ce se întâmplă în cazul în care 'sent' este mai mic decât $D$?

<p>Se continuă execuția (B)</p> Signup and view all the answers

Care dintre următoarele afirmații este adevărată despre nodurile reprezentate în exemplu?

<p>Nodurile conțin valori variate pentru 'rec' (A)</p> Signup and view all the answers

Ce tip de algoritm este algoritmul 'arbore'?

<p>Algoritm de undă (B)</p> Signup and view all the answers

Câte mesaje sunt trimise în algoritmul 'arbore' pentru a atinge o configurație terminală?

<p>N mesaje (A)</p> Signup and view all the answers

Care este rolul inițiatorului în algoritmul ecou?

<p>Să transmită mesaje către colegii săi (C)</p> Signup and view all the answers

Ce se întâmplă în algoritmul 'fazei' când un proces trimite un mesaj?

<p>Trimite un mesaj următor doar după primirea unui mesaj de la fiecare in-vecin (B)</p> Signup and view all the answers

Care este complexitatea temporală a algoritmului arbore?

<p>O(N) (D)</p> Signup and view all the answers

În algoritmul ecou, cum este structurat canalul de comunicare?

<p>Unidirecțional (B)</p> Signup and view all the answers

Ce tip de rețele poate aplica algoritmul ecou?

<p>Topologii arbitrare (C)</p> Signup and view all the answers

Care dintre următoarele afirmații descrie cel mai bine algoritmul fazelor?

<p>Este descentralizat și folosește procese de tip heartbeat (A)</p> Signup and view all the answers

Cum sunt gestionate mesajele în algoritmul ecou în timpul execuției?

<p>Mesajele sunt transmise înapoi spre inițiator (B)</p> Signup and view all the answers

Ce se consideră o configurație terminală în algoritmul arbore?

<p>Cel puțin un proces a executat un eveniment 'decide' (D)</p> Signup and view all the answers

Flashcards

Configuratie

Un ansamblu al starilor tuturor proceselor la un moment dat.

Operatie

O modificare a starii unui proces, afectând implicit configuratia sistemului.

Executie

Modelul unui program distribuit printr-o secventa de stări/configuratii.

Program distribuit

O colectie de procese secventiale care comunică între ele.

Signup and view all the flashcards

Sistem de tranzitii

Reprezentare a unui program distribuit ca un sistem cu stări și tranziții între ele.

Signup and view all the flashcards

Relația de tranziție între configurații.

Signup and view all the flashcards

C

Mulțimea tuturor configurațiilor posibile ale sistemului.

Signup and view all the flashcards

Executie maximala

O secvență infinită sau care se termină într-o configurație terminală.

Signup and view all the flashcards

Calculul unui algoritm distribuit

Un calcul al unui algoritm distribuit este o clasă de echivalență a execuțiilor, în care execuțiile au aceeași colecție de evenimente, relație de ordine cauzală și ultima configurație.

Signup and view all the flashcards

Relația de ordine cauzală

Relația de ordine cauzală < este cea mai slabă relație care satisface: 1) Un eveniment din același proces care se produce înaintea altui eveniment este cauzal legat de acesta. 2) Un eveniment send este cauzal legat de evenimentul receive corespunzător. 3) Dacă 𝑎 < 𝑏 și 𝑏 < 𝑐, atunci 𝑎 < 𝑐 (tranzitivitate).

Signup and view all the flashcards

Execuții echivalente

Două execuții sunt echivalente dacă au aceeași colecție de evenimente, relație de ordine cauzală și ultima configurație.

Signup and view all the flashcards

Evenimente concurente

Două evenimente sunt concurente dacă 𝑎 < 𝑏 și 𝑏 < 𝑎. Aceasta înseamnă că ordinea lor nu este determinată cauzal.

Signup and view all the flashcards

Tipuri de evenimente

Evenimentele interne sunt evenimente care se întâmplă în interiorul unui proces, în timp ce evenimentele send și receive sunt evenimente de comunicare între procese.

Signup and view all the flashcards

Algoritmi undă

Algoritmii undă sunt algoritmi care transmit informații printr-o rețea de procese, asigurarea implicării tuturor proceselor.

Signup and view all the flashcards

Inițiatori și neinițiatori

Inițiatorii sunt procese care inițiază comunicarea în rețea, în timp ce neinițiatorii primesc informații de la inițiatori.

Signup and view all the flashcards

Clasificarea algoritmilor undă

Algoritmii undă sunt clasificați în funcție de centralizarea lor (centralizați vs. descentralizați) și de topologia rețelei (inel, arbore, clică etc).

Signup and view all the flashcards

Rețea fixă

O rețea distribuită este fixă atunci când structura sa nu se modifică în timpul execuției algoritmului. Acest lucru înseamnă că nu există adăugări sau eliminări de noduri, iar conexiunile dintre noduri rămân stabile.

Signup and view all the flashcards

Rețea nedirecționată

O rețea distribuită este nedirecționată când canalele de comunicare dintre noduri permit transmisia mesajelor în ambele direcții. Cu alte cuvinte, dacă nodul A poate trimite un mesaj către nodul B, atunci nodul B poate trimite și el un mesaj către nodul A.

Signup and view all the flashcards

Rețea conectată

O rețea distribuită este conectată atunci când există o cale de comunicare între oricare două noduri din rețea. Cu alte cuvinte, orice nod poate ajunge la orice alt nod din rețea printr-o serie de noduri intermediare.

Signup and view all the flashcards

Cunoștințe inițiale

Cunoștințele inițiale ale unui nod dintr-o rețea distribuită se referă la informațiile pe care le are acel nod la începutul execuției algoritmului. Aceste informații pot include: propria sa identitate, identitatea vecinilor, setul de direcții ale vecinilor (ordinea în care sunt conectați).

Signup and view all the flashcards

Complexitatea comunicării

Complexitatea comunicării într-un algoritm distribuit se referă la numărul de mesaje schimbate, volumul de date transferate (biți) sau timpul necesar pentru a finaliza un calcul distribuit.

Signup and view all the flashcards

Constientizarea topologiei

Constientizarea topologiei se referă la gradul de cunoaștere pe care un nod îl are despre structura rețelei. Această cunoaștere poate varia de la o simplă identificare a vecinilor, până la o hartă completă a rețelei.

Signup and view all the flashcards

Sensul direcției

Sensul direcției se referă la etichetele care sunt atribuite muchiilor incidente unui nod. Aceste etichete indică direcția către alte noduri din rețea. Sensul direcției este uniform pentru toți nodii din rețea.

Signup and view all the flashcards

Condiția de consistență

Condiția de consistență a sensului direcției asigură o relație logică între etichetele muchiilor. De exemplu, într-un inel, precedentul nodului 𝑝 este 𝑞 dacă și numai dacă următorul nodului 𝑞 este 𝑝.

Signup and view all the flashcards

Transmitere prin adresare directă

Într-un sistem distribuit, o operație care trimite un mesaj către un proces specific identificat printr-un identificator unic.

Signup and view all the flashcards

Transmitere prin adresare indirectă

Într-un sistem distribuit, o operație care trimite un mesaj către unul din canalele disponibile de la un anumit proces.

Signup and view all the flashcards

Algoritmul inel

O topologie de rețea unde procesele sunt aranjate într-un ciclu, fiecare proces având un vecin stânga și un vecin dreapta.

Signup and view all the flashcards

Token în algoritmul inel

O unitate de informații care circulă prin inelul proceselor pentru a coordona o operație.

Signup and view all the flashcards

Algoritmul arbore

O topologie de rețea unde procesele sunt aranjate ca nodurile unui arbore, cu un nod rădăcină la vârf.

Signup and view all the flashcards

Variabila rec[q] în algoritmul arbore

Variabilă locală care ține evidența dacă un proces a primit o mesaj de la un vecin specific.

Signup and view all the flashcards

Nod frunză în algoritmul arbore

Un proces care are un singur canal incident neutilizat în algoritmul arbore.

Signup and view all the flashcards

Decide

Procesul de luare a deciziilor în algoritmul arbore, când un proces a primit mesaj de la toți vecinii.

Signup and view all the flashcards

Aplicabilitate algoritmului arbore

Algoritmul arbore este aplicabil pe o topologie arbore.

Signup and view all the flashcards

Mesaje Tok

Mesaje trimise de la un proces la altul, pentru a transmite informații.

Signup and view all the flashcards

Inițiator

Un proces care inițiază execuția unui algoritm distribuit.

Signup and view all the flashcards

Destinatar

Un nod care primește o mesaj de la un alt nod.

Signup and view all the flashcards

Algoritmul Ecou

Un algoritm care se bazează pe transmiterea în rețea a mesajelor pentru a ajunge la o decizie comună.

Signup and view all the flashcards

Algoritmul Faze

Un algoritm distribuit care folosește mesaje pentru a sincroniza procesele în rețea.

Signup and view all the flashcards

Out-vecini

Nodurile care trimit mesaje către celălalt nod.

Signup and view all the flashcards

In-vecini

Nodurile care primesc mesaje de la celălalt nod.

Signup and view all the flashcards

Diametrul Grafului

Numărul maxim de salturi necesare pentru a ajunge de la un nod la altul în rețea.

Signup and view all the flashcards

Algoritmul fazelor

Un algoritm de distribuire a datelor în rețea cu un singur nod sursă, unde datele sunt trimise în mod repetat până când toate nodurile primesc datele.

Signup and view all the flashcards

Canalele nediriajate

O rețea cu un singur nod sursă, unde datele sunt trimise în mod repetat până când toate nodurile primesc datele.

Signup and view all the flashcards

Canalele diriajate

O rețea cu un singur nod sursă, unde datele sunt trimise direct la anumite noduri predeterminate.

Signup and view all the flashcards

Diametrul rețelei

Distanța dintre două noduri din rețea.

Signup and view all the flashcards

Sent

Informația primită de un nod.

Signup and view all the flashcards

Execuție a algoritmului fazelor

O secvență de stări ale rețelei, unde un nod primește informații de la alte noduri și trimite informații proprii.

Signup and view all the flashcards

Nod terminal

Un nod din rețea care nu mai primește informații noi.

Signup and view all the flashcards

Study Notes

Algoritmi Paraleli și Distribuiți - Algoritmi undă

Noțiuni preliminare - Configurații

  • Un program distribuit este o colecție de procese secvențiale care comunică.
  • Configurația reprezintă ansamblul starilor tuturor proceselor la un moment dat.
  • O operație modifică starea unui proces, implicit configuratia.
  • O execuție a unui program distribuit poate fi modelată printr-o succesiune de configurații.

Sisteme de tranziții

  • Un program distribuit poate fi modelat ca un sistem de tranziții:
    • Mulțimea tuturor stărilor (configurațiilor) posibile ale sistemului
    • Tranzițiile pe care sistemul le poate face între stări
    • Stările din care sistemul poate porni (configurații inițiale)
  • Formal, un sistem de tranziții este un triplet S = (C, →, I):
    • C este o mulțime de configurații
    • → este relația de tranziție binară pe C
    • I este setul de configurații inițiale (o submulțime a lui C)
  • O execuție este o secvență maximală E = (yo, y1, y2, ...) unde yo ∈ I și yi → yi+1 pentru i ≥ 0.
  • O configurație terminală y nu are succesori.

Sisteme de tranziții (2)

  • O secvență E este maximală dacă este infinită sau sfârșește într-o configurație terminală.
  • Configurația y este tangibilă din y dacă există o secvență Yo, Y1, Y2,..., Yk a.î.
    • Y = Y0
    • & = Yk
    • Yi → Yi+1, pentru i = 0, …, k-1.
  • Un sistem distribuit constă dintr-o colecție de procese și un subsistem de comunicații.

Sisteme de tranziții (3)

  • Pentru o execuție E, relația de ordine cauzală < este cea mai slabă relație care satisface următoarele condiții:
    • Dacă a și b sunt două evenimente diferite ale aceluiași proces și a apare înaintea lui b, atunci a < b.
    • Dacă a este un eveniment send, iar b este evenimentul receive corespunzător, atunci a < b.
    • Dacă a < b și b < c, atunci a < c (transitivitate).
    • Dacă a < b și b < a, atunci a și b sunt concurente.
  • O execuție E este echivalentă cu F (E~F) dacă au aceeași colecție de evenimente (ordinea poate fi diferită) și respectă aceeași relație de ordine cauzală. Ultima configurație a lui E coincide cu ultima configurație a lui F.

Algoritmi undă (Wave algorithms)

  • Schema de transmitere a mesajelor este
    • dependentă de topologie
    • asigură participarea tuturor proceselor.
  • Algoritmii undă implementează scheme pentru
    • difuzarea informației,
    • realizarea sincronizării globale între procese și
    • declanșarea unui eveniment în fiecare proces.
  • Proprietățile algoritmilor undă includ
    • terminare (fiecare calcul este finit),
    • decizie (fiecare calcul conține cel puțin un eveniment de decizie) și
    • dependență (fiecare decizie este precedată cauzal de un eveniment din fiecare proces).

Definiții (1)

  • Categorii de procese:
    • Inițiatori (prim eveniment este internal sau send),
    • Neinițiatori (prim eveniment este receive).
  • Clasificare:
    • algoritmi centralizați (un inițiator),
    • algoritmi descentralizați (set arbitrar de inițiatori).
  • Topologie: inel, arbore, clică (topologie fixă, nedirecționată, conectată).

Definiții (2)

  • Cunoștințe inițiale (ex: identitatea proprie, identități ale vecinilor, setul direcției).
  • Numărul de decizii.
  • Complexitate (număr de mesaje schimbate, număr de biți interschimbați, timpul necesar pentru un calcul).

Noţiuni preliminare - Sensul legăturilor

  • Complexitatea comunicării într-un algoritm distribuit depinde de topologie și de cunoașterea topologiei la nivelul fiecărui nod.
  • Setul de direcții,
    • muchiile incidente unui nod sunt etichetate cu direcția spre care conduc în rețea.
    • Setul de etichete este același pentru fiecare nod.
    • Mărimea setului de direcții depinde de topologie.
    • Se trebuie respectată o condiție suplimentară de consistență.

Notație transmitere mesaje

  • Transmitere prin adresare directă: send ch[q](mesaj), q fiind identitatea unică a receptorului.
  • Transmitere prin adresare indirectă: send ch[direcție](mesaj), direcția fiind locală procesului emitător.

Algoritmul Inel

  • fiecare proces are un vecin dedicat, Urm
  • adresarea prin direcție(Urm, Prec)
  • toate canalele formează un ciclu Hamiltonian
  • algoritmul este centralizat

Algoritmul Arbore

  • aplicat unei topologii arbore / unei topologii în care se cunoaște un arbore de acoperire
  • Fiecare nod cunoaște identitatea proprie și identitățile vecinilor (Ids)
  • Inițiatorii sunt toate nodurile frunză
  • fiecare proces trimite exact un mesaj
  • când un proces a primit câte un mesaj pe toate canalele sale atunci decide

Algoritmul Ecou

  • aplicat unei topologii arbitare
  • algoritmul este centralizat, un singur initiator I
  • bazat pe inundarea rețelei cu mesaje tok.

Algoritmul fazelor (pulsatii, heartbeat, gossiping)

  • aplicat unei topologii arbitare
  • algoritmul este descentralizat
  • canale unidirectionale
  • procesele cunosc diametrul grafului 𝐷

Algoritmul lui Finn

  • nu cere cunoașterea diametrului
  • se bazează pe cunoașterea identificatorilor proceselor
  • în mesaje se transmit seturi de identificatori de procese

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Acest quiz explorează conceptele de bază ale algoritmilor paraleli și distribuiți, axându-se pe algoritmii undă și configurațiile programelor distribuite. Vei învăța despre transmiterea de mesaje, stările proceselor și modul în care execuțiile modelează comportamentul programelor distribuite.

More Like This

Wave Types and Properties Quiz
5 questions
Wave Characteristics and Measurements
6 questions
Physics Wave Interference Flashcards
19 questions
Geology of Wave Cut Platforms
10 questions

Geology of Wave Cut Platforms

SolicitousPelican7010 avatar
SolicitousPelican7010
Use Quizgecko on...
Browser
Browser