Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je rozdelenie kľúčových charakteristík:
* Runtime Priradenie: Úlohy alebo údaje sú priradené procesorom, keď sú k dispozícii alebo sú potrebné. To je v rozpore so statickým rozdelením, kde každý procesor pozná svoju priradenú časť od začiatku.
* Vyváženie záťaže: Primárnym cieľom dynamického rozdelenia je dosiahnuť lepšie vyváženie záťaže. Ak niektorí procesori dokončia svoje počiatočné úlohy rýchlejšie ako iné, dynamické rozdelenie im umožňuje vyzdvihnúť novú prácu zo zdieľanej skupiny úloh alebo údajov, čo bráni nečinnému času a zlepšuje celkový výkon.
* adaptabilita: Dynamické rozdelenie sa dobre prispôsobuje nepredvídateľným pracovným zaťažením. Ak určité časti výpočtu trvá neočakávane dlhšie, systém môže automaticky prerezať pracovné zaťaženie na zmiernenie prekážok.
* Riadenie: Flexibilita dynamického rozdelenia prichádza na úkor režijných nákladov. Správa fondu úloh, priradenie úloh a zvládanie synchronizácie medzi procesormi si vyžaduje ďalšie výpočty a komunikáciu. Túto režijnú náklady je potrebné starostlivo zvládnuť, aby sa zabezpečilo, že výhody vyrovnávania záťaže prevažujú nad nákladmi.
* implementácia: Dynamické rozdelenie sa často implementuje pomocou techník ako:
* Kradnutie práce: Nečinné procesory „ukradnú“ úlohy rušných procesorov.
* fronty úloh: Ústredné fronty alebo viac frontov zastáva úlohy, ktoré čakajú na spracovanie. Z týchto frontov načítajú úlohy procesorov.
* samostatne naplánovanie: Úlohy sú priradené k procesorom na základe jednoduchej heuristiky, často bez centrálnej koordinácie.
Príklad:
Predstavte si spracovanie veľkého obrazu. Pri statickom rozdelení môžete obraz rozdeliť na bloky rovnakej veľkosti a priradiť každý blok k inému procesoru. Ak je však jedna časť obrázka výrazne zložitejšia ako iné, niektorí procesori by mohli skončiť oveľa skôr ako ostatní, čo vedie k nečinnosti. Dynamické rozdelenie by umožnilo rýchlejším procesorom prijať úlohy spracovania z častí pomalších procesorov, čím sa zlepšila celková účinnosť.
Kedy použiť dynamické rozdelenie:
Dynamické rozdelenie je výhodné, keď:
* Pracovné zaťaženie je nepredvídateľné alebo nerovnomerne distribuované.
* Veľkosť úloh sa veľmi líši.
* Počet procesorov alebo vlákien nie je známy vopred.
* Vyváženie záťaže je rozhodujúce pre výkon.
Kedy sa vyhnúť dynamickému rozdeleniu:
* Réžia riadenia dynamického zadania prevažuje nad výhodami vyváženia záťaže (napr. Pre veľmi malé úlohy).
* Pracovné zaťaženie je vysoko predvídateľné a rovnomerne distribuované, takže statické rozdelenie je dostatočné.
* Náklady na komunikáciu medzi procesormi sú vysoké.
Dynamické rozdelenie v podstate ponúka väčšiu flexibilitu a adaptabilitu ako statické rozdelenie, ale vyžaduje si dôkladné zváženie režijných režijných nákladov. Najlepšia voľba do značnej miery závisí od konkrétnej aplikácie a jej charakteristík.