Vyvažování sítě. Škálovatelná webová architektura a distribuované systémy. Redundantní Load Balancery

    vyvažování zátěže dvou motorů-- [A.S. Anglicko-ruský energetický slovník. 2006] Témata: energie obecně EN vyvažování zátěže dvou motorů ... Technická příručka překladatele

    Vyvažování kol- Tento termín má jiné významy, viz Vyvažování. Vyvažování kola je proces snižování nevyváženosti kola, disku, náboje, uchycení kola a prvků zavěšení na přijatelnou úroveň. Obsah 1 The need to b ... Wikipedie

    Vyrovnávání- Seznam významů slova nebo fráze s odkazy na relevantní články. Pokud jste sem přišli z... Wikipedie

    GOST 19534-74: Vyvažování rotujících těles. Podmínky- Terminologie GOST 19534 74: Vyvažování rotujících těles. Termíny původního dokumentu: 2. n nosný rotor D. n Lagerrotor E. n nosný rotor Jednoduchý nosný rotor F. Rotor a n nosný Rotor s n podporami Definice pojmu z různé dokumenty:… … Slovník-příručka termínů normativní a technické dokumentace

    Komunikační systémy Brocade- Brocade, Inc. Typ Veřejná společnost Kotace na NASDAQ: BRCD Rok založení ... Wikipedie

    Kerio winroute firewall- Typ firewall Vývojář Kerio Technologies OS Verze systému Windows 6.7 (1. srpna 2009) Licence ... Wikipedie

    Kerio Control- Typ firewall Developer Kerio Technologies Operating systém Windows Nejnovější verze 7.4.0 (30. října 2012) Proprietární licence Webové stránky ... Wikipedie

    Zátěžové testování- (angl. Load Testing) stanovení nebo sběr ukazatelů výkonu a doby odezvy programově technický systém nebo zařízení v reakci na externí požadavek za účelem stanovení souladu s požadavky na tento systém ... Wikipedie

    Testování výkonu- V tomto článku chybí odkazy na zdroje informací. Informace musí být ověřitelné, jinak mohou být zpochybněny a vymazány. Můžete... Wikipedie

    Cloud computing- (anglicky cloud computing), v informatice je to model pro poskytování všudypřítomných a pohodlných přístup k síti na vyžádání do společného fondu konfigurovatelných výpočetních zdrojů (například datové sítě, ... ... Wikipedia

Technologie vyvažování zátěže mezi výpočetními zdroji se staly relevantními s tím, jak se šíří webové stránky a další internetové zdroje (včetně sociálních sítí), stejně jako aplikace a data distribuovaná mezi vzdálenými místy. V současné době každý den využívá obrovské množství lidí internetové služby, které k nim přistupují pomocí load balancerů. Navíc si uživatelé z velké části ani neuvědomují jejich existenci. Při jejich absenci by přitom bylo poskytování služeb velmi problematické. Co jsou tedy load balancery? Pojďme na to přijít.

Zpočátku byly balancery umístěny jako specializovaná zařízení určená k nahrazení/vývoji tehdy existujícího řešení problému vyvažování webových služeb pomocí technologie DNS (Domain Name Service) pomocí metody Round-Robin. Bez použití balancerů přeložila služba DNS název hostitele pouze na jednu IP adresu, a pokud byly použity, na jednu z několika IP adres z daný seznam. Když se zvýšily požadavky na výkon výpočetního komplexu, mohl správce jednoduše nainstalovat do systému další server a přidejte jeho IP adresu do vyvažovacího seznamu.

Metoda vyrovnávání zátěže DNS mezi více servery měla několik problematických problémů. Prvním problémem bylo, že s takovým vyvažovacím systémem bylo obtížné dosáhnout rovnoměrného rozložení požadavky klientů mezi jednotlivými servery. Nejčastěji byla distribuce nepředvídatelná, protože Balancér nemohl přijímat informace o aktuální zátěži každého serveru. To donutilo společnosti nakupovat výkonnější serverový hardware, než bylo skutečně potřeba, což vedlo ke zvýšeným kapitálovým nákladům.

Úkoly load balancerů zahrnovaly a stále zahrnují zajištění škálovatelnosti výpočetních systémů, odolnost služeb proti chybám, správu připojení k serverům a ochranu serverové zařízení před útoky vetřelců

Druhým problémem bylo, že nebyla nijak monitorována dostupnost aplikací, TCP/UDP portů nebo samotných serverů. Pokud by server pro vyrovnávání zátěže selhal, server DNS by mu stále předával požadavky klientů. V důsledku toho uživatelé obdrželi zprávu „server není k dispozici“. Pokud byl neúspěšný server (nebo několik počítačů) ručně odstraněn ze seznamu vyrovnávání správcem, klienti se k němu stále pokoušeli přistupovat pomocí jeho IP adresy. V současné době je tento problém částečně vyřešen snížením parametru TTL v odpovědi DNS. Ale pokud na DNS serveru resp pracovní stanice Pokud je klient nastaven tak, aby ignoroval hodnoty parametrů TTL nebo je odpovídající DNS záznam nakonfigurován staticky, problém ztráty přístupu zůstává relevantní. A dnes neexistují žádné metody, jak to vyřešit.

Prvním komerčním produktem, který poskytoval vyrovnávání zátěže mezi IP servery, bylo zařízení Cisco LocalDirector, vyvinuté v červenci 1996. První balancery (včetně Cisco LocalDirector) byly navrženy nejen pro zmírnění problémů s vyrovnáváním zátěže přes DNS, ale vesměs byly určeny pro správu víceserverové infrastruktury včetně jejího správného škálování.

V současné době je škálovatelnost výpočetních systémů obvykle implementována dvěma způsoby: zvýšením zdrojů samostatného serveru (superpočítače) nebo použitím několika málo výkonných serverů sloužících stejnému úkolu. Druhá možnost je levnější, a proto výhodnější. Implementuje se právě pomocí balancerů, které podporují technologii shlukování.

Nástroj pro vyrovnávání zatížení umožňuje distribuovat aktuální aplikační provoz mezi servery a také řídit a měnit jeho charakteristiky v souladu se stanovenými pravidly.

Moderní nástroje pro vyrovnávání zatížení umožňují řídit, distribuovat a upravovat provoz aplikací na základě hodnot hlaviček L2-L7 síťový model OSI. V zásadě nástroje pro vyrovnávání zatížení rozpoznávají aplikace a zajišťují, aby byly „dodány“ uživatelům Nedávno staly se známými jako Application Delivery Controllers.

Globálně nebo lokálně?

Systémy vyvažování zátěže se dělí na dva typy: globální a lokální. Lokální vyvažování zátěže je navrženo tak, aby distribuovalo požadavky klientů mezi skupinu serverů umístěných v rámci stejné lokality. V v tomto případě balancery fungují jako mezičlánek mezi klienty a servery během jejich interakce. S lokálním vyvažováním jsou požadavky klientů distribuovány mezi servery na základě hodnot hlaviček L3-L7 navázaného spojení.

Globální vyvažování je navrženo tak, aby distribuovalo požadavky klientů mezi weby. V tomto případě se systémy nepodílejí na přenosu klient-server provozu, ale pouze přesměrovávají klienty na jednu nebo druhou stránku. S globálním vyrovnáváním zátěže jsou požadavky klientů distribuovány mezi weby pomocí mechanismů DNS, přesměrování HTTP atd.

V obou variantách balancéry monitorují dostupnost serverového hardwaru, díky čemuž je schéma odolné proti chybám. Funkčnost lokálního a globálního vyvažování může být soustředěna na jedno zařízení (Radware, Brocade, F5) nebo přenesena na nezávislé platformy (Cisco).

V současné době se nejčastěji setkáváme s problémy, které vyžadují lokální vyvážení. Tenhle typ používané téměř ve všech datových centrech velké společnosti(bankovní a operátorské segmenty, poskytovatelé obsahu). Nejčastěji se využívá lokální load balancing následující typy aplikace:

  • poštovní systémy;
  • webové systémy (jednotlivé webové servery a frontend segmenty komplexních aplikační systémy);
  • DNS systémy;
  • systémy kontroly přístupu (Firewall).

SYSTÉMY VYVAŽOVÁNÍ ZÁTĚŽE JSOU ROZDĚLENY DO DVOU TYPŮ: GLOBÁLNÍ A MÍSTNÍ

Globální vyrovnávání zátěže využívají především poskytovatelé obsahu k poskytování služeb zálohování mezi geograficky distribuovanými lokalitami. Tento typ systému je nejčastěji implementován na základě technologií DNS a HTTP redirect. Nevýhodou globálního vyrovnávání zátěže je to dlouho obnovení služeb (od několika do desítek sekund) v případě výpadku části sítě nebo celého webu. Kromě toho mohou nastat situace, kdy klientské systémy ignorují hodnotu DNS TTL, což vede k výpadku přístupu ke službám až na 24 hodin.

Hlavním účelem použití tohoto typu balancování je optimalizace datových toků mezi klienty a servery (klientský přístup k nejbližšímu datovému centru). Umožňuje také poskytovat spolehlivý přístup do veřejných zdrojů společnosti na internetu prostřednictvím IP adres dvou nezávislých telekomunikačních operátorů (PA bloky). Load balancery tedy monitorují dostupnost služby prostřednictvím IP adres obou telekomunikačních operátorů, na základě toho se rozhoduje o nasměrování klientů na tu či onu IP adresu.

Další funkce

Load balancery mají další funkčnost. Mezi nejoblíbenější patří SSL-offloading, komprese přenášených HTTP data a multiplexování TCP spojení.

umožňuje minimalizovat zatížení serverového vybavení datového centra přenosem šifrování/dešifrování SSL do balancerů s vestavěnými hardwarovými akcelerátory. Tato funkcionalita se obvykle používá ve výpočetních systémech, kde je potřeba organizovat zabezpečený přístup na služby pro vzdálené klienty.

Komprese přenášených HTTP dat umožňuje minimalizovat množství přenášeného HTTP provozu mezi servery datového centra a pracovními stanicemi vzdálených uživatelů, a tím zrychlit provoz aplikačních systémů. Nejběžnější kompresní protokoly jsou gzip a deflate. Funkce komprese dat HTTP je podporována všemi moderní prohlížeč. Podobný problém řeší specializovaná zařízení – hardwarové nebo softwarové optimalizátory provozu. Na rozdíl od balancerů musí být nainstalovány jak na straně klienta, tak na straně serveru. Na druhou stranu optimalizátory provozu používají jiný princip fungování (založený na ukládání do mezipaměti) a je možné optimalizovat práci velké číslo protokoly, nejen HTTP.

Multiplexování TCP spojení umožňuje minimalizovat zatížení serverového vybavení datového centra instalací pouze jednoho spojení mezi balancerem a serverem. Všechny klientské požadavky vstupující do balanceru jsou tedy přenášeny na server v rámci jediného spojení pomocí mnoha transakcí v něm.

Funkční změny hlaviček L3-L7 a ochrana proti útokům DoS/SYN používá se především v segmentu poskytovatelů obsahu ve firemním segmentu. Změna hlaviček L3-L7 umožňuje zákazníkům flexibilněji zpracovávat provoz aplikací řízením přístupu klientů ke službám. Ochrana proti útokům DoS v souladu s předdefinovanými signaturami zabraňuje přenosu škodlivého provozu na serverové zařízení. Ochrana proti útokům SYN zabraňuje přetížení serverových zařízení zaseknutými připojeními v důsledku jejich nucená přestávka(pokud není potvrzeno připojení ze strany klienta).

Funkční přesměrování požadavků klientů na cache servery používá se především v segmentu telekomunikačních operátorů. Umožňuje snížit provoz přenášený v síti provozovatelé třetích stran komunikace (poplatky za peering jsou odpovídajícím způsobem sníženy) přesměrováním požadavků uživatelů na místní cache servery.

Vyzkoušeno v praxi

Poté, co jsme diskutovali teoretické aspekty implementaci load balancerů, navrhuji zvážit několik reálných případů. Máme zkušenosti s prací s různé modely load balancery: Cisco CSS/CSM, Cisco ACE, Brocade ADX, Radware Alteon (dříve Nortel), Radware OnDemand. Chtěl bych dát nejvíc zajímavé příklady implementace systémů pro vyrovnávání zátěže na bázi řešení Cisco a Brocade.

Vyrovnávání zátěže mezi WEB servery s SSL-offloading
Jeden z našich zákazníků, VimpelCom (Ukrainian Radio Systems), měl řadu předpokladů pro implementaci load balancerů. Společnost disponovala dvěma nezávislými webovými servery, které zajišťovaly provoz aplikací předplatitelských služeb, přičemž přepínání zátěže mezi webovými servery v případě výpadku jednoho z nich bylo prováděno ručně. Aktivní webový server odpovídal obrovský tlak(včetně šifrování/dešifrování SSL).

Navrhli jsme řešení založené na balancerech Cisco CSS11500. Jejich implementace ve výsledku umožnila zapojit oba webové servery do aktivního zpracování dat, a tím zvýšit výkon systému. Šifrování a dešifrování SSL bylo přesunuto z webových serverů do nástrojů pro vyrovnávání zátěže, čímž došlo k uvolnění dodatečné zdroje webové servery. Load balancery implementovány v stávající systém prakticky beze změny konfigurace sítě (s výjimkou změny pravidel NAT na okrajových zařízeních pro přístup k internetu).

Vyrovnávání zátěže mezi servery systému Siebel CRM
V M.Video jsme dokončili další projekt. Tam byly hlavními důvody pro zavedení load balancerů přítomnost několika webových serverů a aplikačních serverů a potřeba spolehlivé dvouúrovňové interakce: „klienti-webové servery“ a „webové servery-aplikační servery“. Společnost potřebovala kontrolovat dostupnost serverového vybavení prostřednictvím samostatných URL.

V projektu byly také použity balancery Cisco CSS11500. Byly zahrnuty všechny webové a aplikační servery aktivní proces zpracování dat, balancování bylo prováděno na dvou úrovních a kontrola dostupnosti serverového vybavení byla založena na kontrolních URL.

Vyrovnávání zátěže mezi webovými servery sociálních sítí
Velký poskytovatel obsahu ( sociální síť) měl řadu důležitých předpokladů pro zavedení load balancerů. Mezi nimi je přítomnost několika webových serverů zpracovávajících obrovské toky dat ( velký počet připojení a přenesená data), potřeba vyvažování zátěže v sedmé vrstvě modelu OSI se změnami v HTTP hlavičkách a globální vyvažování zátěže podle vah mezi několika lokálními vyvažovacími VIP. Kromě toho společnost potřebovala kontrolovat dostupnost serverového vybavení pomocí samostatných URL a omezit počet připojení ke každému webovému serveru.

Řešení založené na balancerech Brocade ADX10000 umožnilo společnosti úspěšně vyřešit výše uvedené problémy. Díky zavedení balancerů byly všechny webové servery a aplikační servery zařazeny do aktivního zpracování dat a byla kontrolována dostupnost serverového vybavení na základě kontrolních URL. Balancéry byly začleněny do sítě v režimu One-Arm (klientské požadavky a odpovědi serveru přicházely na stejná rozhraní), což umožnilo neměnit nastavení serveru a síťového zařízení.

Systémy vyvažování zátěže jsou stále populárnější, protože pomáhají zajistit kontinuitu podnikání zákazníků. Balancéry se každým rokem stále více využívají při nasazování různých aplikačních systémů a stávají se v podstatě jejich součástí. Už to nejsou jen load balancery, ale Application Delivery Controllery a jejich funkčnost se neustále rozšiřuje. V budoucnu bude většina velkých aplikačních systémů ve své infrastruktuře používat load balancery.

| |

Vyrovnávání zátěže je klíčovou součástí vysoce dostupné infrastruktury, která prostřednictvím distribuce zlepšuje výkon a odolnost webových stránek, aplikací, databází a dalších služeb. pracovní zátěž mezi několika servery.

Infrastruktura bez vyrovnávání zátěže vypadá takto:

Uživatel → Internet → Webový server → Databázový server

To znamená, že se uživatel připojí přímo k webovému serveru (vaše doméně, vasedomena.com). A pokud tento jediný webový server selže, uživatel nebude mít přístup k webu. Kromě toho, pokud se mnoho uživatelů pokusí otevřít web současně, server nemusí být schopen vyrovnat se s zatížením: web se bude načítat velmi pomalu nebo jej uživatel nebude moci otevřít vůbec.

Jediný bod selhání můžete odstranit pomocí nástroje pro vyrovnávání zatížení a další webový server na backendu.

Všechny backendové servery obvykle poskytují stejný obsah, což znamená, že uživatelé přistupují ke stejným datům bez ohledu na to, který server na požadavek odpoví.

Uživatel

Internet

Load Balancer
↓ ↓
Webový server 1 Webový server 2
(replikované servery)

Při vyvažování zátěže jde každý požadavek nejprve do balanceru, který jej směruje na jeden z backendových serverů; tento server zase odpoví na požadavek uživatele a předá mu výsledek. V této situaci se vyvažovač zatížení stává jediným bodem selhání; lze to eliminovat přidáním dalšího balanceru.

Jaký druh provozu zvládá load balancer?

Správci Balanceru vytvářejí pravidla pro čtyři hlavní typy provozu:

  • HTTP: Standardní vyvažování HTTP rozděluje požadavky podle mechanismů HTTP. Balancér nastaví hlavičky X-Forwarded-For, X-Forwarded-Proto a X-Forwarded-Port tak, aby předávaly původní informace o požadavku na backend server.
  • HTTPS: Vyvažování HTTPS funguje v podstatě stejně jako HTTP, ale s podporou šifrování. Šifrování dat je řešeno jedním ze dvou způsobů: pomocí přenosu SSL (podporuje šifrování až po backend) nebo ukončením SSL (data jsou dešifrována balancérem, po kterém je provoz odeslán na backend nešifrovaný).
  • TCP: Distribuovat mohou aplikace, které nepoužívají HTTP nebo HTTPS TCP provoz. Můžete například rozdělit provoz databázového clusteru.
  • UDP: V poslední době některé nástroje pro vyrovnávání zatížení přidaly podporu pro hlavní internetové protokoly, které používají UDP (jako je DNS a syslogd).

Tato pravidla předávání definují protokol a port nástroje pro vyrovnávání zatížení a poté je přidruží k protokolu a portu, který nástroj pro vyrovnávání zatížení použije k předávání provozu na backend.

Jak balancer vybere server na backendu?

Nástroj pro vyrovnávání zatížení rozhoduje, na který server směrovat požadavek, pomocí kombinace dvou faktorů. Balancér nejprve určí servery, které mohou rychle a adekvátně reagovat na požadavky, a poté jeden z nich vybere dostupné servery, řídí se předem nakonfigurovanými pravidly.

Kontrola stavu serveru

Balancér by měl posílat provoz pouze těm aktivní servery kteří mu dokážou sloužit. Dělat správná volba, průběžně monitoruje stav serverů na backendu pomocí protokolu a portu specifikovaného v pravidle. Pokud server neprojde kontrolou balanceru, je automaticky odstraněn z fondu serverů a nebude přijímat provoz, dokud neprojde kontrolou.

Algoritmy vyvažování zátěže

  1. Podle algoritmu Round Robin (nebo algoritmu kruhové služby) přijímají servery provoz postupně. Balancér vybere první server v seznamu a odešle mu první požadavek, druhý server obdrží druhý požadavek atd.
  2. Balancér vybere nejméně zatížený server pro obsluhu provozu (tj. server s nejmenším počtem připojení na tento moment). Tento algoritmus je zvláště užitečný, pokud jsou pro obsluhu provozu potřeba dlouhé relace.
  3. Nástroj pro vyrovnávání zatížení vybere server na základě hashe původního požadavku IP (například na základě IP adresy návštěvníka). V tomto případě všechny žádosti konkrétního uživatele bude obsluhovat stejný backend server.

Stav manipulace

Některé aplikace vyžadují, aby uživatel zůstal při běhu připojen ke stejnému backend serveru. Tuto podmínku může zajistit algoritmus využívající IP adresu návštěvníka. Můžete také svázat relaci se serverem pomocí takzvaných sticky sessions: v tomto případě balancer nastaví cookies a poté budou všechny požadavky na tuto relaci odeslány na stejný fyzický server.

Redundantní Load Balancery

Chcete-li zakázat balancer jako jediný bod selhání, můžete do infrastruktury přidat druhý balancer a vytvořit klastr, ve kterém si navzájem kontrolují stav. Každý z nich je stejně schopen detekovat selhání a zotavit se z nich.

Uživatel

Internet
↓ ↓
Balancer 1 Balancer 2

Pokud selže první balancer, DNS převede uživatele do druhého balanceru. Změny DNS někdy zaberou hodně času. Pro urychlení a automatizaci přepínání mezi balancery používá mnoho správců systémy, které podporují plovoucí IP adresy (nebo jiné technologie překladu IP). Tyto technologie eliminují některé problémy, které vznikají při změnách DNS, tím, že poskytují statické IP adresy, které lze později v případě potřeby přeložit. Doménové jméno mohou být spojeny se stejnou IP, zatímco samotná IP adresa se pohybuje mezi backend servery.

software Zavaděč implementující vyvažování se musí rozhodnout, kde (na kterém výpočetním uzlu) by se měly provádět výpočty spojené s touto novou úlohou. Balancování navíc zahrnuje přenos (migraci) části výpočtů z nejvíce zatížených výpočetních uzlů do méně zatížených uzlů.

Je třeba rozlišovat mezi dekompozicí úloh a problémem mapování úloh do výpočetního prostředí. Dekompozice úkolů je krokem v procesu vytváření paralelní program. Dekompozice je určena k rozdělení aplikace na moduly (úlohy). Úlohy jsou prováděny na samostatných procesorech. V důsledku dekompozice distribuované aplikace se objeví sada úloh, které řeší problém paralelně. Tyto úkoly mohou být nezávislé nebo vzájemně propojené výměnou dat. Mapování (neboli „distribuce úloh“) je samostatná fáze, která umožňuje distribuovat úlohy získané ve fázi rozkladu mezi procesory.

Budeme tedy předpokládat, že distribuovaná aplikace je soubor logických procesů, které se vzájemně ovlivňují a posílají si zprávy. Logické procesy jsou distribuovány napříč různými výpočetními uzly a mohou fungovat paralelně. Při distribuci logických procesorů mezi výpočetní uzly se je snaží rozmístit tak, aby výpočetní uzly byly jednotné.

Při spuštění distribuované aplikace však vzniká konflikt mezi vyváženým rozložením objektů mezi procesory a nízkou rychlostí výměny zpráv mezi procesory. Pokud jsou logické procesy mezi procesory rozloženy tak, že náklady na komunikaci mezi nimi jsou sníženy na nulu, pak mohou některé procesory (počítače) nečinně pracovat, zatímco jiné budou přetíženy. Jinak bude „dobře vyvážený“ systém vyžadovat vysoké komunikační náklady. Strategie vyvažování by proto měla být taková, aby výpočetní uzly byly zatěžovány poměrně rovnoměrně, ale také komunikační prostředí by neměl být přetížen.

Implementace distribuovaného simulačního systému vyžaduje vývoj algoritmů pro synchronizaci objektů (nebo procesů) pracujících na různých počítačových uzlech. O synchronizačních algoritmech jsme již hovořili dříve. Efektivita implementace těchto algoritmů zase závisí na rovnoměrném rozložení (vyvážení) výpočetní zátěže mezi počítačové uzly během provozu distribuovaného softwarový systém, což je zejména distribuovaný simulační systém.

Compute Load Balancing

Příčiny nevyváženého zatížení

Problém vyrovnávání výpočetní zátěže distribuované aplikace vzniká, protože:

  • struktura distribuované aplikace je heterogenní, různé logické procesy vyžadují různý výpočetní výkon;
  • struktura výpočetního komplexu (například shluk) je také heterogenní, tzn. různé výpočetní uzly mají různý výkon;
  • struktura internodální interakce je heterogenní, protože komunikační linky spojující uzly mohou mít různé vlastnostišířku pásma.

Statické a dynamické vyvažování

Je nutné rozlišovat mezi statickým a dynamickým vyvažováním.

Statické vyvažování se provádí před spuštěním distribuované aplikace. Velmi často se při distribuci logických procesů mezi procesory využívá zkušeností z předchozích provedení, genetické algoritmy. Předběžné umístění logických procesů na procesory (počítače) však nemá žádný vliv.

To je vysvětleno takto:

  • Může se změnit výpočetní prostředí, ve kterém aplikace běží, nebo může dojít k selhání některého výpočetního uzlu.
  • Výpočetní uzel, na kterém distribuovaná aplikace běží, je vytížen i dalšími výpočty, jejichž podíl se může časem zvyšovat.

Tak či onak, zisk z distribuce logických procesů mezi počítače za účelem jejich provádění paralelní zpracování se stává neúčinným.

Dynamické vyvažování zahrnuje přerozdělení výpočetní zátěže mezi uzly za běhu aplikace. Software, provádění dynamické vyvažování, definuje:

  • načítání výpočetních uzlů;
  • kapacita komunikační linky;
  • frekvence výměn zpráv mezi logickými procesy distribuované aplikace atd.

Na základě shromážděných dat jak o distribuované aplikaci, tak i výpočetní prostředí) je učiněno rozhodnutí přenést logické procesy z jednoho uzlu do druhého.

Vyjádření problému dynamického vyvažování

Cíl vyrovnávání zátěže lze uvést takto:

Na základě sady úloh včetně výpočtů a přenosu dat a sítě počítačů určité topologie najít takové rozdělení úloh mezi počítače, které zajistí přibližně stejnou výpočetní zátěž počítačů a počítačů. minimální náklady k přenosu dat mezi nimi.

Představme si distribuovanou aplikaci jako graf. Nechť G p = (V, E), V je množina vrcholů (úkoly distribuované aplikace), E je množina oblouků grafu - vazby mezi úlohami distribuované aplikace. Nechť TM je soubor modelů distribuované aplikace, .

Problém vyvažování je položen jako problém mapování neizomorfních spojených grafů, B: TM -> NG, kde TM je množina modelových grafů, NG je množina konfiguračních grafů počítačová síť. Graf je definován množinou výpočetních uzlů C a množinou hran Ed označujících komunikační linky. NG si můžeme představit jako supergraf obsahující všechny možné (přípustné) grafy G jako podgrafy.

Sada grafů úloh tedy musí být optimálně mapována na sadu grafů výpočetní systém.

Metodika praktického řešení problému vyvažování

Obvykle praktické a kompletní řešeníÚloha vyvažování zátěže se skládá ze čtyř kroků:

  • Odhad zatížení výpočetních uzlů.
  • Zahájení vyvažování zátěže.
  • Vyvažování rozhodnutí.
  • Pohybující se předměty.

V následujících částech je každý krok vyvažování specifikován s uvážením různé metodyřešení.




Horní