AQuoSA - AQuoSA

AQuoSA (Adaptive Quality of Service Architecture) [1] je otevřená architektura pro zajišťování adaptivního Kvalita služeb funkčnost do Linuxové jádro. Projekt obsahuje flexibilní, přenosnou, lehkou a otevřenou architekturu pro podporu služeb souvisejících s QoS na vrcholu univerzálního operačního systému jako Linux. Architektura je dobře založena na formální analýze plánování a kontrole teoretických výsledků.

Klíčovou vlastností AQuoSA je vrstva rezervace zdrojů, která je schopna dynamicky se přizpůsobovat procesor alokace pro aplikace s vědomím QoS na základě jejich run-time požadavky. Za účelem zajištění této funkce AQuoSA vloží procesor na úrovni jádra plánovač implementace a rezervace zdrojů mechanismus pro CPU založený na Earliest Deadline First (EDF). To dává jádru Linuxu možnost realizovat (částečně) časová izolace mezi úkoly běžícími v systému.

AQuoSA je jedním z mála projektů, které kontrolovaným způsobem poskytují možnosti plánování v reálném čase neprivilegovaným uživatelům na víceuživatelském systému pomocí správně navrženého modelu řízení přístupu.

Popis

Architekturu projektu lze shrnout takto:

AQuoSA.svg

Oprava pro linuxové jádro

Na nejnižší úrovni oprava linuxového jádra přidává schopnost upozornit dynamicky načtené moduly na jakoukoli relevantní událost plánování. Ty byly identifikovány při vytváření nebo smrti úkolů, stejně jako při událostech blokování a odblokování. Tato oprava je minimálně invazivní v tom, že se skládá z několika řádků kódu správně vložených hlavně do kódu plánovače Linuxu (sched.c). Nazývalo se to „Obecná oprava plánovače“, protože to potenciálně umožňuje implementovat jakoukoli politiku plánování.

Rezervace zdrojů

Vrstva Rezervace zdrojů se skládá ze tří komponent.

Základní komponenta je dynamická zaváděcí modul jádra který implementuje paradigma plánování rezervací zdrojů pro CPU využíváním funkcí zavedených do jádra Linuxu prostřednictvím opravy Generic Scheduler.

Zadruhé, knihovna na úrovni uživatele (knihovna QRES) umožňuje aplikaci používat nové zásady plánování prostřednictvím kompletní a dobře navržené sady API hovory. V podstatě tato volání umožňují aplikaci požádat systém, aby vyhradil určité procento CPU svým procesům.

Zatřetí, komponenta na úrovni jádra (Supervisor) zprostředkovává všechny požadavky aplikací prostřednictvím knihovny QRES, takže celkový součet požadovaných sdílených CPU neporušuje podmínka naplánovatelnosti plánovače (méně než jeden nebo o něco méně než jeden kvůli režii). Chování nadřízeného je plně konfigurovatelné správcem systému, takže je možné určit na základě jednotlivých uživatelů / skupin minimální zaručené a maximální povolené hodnoty pro rezervace provedené na CPU.

S AQuoSA mohou aplikace používat přímo vrstvu rezervace zdrojů, která jim umožňuje rezervovat zlomek CPU, aby mohly běžet s požadovanými zárukami plánování. Například multimediální aplikace může požádat operační systém spustit aplikaci se zárukou naplánování alespoň na Q milisekund každých P milisekund, kde Q a P závisí na povaze aplikace.

Při registraci aplikace ve vrstvě rezervace prostředků je možné určit minimální zaručenou rezervaci, kterou by měl systém aplikaci vždy zaručit. Na základě požadavků minimálních zaručených rezervací provede vrstva kontrola vstupu, tj. umožňuje novou aplikaci pouze v případě, že po jejím přidání nová sada spuštěných aplikací nepřekročí limit saturace CPU.

Adaptivní rezervace

Pro typické multimediální aplikace využívající technologie vysoké komprese může být docela obtížné, nepraktické nebo nepohodlné spouštět takové aplikace s pevnou rezervací na CPU. Ve skutečnosti se nejúčinnější rezervace, která by měla být použita, může v průběhu času lišit kvůli měnící se úrovni komprese, která má za následek různou dobu dekomprese.

Tradiční reálný čas systémy využívají WCET (Worst Case Execution Time) analytické techniky, aby bylo možné vypočítat, jaký je maximální čas, který může instance instance, například periodické úlohy, vykonat na CPU před blokováním čekání na další instanci.

Taková analýza je v dnešních složitých multimediálních aplikacích velmi obtížná, zejména při běhu na univerzálním hardwaru, jako jsou standardní počítače, kde technologie jako víceúrovňové mezipaměti, kanály pro provádění CPU, vyrovnávací paměti na sběrnici, sběrnice s více hlavami zavádějí mnoho nepředvídatelných proměnných do určení času potřebného pro přístup do paměti.

Na takových systémech je mnohem pohodlnější vyladit návrh systému na základě průměrného očekávaného zatížení aplikace. Jinak může být systém během běhu výrazně nedostatečně využíván.

Jak již bylo zmíněno, pro určité třídy multimediálních aplikací, například a video přehrávač, je docela nemožné najít vhodnou pevnou hodnotu pro zlomek CPU požadovaný aplikací za běhu, kvůli silným výkyvům zátěže v závislosti na skutečných datech, která aplikace zpracovává. Pevná rezervace založená na průměrných požadavcích nebo o něco vyšší než tato má za následek přechodná období špatné kvality během běhu (např. Přehrávání filmu). Na druhou stranu, pevná rezervace založená na maximálním očekávaném zatížení vede po většinu času k nepotřebné nadměrné rezervaci CPU, s výjimkou období, ve kterých se zatížení skutečně blíží maximální očekávané hodnotě.

Pro tyto třídy aplikací je mnohem pohodlnější použít techniky adaptivní rezervace, jako jsou ty, které poskytuje vrstva adaptivní rezervace AQuoSA, která provádí nepřetržité on-line monitorování výpočetních požadavků aplikačních procesů tak, aby může dynamicky přizpůsobovat rezervaci provedenou na CPU v závislosti na sledovaných datech.

Vrstva Adaptivní rezervace vystavuje aplikace rozhraní API pro použití sady řadičů, které se v široké sadě multimediálních aplikací používají poměrně obecně.

Model řízení přístupu AQuoSA

Většina variant systému Linux v reálném čase vyžaduje, aby uživatelé funkcí upraveného operačního systému v reálném čase měli v systému oprávnění root. To je v kontextu integrovaného systému naprosto přijatelné. To je však nadměrné pro systémy s více uživateli, kde jsou pro multimediální aplikace apod. Potřebné funkce plánování v reálném čase. Proto AQuoSA vloží vyhrazený model řízení přístupu, pomocí kterého mohou správci systému:

  1. definovat plánovací kvóty v reálném čase pro jednotlivé uživatele nebo skupiny, pokud jde o maximální hodnoty pro minimální zaručenou šířku pásma, kterou může OS přidělit jednotlivým uživatelům nebo skupinám jako celku;
  2. řídit, jak jsou volitelné požadované hodnoty šířky pásma, překračující minimální zaručené hodnoty, distribuovány mezi konkurenčními uživateli v situacích přetížení;
  3. řídit maximální režii plánování, kterou lze uvalit na systém v důsledku rezervací v reálném čase vytvořených jednotlivými uživateli nebo skupinami; například umožňuje kontrolovat, jaké je minimální období, které lze zadat v rezervaci v reálném čase.

Více podrobností lze najít v příspěvku k tématu zveřejněném na RTAS 2008.[2]

externí odkazy

Reference

  1. ^ Palopoli, Luigi; Cucinotta, Tommaso; Marzario, Luca; Lipari, Giuseppe (duben 2008). „AQuoSA - Adaptivní kvalita architektury služeb“. Software: Praxe a zkušenosti. 39: 1–31. CiteSeerX  10.1.1.149.8231. doi:10,1002 / spe. 883.
  2. ^ Cucinotta, Tommaso (2008). "Řízení přístupu pro adaptivní rezervace v systémech více uživatelů". 2008 IEEE Symposium v ​​reálném čase a vestavěné technologie a aplikace. 387–396. doi:10.1109 / RTAS.2008.16. ISBN  978-0-7695-3146-5.