Vědci z College of Information and Computer Science (CICS) vytvořili nový systém správy operační paměti Mesh, který dokáže optimalizovat místo, jež aplikace v danou chvíli používají. Díky tomu lze kapacitu operační paměti ušetřit a spustit více aplikací, nebo naopak provozovat náročnější úlohy při stejné kapacitě paměti.
Operační paměť a její kapacita hraje stále důležitou roli jak u běžných počítačů, tak i u mobilních zařízení. Vývojáři už dnes tolik neoptimalizují jako dříve, kdy měli pár kilobajtů paměti a tak jsou dnešní aplikace doslova „nenažrané“, i když jde o jednoduché věci typu kalkulačka, počasí a podobně.
Mezi největší „žrouty“ operační paměti při běžném použití dnes patří určitě internetové prohlížeče, u kterých jsme zvyklí mít otevřeno spoustu záložek. Není problém se tak dostat velmi snadno na několik gigabajtů operační paměti, ve které běží pouze webové stránky internetového prohlížeče.
Vědci se ale pokouší opět trochu vrátit k optimalizaci a dosáhnout lepšího využití kapacity operační paměti.
Mesh: speciální optimalizace pro aplikace
Systém Mesh je určený jak pro použití u desktopových počítačů, tak i mobilních zařízení nebo dokonce datacenter. Jeho primárním cílem je optimalizace využití paměti aplikacemi, které jsou napsané v jazycích C, C++ nebo Objective-C.
Mesh funguje na principu optimalizace fragmentované paměti, dalo by se tedy zjednoduše říci, že dělá defragmentaci operační paměti, ale na úrovni „fyzické“ paměti, zatímco aplikace běží v rámci virtuální paměti.
Využití operační paměti - před a se systémem Mesh
Aplikace napsané ve zmíněných jazycích často trpí problémem paměťové fragmentace. Dle vyjádření to pak vypadá tak, že struktura využití paměti spíše vypadá jako nepovedená stavba ze hry Tetris, kdy je součástí struktury spousty prázdných bloků, které jsou zbytečně nevyužité a nemůže k nim přistupovat žádná jiná aplikace. Mesh řeší to, aby se zbytečné nevyužité části paměti přeměnily na volnou paměť.
Velká úspora
Tato reorganizace paměti samozřejmě není jednoduchá a proto museli vědci vymyslet i nové algoritmy, které dokážou paměť efektivně a rychle přeskládat. Výsledkem jsou ale výrazné úspory dříve zbytečně obsazené kapacitě operační paměti.
Například u prohlížeče Firefox se jim u současné verze systému Mesh podařilo snížit paměťovou náročnost o 16 % a v případě Redisu pak dokonce až o 39 %. Vzhledem k tomu že obě aplikace mohou zabírat gigabajty kapacity operační paměti, jedná se o opravdu výraznou optimalizaci.
Srovnání využití operační paměti bez a se systémem Mesh v různých aplikacích
Výhodou je, že samotná „defragmentace“, kterou Mesh provádí, nijak neovlivňuje běžící aplikace, pro které se nic nemění, protože pracují s virtuální pamětí. Projekt je open source, takže ho lze použít pro libovolné aplikace.
Pokrok po 50 letech
Vědci prezentují Mesh jako zázrak, o kterém si všichni mysleli, že není realizovatelný. Nyní je však tento systém hotový nejen po teoretické stránce, ale i po stránce implementace potřebných algoritmů.
Dle vyjádření se jedná o řešení problému, který v počítačové oblasti přetrvával více než 50 let a ovlivní tak budoucnost programovacích systémů. Vědci mají v nejbližším plánu přidat podporu aplikací napsaných v jazycích Go a Rust.