Teorija grafova i ra čunarske mreže
description
Transcript of Teorija grafova i ra čunarske mreže
LB 1/25
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
LB 2/25
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 3/25
LB
4
T
T
T T
T T T
T
T
1
2 3
4 5
67 8
91
37
44
2 1
1P1
P2
T1
T3
T2 T4
T6 T5
T7
T8
T9
0 17
0 15
T3 T6T5 T8
T1 T2 T4 T7T9
a) Optimalno raspoređivanje sa liste
b) Optimalno raspoređivanje
P1P2
P2P1
Paralelni program je opisan težinskim usmerenim acikličnim grafom G(V,E), gde V predstavlja skup čvorova (zadataka) programa sa pridruženim težinama a E je skup usmerenih grana koje definišu parcijalni redosled ili uslove zavisnosti-prioriteta nad skupom V. Posmatramo grafove sa komunikacijom između zadataka gde svakoj grani eij pridružujemo realan broj (težinu).
Različiti grafovi: broj čvorova, stepen čvora, diametar, broj različitih eigenvalues.
LB 4/25
Opšti optimizacioni metodi
HeuristikaMetodi teorije grafova
- 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 sa liste- Metodi sa višestrukim prolazom: klastering metodi- Metodi kritične petlje- ...
Heuristika je korišćenje iskustva i praktičnih pokušaja da bi se našli odgovori na pitanja ili poboljšale karakteristike...
StatičkiLB
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.
Statički LB se obično posmatra kao problemmapiranja ili scheduling-a (raspoređivanja)
LB 5/25
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
LB 6/25
LB
1
2
3
4
5
6
7
8
9
10
11
12
L (latest start time) E (earliest start time)
13
14
15
P P P P1 2 1 2
1
2
3
4
5
6
7
8
9
11
10
12
13
14
15
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
x
x
x
1
1
1
1
2
2
2
2
x
x
x
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
1
1
1
1
1
x
x
x
x
xx
T
T
T
T
T
T
T T
T
T
T
T
T
T
T
T
T
T
1
2
3
4 5
6
7
8
9
1
23
45
6
7
8
9
T6
T3
T6
LB 7/25
DSP algoritam Proc. arhitektura
Podela na particije
pridruživanje procesorima
ruting
raspoređivanje
projekatzadovoljava
modifikacija
Kraj
LOBAL
da
ne
LB 8/25
Računarske mreže i distribuirani sistemi
Item
Distributed OS
Network OSMiddleware-based OS
Multiproc. Multicomp.
Degree of transparency Very High High Low High
Same OS on all nodes Yes Yes No No
Number of copies of OS 1 N N N
Basis for communication Shared memory Messages Files Model specific
Resource management Global, central Global, distributed Per node Per node
Scalability No Moderately Yes Varies
Openness Closed Closed Open Open
LB 9/25
PRINCIP RADA LB Web servisa
Korisnik unosi adresu u web browser DNS razreši ime Browser uspostavlja vezu sa
selektorom Selektor dodeljuje server WWW1
15.98.2.8
WWW215.98.5.1
WWWN15.98.x.y
HELP
ALPHA
SHIFT
ENTERRUN
DG ER FI
AJ BK CL
7M 8N 9O
DG DG DG
DG T 3U
0V .WX Y Z
TAB
% UTILIZATION
HUB/MAU NIC
2BNC4Mb/s
DNS
korisnikselektor
LB 10/25
LB REŠENJA
Kori{}enje CGI programa
NAT software
Re{enja zasnovana na DNS servisu
Hardware-ska re{enja
Re{enja kompanije Microsoft
LB 11/25
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
LB 12/25
Hardversko-softversko rešenje: MNLB
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
Workload Agents
LB 13/25
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
LB 14/25
LB reš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
LB 15/25
HEFEST-ahritektura sistema
HELP
ALPHA
SHIFT
ENTERRUN
DG ER FI
AJ BK CL
7M 8N 9O
DG DG DG
DG T 3U
0V .WX Y Z
TAB
% UTILIZATION
HUB/MAU NIC
2BNC4Mb/s
switch
proxy server
DNS
korisnik
1
23
4
5
LAN mre`a servera
LB 16/25
HEFEST-prikaz rada
LB 17/25
LB i senzorske bežične mreže 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
Biosensors based on molecular recognition
Ad hock On-demand Distance Vector - AODV
-pokretni računari, ograničeni propusni opseg i vek trajanja baterija
LB 18/25
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
LB 19/25
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
LB 20/25
1
23
0111
value in arrivingpacket’s header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Ruting i prosleđivanje
LB 21/25
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
LB 22/25
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-cost linka svaki čvor izrač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ška se prostire kroz mrežu
Podjednako se koriste oba algoritma na Internetu
LB 23/25
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
LB 24/25
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
LB 25/25
Umesto zaključka
Naučno istraživački rad – timski rad