Microsoft PowerPoint - SD5-RO.ppt

Documente similare
PPSD

Microsoft PowerPoint - SD7-RO.ppt

PowerPoint Presentation

Microsoft Word - lab-fr_3

Paradigme de Programare

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Microsoft Word - Politică de cookie-uri OK_v1.docx

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Microsoft PowerPoint - SD10-RO.ppt

Microsoft PowerPoint - SD6-RO.ppt

Microsoft PowerPoint - TDRC_II-10-TCP.ppt

Proiectarea Sistemelor Software Complexe

1

Communicate at your best - Manual - Cap 3 - RO

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

Example Title with Registration Microsoft® and Trademark SQL ServerTM

PowerPoint Presentation

PowerPoint Presentation

preview_ _Prezentare_Mobile_App

Agenţia de Dezvoltare Regională (ADR) Nord-Vest vă invită la lansările regionale a trei domenii majore de intervenţie aferente Programului Operaţional

Paradigme de programare

Laborator 3

Microsoft Word - intrebari si raspunsuri pentru site 1 septembrie

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Instrucţiuni de ataşare şi de folosire Receptor DGPS/GLONASS AG-STAR Stadiu: V RO Citiţi şi respectaţi aceste instrucţiuni de

Metode API - integrare FGO v.2.5 Cuprins ISTORIC VERSIUNI... 2 INTRODUCERE... 2 APELARE... 4 NOMENCLATOARE... 4 FACTURA... 5 EMITERE... 5 PRINT... 6 S

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

BIOFEEDBACK 2014 SRL GDPR POLITICA DE PĂSTRARE A DATELOR ȘI DE PROTECȚIE A ÎNREGISTRĂRILOR Cod: GDPR Ediția: 01 Revizia: 00 Autor: Ing. Petre Be

DIRECTIVA (UE) 2018/ A CONSILIULUI - din 4 decembrie de modificare a Directivei 2006/ 112/ CE în ceea ce privește armo

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 1. Google Drive, Google Calendar, WeTr

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Comanda si supravegherea centralelor termice de putere

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

Guardian2012_RO3

COMISIA EUROPEANĂ Bruxelles, C(2017) 7845 final ANNEX 1 ANEXĂ la REGULAMENTUL DE PUNERE ÎN APLICARE AL COMISIEI privind normele detaliate r

OFFICIAL USE Document de expunere sumara a proiectului Denumirea Proiectului Proiectul de Transport Urban Public Brasov Imprumut catre Companie Tara R

Avenir Telecom isi consolideaza activitatea in Romania cu ajutorul Microsoft Dynamics NAV Despre organizatie Avenir Telecom are peste 3000 de angajati

Cuantizare Vectoriala.doc

Microsoft Word - Laboratorul 3.doc

SC AI COMSYS SRL

PowerPoint Presentation

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

Regulamentul Concursului_RO

TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand

Modificarea contractului în cursul perioadei sale de valabilitate din perspectiva noilor directive în domeniul achizi ţiilor publice Directiva 24/2014

ANEXA NR.2 la Hotărârea nr. /27 iulie 2018 a Consiliului Local al Municipiului Buzău PROTOCOL DE ASOCIERE Privind realizarea în comun a unei achiziții

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

REGULAMENTUL Concursului SMS Primăvara Ta 1. DEFINIȚII Prezentul Regulament stabileşte principiul de desfăşurare a Campaniei Primăvara Ta, precum şi p

E_d_Informatica_sp_SN_2014_bar_10_LRO

PowerPoint Presentation

Dragi colaboratori,

Microsoft Word - 2 ES RO.doc

Ghidul Utilizatorului GW210

Sisteme de calcul în timp real

Euroweb Romania S.R.L. Nouveau Center, Str. Lipscani nr. 102, et. 3, sector 3, Bucureşti, cod poştal Tel Fax E-

DPD ROMANIA OFERTA COMERCIALA 2019 DPD Standard

Definiţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software.

Ce este SmartSpace? SmartSpace este un portal oferit de Telekom Romania Mobile Communications S.A. ( Telekom Romania Mobile ) prin intermediul caruia

CURS

Microsoft Word _POO_Lab_1_Modificari_v01.htm

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

ALPHA LEASING INFORMARE PRIVIND PRELUCRAREA DATELOR CU CARACTER PERSONAL Avand in vedere noile reglementari cu privire la protectia datelor cu caracte

O SINGURĂ licență și ai acces de pe oricâte stații de lucru! Olteniei nr.4, Baia Mare Tel.: 0262 / , 0743 /

Procedura,

COLEGIUL NATIONAL I.L.CARAGIALE-PLOIESTI BACALAUREAT 2016 SESIUNEA IUNIE-IULIE PROBA D DE EVALUARE A COMPETENTELOR DIGITALE PRECIZARI IMPORTANTE ORDIN

manual_ARACIS_evaluare_experti_v5

PowerPoint-Präsentation

Ingineria Sistemelor de Programare

REGULAMENT DE DESFĂŞURARE al Campaniei Donează cu Pago - prima ediție - 1.Organizatorul, regulamentul şi durata campaniei 1.1.Organizator Organizator

REGULAMENTUL CAMPANIEI PROMOTIONALE

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

DPD ROMANIA OFERTA COMERCIALA 2019 DPD Express Regional DPD Classic Polonia

tehnologii web

manual_ARACIS_evaluare_experti_v4

CABINET MINISTRU

Financial Market Procedures

INTREBARI FRECVENTE SI MANUAL DE UTILIZARE hub.sendsms.ro

PowerPoint Presentation

Gestionarea I/E

Regulament campanie Aboneaza-te la newsletterul Dedeman Campania Aboneaza-te la newsletter-ul Dedeman este organizata de DEDEMAN SRL cu sediul in muni

Termeni și Condiții Termeni și condiții Pentru folosirea în cele mai bune condiții a site-ului, se recomandă citirea cu atenție a acestor termeni și c

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

MIdland CT210 manual

Ghid pre-inregistrare a Agentilor Economici si a Unitatilor in sistemul de trasabilitate pentru produsele din tutun. Se acceseaza platforma web:

Ghid de utilizare al serviciului VB24 Web 1

LUMINIŢA SCRIPCARIU

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

7 Pasi simpli pentru a avea succes online Sunteti pasionat de marketingul digital si vreti sa va creati propriul site sau blog cu care sa faceti bani,

181004_Cookies statement Actimel RO

Calitate aer comprimat Masurarea calitatii aerului comprimat conform ISO 8573 Continut de ulei rezidual - particule - umezeala Masurare continut ulei

Chestionarul MOSPS

PowerPoint Presentation

Microsoft Word _Cookies statement Activia RO.DOCX

Microsoft Word - decizie_2511_a.doc

Transcriere:

Sisteme distribuite teorie 5. Semantica esecurilor in RPC. Comunicatie in grup Noiembrie 6, 2009

Esecuri in comunicare pierderea de mesaje caderea unui proces 1. Pierderea mesajului cerere 2. Pirederea mejajului raspuns 3. Caderea serverului 4. Caderea clientului

Tipuri de esecuri (1/2) 1. Pierderea unui mesaj cerere: Clientul trebuie sa retransmita mesajul dupa un timeout Problema: clientul nu poate diferentia diferitele tipuri de esecuri Ex: daca mesajul rezultat este cel care a fost pierdut, o retransmitere a mesajului cerere poate rezulta in executarea de doua ori a procedurii la distanta Ex: proceduri care necesita mult timp vs. selectia unui timeout scurt 2. Pierderea unui mesaj raspuns: Clientul retrasnmite cererea dupa un timeout. Problema: daca serverul nu recunoaste ce s-a intamplat, executa procedura din nou

Tipuri de esecuri (2/2) 3. Caderea serverului: Daca serverul cade datorita unei erori, trebuie determinat daca executia partiala a procedrii a produs deja efecte in stare. Ex. Daca baza de date a fost modificata in timpul procedurii, problema recuperarii si a continuarii din momentul esecului nu este triviala 4. Caderea clientului: Un proces client care cade in timpul executiei unui RPC este referit ca o invocare orfana Problema: ce face serverul u rezultatele si unde trebuie sa le trimita

Semantica esecurilor Aplicatii diferite pot avea cerinte diferite in ceea ce priveste calitatea serviciului (QoS) in termeni de detectie a esecurilor si recuperare Semantica esecului Operatie fara esec Pierdere mesaj Cadere server Maybe (Poate) Executie: 1 Rezultat: 1 Executie: 0/1 Rezultat: 0 Executie: 0/1 Rezultat: 0 At-least-once (Cel putin odata) Executie: 1 Rezultat: 1 Executie: >=1 Rezultat: >=1 Executie: >=0 Rezultat: >=0 At-most-once (Cel mult odata) Executie: 1 Rezultat: 1 Executie: 1 Rezultat: 1 Executie: 0/1 Rezultat: 0 Exactly once (Exact odata) Executie: 1 Rezultat: 1 Executie: 1 Rezultat: 1 Executie: 1 Rezultat: 1

Semantica Maybe Referita ca si efortul cel mai bun. Nu ofera mecanisme pentru tratarea esecurilor Ex. RPC poate fi executat o data sau ninciodata la partea server Clientul receptioneaza cel mult un rezultat Nu ofera garantii Atata timp cat nu apar esecuri, RPC este adersat adecvat

Semantica At-least-once RPC va fi executat la partea server cel putin odata in cazul pierderii de mesaje Dupa un timeout, clientul repeta RPC pana cand receptioneaza un raspuns de la server O procedura poate fi efectuata de mai multe ori la server E posibil ca un client sa receptioneze raspunsuri multiple datorate exeutiei repetate Nu ofera o confirmare daca serverul cade Adecvata pentru proceduri idempotente care nu cauzeaza schimbarea starii la server si pot fi executate mai mult decat o data fara a produce pagube

Semantica At-most-once Procedura va fi executata cel mult odata atat in cazul pierderii de mesaje cat si a caderii serverului Daca serverul nu cade, sunt garantate exact o executie si exact un rezultat Necesita un protocol complex de gestiune a mesajelor si numerotare

Semantica Exactly once Cazul ideal, nu este usor de atins Invocarea de catre un client va rezulta intr-o singura executie la partea server si va fi furmizat un singur rezultat Dezirabila pentru tranzactii bancare Cazul cel mai simplu: operatii idempotente Cazul unei simple infomrari care doar citeste data de la serverul de la distanta fara a schimba starea serverului Executia repetata si numeroase mesaje rezultat nu sunt o problema

Comunicarea in grup RPC: doua parti, clientul si serverul Contra-exemplu: un grup de servere de fisiere care coopereaza pentru a oferi un singur sistem de fisiere tolerant la esecuri Clientul expediaza un mesaj la toate servererele pentru a se asigura ca cererea este onorata chiar daca unul dintre acestea cedeaza RPC nu poate trata comunicarea de la un expeditor la mai multi receptori (in afara cazului in care efectueaza RPC-uri separate cu fiecare dintre ele)

Grup = colectie de procese care actioneaza imprena intr-o modalitate specifica sistemeului sau utilizatorului. Scop: permite proceselor sa trateze colectii de procese ca o singura abstractizare -> un proces poate trimite un mesaj la un grup de servere fara a a cunoaste cate sunt si unde sunt (caracteristici ce se pot schimba de la un apel la altul) Proprietate cheie: cand un mesaj este expediat la un grup specific, toti membrii grupului il receptioneaza forma de comunicare unul-la mai multi in contrast cu comunicarea punct-la-punct Dinamicitate (analogie cu organizarea sociala!) Grupuri noi pot fi create, grupuri vechi pot fi distruse. Un proces se poate alatura unui grup sau il poate parasi Un proces poate fi membru la mai multe grupuri in acelasi timp -> Sunt necesare mecanisme pentru a administra grupurile si apartenenta la grupuri

Implementari ale comunicarii in grup 1. Tehnica multi-casting (difuzare multipla) Crearea unui adrese speciale de retea (de exemplu indicare prin setarea bitilor celor mai semnificativi pe 1), la care asculta masini multiple Cand este expediat un pachet la una dintre aceste adrese, este automat livrat la toate masinile care asculta la respectiva adresa Implementarea grupuriloe utilizand multi-casting este imediata: asignarea fiecarui grup la adrese multi-cast diferite 2. Tehnica broad-casting (difuzare larga) Pachelete care contin o anukita adresa sunt livrate la toate masinile Poate fi utilizata pentru a implementa grupurile, dar este mai putin eficienta: Fiecare masina primeste fiecare difuzare si softwareul sau trebuie sa verifice daca pachetul ii este adresat Daca nu, pachetul este ignorat, dar un anumit timp este pierdut pentru a tratarea intreruperii Necesita doar un pachet care ajunge la toti membrii grupului

Implementari ale comunicarii in grup 1. Multi-casting 2. Broad-casting, daca multicasting nu este permis 3. Uni-casting (transmitere punct-la-punct), daca mc sau bc nu sunt permise Expedierea unui mesaj de la un singur expeditor la un singur destinatar Expeditorul transmite pachete separate pentru fiecare memru din grup. Pentru un grup cu n membrii, sunt necesare n pachete, spre deosebire de un pachet cand este utilizat mc sau bc Desi mai putin eficienta, aceasta implementare este functionala daca grupurile sunt mici

Designul comunicarilor in grup Drept cazuri de transmitere de mesaje: Cu buffer vs. fara buffer Cu blocare vs. fara blocare Etc Optiuni aditionale Grupuri inchise vs. Grupuri deschise. Grupuri de semeni vs. Grupuri ierarhice Alte probleme Apartenenta la grup Adresarea grupului Primitivele Send si Receive Atomicitate Ordonarea mesajelor Grupuri cu suprapunere Scalabilitate

Grupuri inchise vs Grupuri deschise Grupuri inchise: In care numai membrii grupului pot trimite mesaje la grup. Cei din exteriori nu pot trimite mesaje la grup ca tot, desi pot trimite mesaje la membrii individuali Exemplu: O colectie de procese care lucreaza impreuna pentru un joc de sah pot forma un grup inchis; au propriul scop si nu interactioneza cu lumea inconjuratoare. Grupuri deschise: fiecare proces din sistem poate trimite la oricare grup Exemplu: grup de servere replicate; este important ca proceserel care nu sunt membre (clientii) sa poate expedia mesaje la grup.

Grupuri de semeni vs. Grupuri ierarhice Grupuri de semeni (Peer Groups) Toate procesele sunt egale. Nici un proces nu este sef si toate deciziile sunt loate in colectiv Grupul este simetric si nu are un punct singular de esec Daca procesesele esueaza, grupul devine mai mic, dar continua Dezavantaj: procesul de decizie este complicat pentru a decide orice, este necesar un vot ceea ce duce la intarzieri si surplus in timp Grupuri ierarhice Un proces este cordonator si celelalte sunt lucratori. Cand este generata o cerere de lucru fie de catre un client extern sau de unul dintre lucratori, este trimisa la coordonator care decide care lucraryor este cel mai adecvat sa efectueze lucru si i-l expediaza Pierderae coordonatorului duce intregul grup la o oprire, dar atat timp cat functioneaza deciziile se iau fara a deranja pe altii Ex: un grup ierarhic este indicat pentru un program de sah: Coordonatorul considera situatia curenta, genereaza toate miscarile posibile din aceasta si le trmite lucratorilor pentru evaluare Ca urmare a evaluarii noile situatii sunt expediate la coordonator pentru a le evalua Cand un lucrator nu este ocupat, cere coordonatorului de lucru Coordonatorul contrleaza strategia de cautare

Apartenenta la grup Anumite metode sunt necesare pentru a crea si sterge grupuri, pentru a permite proceselor sa se alature sau sa paraseasca grupuri Abordari: 1. Exista un server de grup la care sunt transmise toate cererile 2. Administreaza apartenenta la grup intr-o modalitate distribuita. Intr-un grup deschis,un outsider poate trimite un mesaj la toti membrii grupului pentru a-si anunta prezenta Intr-un grup inchis, este necesar ceva similar Pentru a parasi grupul, un membru trimite mesaj catre fiecare membru

Adresarea grupului abordari 1. Fiecare grup are o adresa unica, precum o adresa de proces. Permis multi-cast-ul: adresa de grup poate fi asociata cu o adresa multi-cast Permis broad-cast-ul: mesajul poate fi difuzat. Numai uni-cast-ul est permis: necesar o lista de masini care au procese ce apartin grupului. 2. Cere expeditorului sa ofere o lista explicita a tuturor destinatiilor 3. Fiecare mesaj este expediat la membrii grupului prin una din metodele descrise anterior, dar in plus : Fiecare mesaj contine un predicat (expresie Booleana) de evaluat. Predicatul poate include numarul masinii destinatare, variabilele sale locale si alti factori. Daca predicatul este evaluat prin TRUE, mesajul este acceptat. Daca este evalaut prin FALSE, mesajul este ignorat. Exemplu: expediaza un mesaj numai la acele masini care au cel putin 4M de memorie libera si sunt dispuse sa preia noul proces

Primitivele Send si Receive 1. Uneste cele doua forme de comunicare : group & point2point? Send: Parametru -- destinatie Receive: O adresa de proces, un singur mesaj este trimis la un proces. O adresa de grup (sau o referinta la o lista de destinatii), un mesaj este trimis la toti membrii grupului Complet cand soseste un mesaj punct-la-pounct sau de grup 2. Proceduri noi de biblioteca: group-send group-receive

Atomicitate Dezirabila deoarece face programarea sistemelor distribuite mai usoara. Un proces care expediaza un mesaj la un grup nu trebuie sa-si faca griji ce sa faca daca unul dintre membrii nu l-a primit Exemplu intr-un sistem de baze de date distribuite si cu replicare: Un proces expediaza un mesaj la toate masinile care detin baza de date pentru o noua inregistrare in baza de date Are certitudinea ca data a fost scrisa in toate replicile

Ordonarea mesajelor Ordonarea in timp global: Se asteapta ca toate mesajele sa fie licrate instantaneu si in ordinea in care au fost exepdiate Toate destinatiile obtin toate mesajele in exact acceasi ordine Ignora din motive de convenienta faptul ca nu exista un timp global absolut! Ordonarea in timp absolut nu este intotdeauna uso de implementat! Anumite sisteme ofera variatiuni pe aceasta tema. De exemplu: Ordonare in timp consistenta: Daca doua mesaje, fie A si B sunt expediate apropriat in timp, sistemul preia unul dintre acestea ca fiind primul si il livreaza la toti membrii grupului urmat de celalalt. Se intampla ca cel ales sa nu fie cel real, dar compotarea sistemului nu depinde de acesta Mesajele ajung la toti membrii grupului in aceeasi ordine, dar ordinea nu neaparat este ordinea reala in care au fost expediate.

Grupuri cu suprapunere Desi exsita o ordonoare in timp in fiecare grup, nu este in mode necesar si o coordonare intre grupuri multiple Anumite sisteme suporta ordonarea in timp intre grupuri suprapuse, altele nu Implementarea ordonarii in timp intre grupuri diferite este dificila