250 likes | 489 Views
Teorija grafova i ra čunarske mreže. Definicija klasičnog Load Balancing-a (LB) Računarske mreže i distribuirani sistemi LB Web servisa Softverska i hardverska LB re šenja LB i senzorske bežične mreže Linux Scheduling Routing i Fault tolerance. Definicija Load Balancing-a (LB).
E N D
Teorija grafova i računarske mreže • Definicija klasičnog Load Balancing-a (LB) • Računarske mreže i distribuirani sistemi • LB Web servisa • Softverska i hardverska LB rešenja • LB i senzorske bežične mreže • Linux Scheduling • Routing i Fault tolerance
Definicija Load Balancing-a (LB) • LB (Load Balancing) je optimizacioni metod za dobijanje maksimalnih karakteristika sistema (bolje iskorišćenje procesora, veća propusnost, brži odziv sistema itd.). • Opšti LB se sastoji iz četiri dela: • podele programa na particije skupa zadataka (partitioning), • dodeljivanja ovih zadataka pojedinim procesorima (assignment), • određivanja najbolje komunikacione putanje (routing) i • raspoređivanja-planiranja zadataka (scheduling). Raspoređivanje je određivanje redosleda izvršenja zadataka koji su dodeljeni svakom procesoru (tako da se relacije zavisnosti ne naruše i da se odgovarajuće funkcije optimizuju) i određivanje trenutka početka izvršenja pojedinih zadataka
LB T1 T2 T4 T7 T9 T3 T6 T5 T8 0 17 T9 T1 T2 T4 T7 T3 T5 T8 T6 P1 P2 a) Optimalno raspoređivanje sa liste P1 P2 0 15 b) Optimalno raspoređivanje Paralelni program je opisan težinskim usmerenim acikličnimgrafom G(V,E), gde V predstavlja skup čvorova (zadataka) programa sa pridruženim težinama a E je skup usmerenih grana koje definišu parcijalniredoslediliuslove zavisnosti-prioriteta nad skupom V. Posmatramo grafove sakomunikacijom između zadataka gde svakoj grani eijpridružujemo realan broj (težinu). Različiti grafovi: broj čvorova, stepen čvora, diametar, broj različitih eigenvalues.
Statički LB Metodi teorije grafova Opšti optimizacioni metodi Heuristika Heuristika je korišćenje iskustva i praktičnih pokušaja da bi se našli odgovori na pitanja ili poboljšale karakteristike ... - Pretraživanje: -iscrpno, -selektivno: (unazad, lokalno, granaj i pridružuj - BB) - Iterativni metodi - Simulirano kaljenje - annealing - Lančana podela na particije - Matematičko programiranje: (0-1 intidžer programiranje, ...) - ... - Max. tok - min. presek - Metodi kritične putanje - Metodi sa jednostrukim prolazom: raspoređivanje saliste - Metodi sa višestrukim prolazom: klastering metodi - Metodi kritične petlje - ... Statički LB se obično posmatra kao problem mapiranja ili scheduling-a (raspoređivanja) LB problem se predstavlja preko kategorija kao što su local - global, static - dynamic i centralized - distributed scheduling. Zavisno od prirode problema, LB tehnika se može primeniti za vreme izvršenja programa (dinamički LB) ili za vreme prevođenja (statički LB). Većina LB problema pripada klasi NP-kompleta i ne postoji poznati algoritam polinomskog tipa za njihovo rešenje, sledi upotreba heuristike. Load balancing se pojavljuje na različitim nivoima u računarskim sistemima, uglavnom kao LB na hardverskom nivou, LB na nivou mrežnog prenosa i LB na aplikacionom nivou.
Konkurentnost • Na nivou arhitekture računara, eksploatacija različitih oblika konkurentnosti (uporednog rada) u programima je veoma važna. • Osnovna tehnika koja se koristi za realizaciju vremenske konkurentnosti je pipelining-protočnost (na nivou instrukcija i podataka). • Prostorna konkurentnost se naziva paralelno procesiranje. • Termini: simultano – istovremeno - konkurentno
DSP algoritam Proc. arhitektura LOBAL Podela na particije pridruživanje procesorima ruting raspoređivanje da projekat zadovoljava Kraj ne modifikacija
PRINCIP RADA LB Web servisa • Korisnik unosi adresu u web browser • DNS razreši ime • Browser uspostavlja vezu sa selektorom • Selektor dodeljuje server DNS WWW1 15.98.2.8 WWW2 15.98.5.1 WWWN 15.98.x.y selektor korisnik
LB REŠENJA • Kori{}enje CGI programa • NAT software • Re{enja zasnovana na DNS servisu • Hardware-ska re{enja • Re{enja kompanije Microsoft
Hardverska rešenja:Cisco Local Director Primer hadverske realizacije RR algoritma je uređaj CISCO Local Director. Jedna javna IP adresa dodeljuje se CISCO Local Director-u . Svi serveri koji dele javnu adresu moraju biti unutar jedne LAN mreže. Kada zahtev stigne do Local Director-a on po jednom od algoritama koji implementira (RR, Leastconn, weighted, fastest) bira najpodesniji server iz LAN mreže. On poboljšava brzinu odgovora servisa, podržava rad sa bilo kojim operativnim sistemom koji ima podršku za TCP/IP protokol. • Podržava 64 000 javnih i privatnih adresa • Može da radi sa milion simultanih TCP/IP konekcija
Hardversko-softversko rešenje:MNLB Workload Agents • Primer hardversko–softverskog LB sistema koji implementira više algoritama je CISCO Multi Node Load Balancing • Work Load Agent-a koji čuva podatke o broju konekcija i opterećenju za svaki server u klasteru
Softverska LB rešenja: Microsoft NLBNetwork Load Balancing Integration Concepts for Microsoft Internet Security and Acceleration (ISA) Server 2006 Integrated Clustering Scheme Using Network Load Balancing and Server Clusters
LBrešenje: HEFEST • Svi serveri unutar jedne LAN mre`e • Samo je centralni server vidljiv za korisnika ima ulogu proxy servera • Dinamički izbor algoritma • Fake Server • Prenosivost - Java programsko okru`enje • Nezavisnost od Web servera • Nezavisnost od formata baze podataka • Laka nadogradnja postoje}eg sistema
HEFEST-ahritektura sistema LAN mre`a servera DNS 4 1 2 3 5 korisnik switch proxy server
LB i senzorske bežične mreže Biosensors based on molecular recognition • Mikrosenzori • Klastering i hijerarhijska arhitektura • Minimiziranje potrošnje energije • odnos komunikacija/sensing i computing pri procesiranju 1bit-a je 1000 do 10000 • Traffic distribution and System partitioning Ad hock On-demand Distance Vector - AODV -pokretni računari, ograničeni propusni opseg i vek trajanja baterija
Linux Scheduling • LB omogućava da su runqueues izbalansirani • Primenjen je u kernel/sched.c kao load_balance() • Poziva se sa schedule() kada je tekući runqueue prazan • Poziva se i preko timer-a: svakog 1ms kada je sistem besposlen a inače svakih 200ms • Na jednoprocesorskom sistemu load_balance se nikada ne poziva
Routing i Fault tolerance • Algoritmi rutiranja • Link-State (LS) ruting algoritam (Dijkstra) • Distance vektor (rastojanja) (Bellman-Ford Equation - dinamičko programiranje, Ford Fulkerson, prvi algoritam rutiranja na ARPANET-u i RIP-u) • Hijerarhijsko rutiranje (AS) • Rutiranje na Internet-u • RIP • OSPF • BGP • Difuzno rutiranje i rutiranje sa višestrukim upućivanjem
Ruting i prosleđivanje routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 1 0111 2 3
Klasifikacija ruting algoritama Globalne ili decentralizovane informacije? -Least-cost path: Globalni ruting algoritmi: svi ruteri imaju-znaju kompletnu topologiju, informacije o ceni linkova algoritmi LS “stanja linka” Decentralizovani: ruter ima informacije o cenama-rastojanjima linkova ka susedima iterativno se izračunavaju, razmenjuju informacije sa susedima algoritmi “vektora rastojanja” Statički ili dinamički? Statički: rute se menjaju polako tokom vremena Dinamički: rute se menjaju brže periodično ažuriranje menjaju se u odnosu na troškove linka
Poređenje LS i DV algoritama Kompleksnost poruka LS:sa n čvorova, E linkova, O(nE) poslatih poruka DV: razmena između suseda samo vreme konvergencije varira Brzina konvergencije LS:Složenost algoritma je O(n2), algoritam zahteva O(nE) poruka može da ima oscilacije DV: vreme konvergencije varira može da se pojavi petlja rutiranja count-to-infinity problem Robusnost:šta se dešava ako se ruter pokvari? LS: čvor može da objavi nekorektnu cenu-costlinka svaki čvorizračunava samo svoju sopstvenu tabelu DV: DV čvor može da oglasi nekorektne troškove-cenu putanje tabela svakog čvora korišćena od drugih error-greškase prostire kroz mrežu Podjednako se koriste oba algoritma na Internetu
AS protokoli rutiranja • Intra-AS ruting protokoli: • RIP: Routing Information Protocol (DV) • OSPF: Open Shortest Path First (LS) • IGRP: Interior Gateway Routing Protocol (vlasništvo Cisco-a) ............................................................. • BGP(Border Gateway Protocol) - inter AS ruting protokol
Difuzno rutiranje i rutiranje sa višestrukim upućivanjem • Minimum spanning tree • Stablo najkraće putanje (Dijkstrin algoritam) • Deljeno-stablo: Steiner-ovo stablo • Stabla bazirana na centralnom ruteru • DVMRP: distance vektor multicast ruting protokol
Umesto zaključka • Naučno istraživački rad – timski rad