logo

Čo je Thrash?

V informatike, mlátiť je slabý výkon virtuálneho pamäťového (alebo stránkovacieho) systému, keď sa tie isté stránky opakovane načítavajú kvôli nedostatku hlavnej pamäte na ich uchovanie v pamäti. V závislosti od konfigurácie a algoritmu sa môže skutočná priepustnosť systému znížiť o niekoľko rádov.

V informatike, mlátenie nastáva, keď sú prostriedky virtuálnej pamäte počítača nadmerne využívané, čo vedie k neustálemu stavu stránkovania a chybám stránok, čo bráni väčšine spracovania na úrovni aplikácií. Spôsobuje to zníženie alebo kolaps výkonu počítača. Situácia môže pokračovať donekonečna, kým používateľ nezavrie niektoré spustené aplikácie alebo aktívne procesy neuvoľnia ďalšie prostriedky virtuálnej pamäte.

Aby sme sa o mlátení dozvedeli jasnejšie, najprv musíme vedieť o chybe stránky a zámene.

    Chyba stránky:Vieme, že každý program je rozdelený na niekoľko stránok. Chyba stránky nastane, keď sa program pokúsi získať prístup k údajom alebo kódu vo svojom adresnom priestore, ale momentálne sa nenachádza v systémovej RAM.Výmena:Vždy, keď dôjde k chybe stránky, operačný systém sa pokúsi načítať stránku zo sekundárnej pamäte a pokúsi sa ju vymeniť za jednu zo stránok v RAM. Tento proces sa nazýva swapovanie.

Mlátenie je, keď k chybe stránky a zámene dochádza veľmi často vo vyššej miere a operačný systém musí tráviť viac času výmenou týchto stránok. Tento stav v operačnom systéme je známy ako mlátenie. Z dôvodu mlátenia sa využitie CPU zníži alebo bude zanedbateľné.

Čo je Thrash

Základná koncepcia spočíva v tom, že ak je procesu pridelených príliš málo rámcov, potom bude príliš veľa a príliš časté chyby stránky. V dôsledku toho by procesor nevykonal žiadnu hodnotnú prácu a jeho využitie by drasticky kleslo.

Dlhodobý plánovač by sa potom pokúsil zlepšiť využitie CPU načítaním niektorých ďalších procesov do pamäte, čím by sa zvýšil stupeň multiprogramovania. Nanešťastie by to viedlo k ďalšiemu zníženiu využitia CPU, čo by spustilo reťazovú reakciu vyšších chýb stránok, po ktorej by nasledovalo zvýšenie stupňa multiprogramovania, nazývaného thrashing.

Algoritmy počas Thrashingu

Vždy, keď sa spustí mlátenie, operačný systém sa pokúsi použiť buď globálny algoritmus nahradenia stránky, alebo lokálny algoritmus nahradenia stránky.

1. Globálna výmena stránky

Keďže globálna náhrada stránky môže priniesť ľubovoľnú stránku, pokúsi sa priniesť viac stránok vždy, keď sa nájde hádzanie. Čo sa však v skutočnosti stane, je, že žiadny proces nezíska dostatok snímok a v dôsledku toho bude mlátenie narastať viac a viac. Globálny algoritmus na nahradenie stránky preto nie je vhodný, keď dôjde k prebíjaniu.

2. Miestna výmena stránky

Na rozdiel od globálneho algoritmu nahradenia stránky, lokálna náhrada stránky vyberie stránky, ktoré patria iba do tohto procesu. Je tu teda šanca znížiť mlátenie. Je však dokázané, že ak používame lokálnu náhradu stránky, existuje veľa nevýhod. Preto je lokálna náhrada stránky len alternatívou ku globálnej náhrade stránky v scenári mlátenia.

Príčiny mlátenia

Programy alebo pracovné zaťaženia môžu spôsobiť rušenie a výsledkom sú vážne problémy s výkonom, ako napríklad:

  • Ak je vyťaženie CPU príliš nízke, zvýšime stupeň multiprogramovania zavedením nového systému. Používa sa globálny algoritmus na nahradenie stránky. Plánovač CPU vidí klesajúce využitie CPU a zvyšuje stupeň multiprogramovania.
  • Využitie CPU je vynesené proti stupňu multiprogramovania.
  • So zvyšujúcim sa stupňom multiprogramovania sa zvyšuje aj využitie CPU.
  • Ak sa stupeň multiprogramovania ďalej zvyšuje, nastáva mlátenie a využitie CPU prudko klesá.
  • Takže v tomto bode, aby sme zvýšili využitie CPU a zastavili mlátenie, musíme znížiť stupeň multiprogramovania.

Ako eliminovať thrashing

Thrashing má určitý negatívny vplyv na zdravie pevného disku a výkon systému. Preto je potrebné podniknúť určité kroky, aby ste sa tomu vyhli. Na vyriešenie problému mlátenia sú tu nasledujúce metódy, ako napríklad:

    Upravte veľkosť odkladacieho súboru:Ak systémový odkladací súbor nie je správne nakonfigurovaný, môže sa vám stať aj rozbitie disku.Zvýšte množstvo pamäte RAM:Keďže nedostatočná pamäť môže spôsobiť rozbitie disku, jedným z riešení je pridať do notebooku viac pamäte RAM. S väčšou pamäťou váš počítač zvládne úlohy ľahko a nemusí pracovať nadmerne. Vo všeobecnosti je to najlepšie dlhodobé riešenie.Znížte počet aplikácií spustených v počítači:Ak je na pozadí spustených príliš veľa aplikácií, váš systémový zdroj bude veľa spotrebovávať. A zostávajúce systémové prostriedky sú pomalé, čo môže viesť k rozbitiu. Takže počas zatvárania niektoré aplikácie uvoľnia niektoré zdroje, aby ste sa mohli do určitej miery vyhnúť mláteniu.Nahradiť programy:Nahraďte tie programy, ktoré majú veľkú pamäť, ekvivalentmi, ktoré využívajú menej pamäte.

Techniky na predchádzanie mláteniu

Nahradenie miestnej stránky je lepšie ako nahradenie globálnej stránky, ale nahradenie miestnej stránky má mnoho nevýhod, takže niekedy nie je užitočné. Nižšie sú preto uvedené niektoré ďalšie techniky, ktoré sa používajú na spracovanie mlátenia:

1. Model lokality

Lokalita je množina stránok, ktoré sa spoločne aktívne používajú. Model lokality uvádza, že ako proces prebieha, presúva sa z jednej lokality do druhej. Program sa teda vo všeobecnosti skladá z niekoľkých rôznych lokalít, ktoré sa môžu prekrývať.

Napríklad, keď je funkcia zavolaná, definuje novú lokalitu, kde sú vytvorené pamäťové odkazy na inštrukcie volania funkcie, lokálne a globálne premenné atď. Podobne, keď sa funkcia ukončí, proces opustí túto lokalitu.

2. Model pracovnej množiny

Tento model vychádza z vyššie uvedeného konceptu modelu lokality.

Základný princíp hovorí, že ak procesu pridelíme dostatok rámcov na prispôsobenie sa jeho aktuálnej lokalite, dôjde k chybe len vtedy, keď sa presunie do nejakej novej lokality. Ak sú však pridelené rámce menšie ako veľkosť aktuálnej lokality, proces je nútený prepadnúť.

Podľa tohto modelu, na základe parametra A, je pracovná množina definovaná ako množina stránok v najnovších odkazoch na stránky „A“. Všetky aktívne používané stránky by teda vždy skončili súčasťou pracovného súboru.

pole v java metódach

Presnosť pracovného súboru závisí od hodnoty parametra A. Ak je A príliš veľké, pracovné súbory sa môžu prekrývať. Na druhej strane pri menších hodnotách A nemusí byť lokalita pokrytá celá.

Ak D je celkový dopyt po rámcoch a WSSije veľkosť pracovnej sady pre proces i,

D = ⅀ WSSi

Ak teraz 'm' predstavuje počet snímok dostupných v pamäti, existujú dve možnosti:

  • D>m, t. j. celkový dopyt presahuje počet snímok, potom dôjde k rozbitiu, pretože niektoré procesy by nezískali dostatok snímok.
  • D<=m, then there would be no thrashing.< li>

Ak je dostatok snímok navyše, je možné do pamäte načítať ďalšie procesy. Na druhej strane, ak súčet veľkostí pracovných sád presahuje dostupnosť rámcov, niektoré procesy musia byť pozastavené (vymenené z pamäte).

Táto technika zabraňuje mláteniu a zároveň zabezpečuje najvyšší možný stupeň multiprogramovania. Optimalizuje teda využitie procesora.

3. Frekvencia porúch stránky

Priamejším prístupom k zvládaniu mlátenia je ten, ktorý využíva koncepciu Page-Fault Frequency.

Čo je Thrash

Problém spojený s mlátením je vysoká miera chybovosti stránky, a preto je tu koncepcia kontroly chybovosti stránky.

Ak je miera chybovosti stránky príliš vysoká, znamená to, že proces má pridelených príliš málo rámcov. Naopak, nízka chybovosť stránky naznačuje, že proces má príliš veľa rámcov.

Horný a dolný limit je možné stanoviť pre požadovanú chybovosť stránky, ako je znázornené na obrázku.

Ak miera chybovosti stránky klesne pod spodnú hranicu, rámce môžu byť z procesu odstránené. Podobne, ak miera chybovosti stránok prekročí horný limit, procesu možno prideliť viac rámcov.

Inými slovami, grafický stav systému by mal byť obmedzený na pravouhlú oblasť vytvorenú v danom diagrame.

Ak je miera chybovosti stránky vysoká bez voľných rámcov, niektoré procesy môžu byť pozastavené a pridelené im môžu byť prerozdelené iným procesom. Pozastavené procesy sa môžu reštartovať neskôr.