Компресија модерних извршних датотека вођена карактеристикама корпуса
Мотивација
Компресија без губитака може да смањи трошкове складиштења, преноса и распоређивања извршивих програма, док бржа декомпресија може да побољша време покретања и одзив система. Код извршивих датотека компресија мора да очува оригинални програм. Ово је посебно важно за модерне извршне артефакте добијене компајлирањем унапред (енгл. ahead-of-time, AOT), који се све чешће користе у радним оптерећењима осетљивим на време покретања, као што су микросервиси, безсерверске (енгл. serverless) функције и апликације у облаку. Извршиве датотеке добијене класичним компилаторима као што су GCC, Clang, као и GraalVM Native Image и .NET NativeAOT, разликују се по распореду, метаподацима, уграђеним компонентама извршног окружења и трансформацијама у фази изградње, па се њихово понашање при компресији не може сматрати једнообразним.
Приступ
Овај текући рад проучава компресију бинарних извршних датотека из перспективе карактеристика корпуса. Упоређујемо компресоре и испитујемо како мерљива својства датотека на нивоу артефакта утичу на перформансе компресије (степен компресије, брзину компресије и брзину декомпресије). Анализа се организује према породицама извршних датотека и конфигурацијама изградње, са циљем да се разуме када се закључци из општих корпусâ за евалуацију могу пренети на модерне извршне датотеке и када је потребан специјализован корпус.
Као подршку овој анализи развијамо NEXUS (Native EXecUtable Set), корпус бинарних програма који обухвата уобичајене извршне датотеке, GraalVM Native Image и .NET NativeAOT слике. На основу карактеристика корпуса и измерених перформанси компресије, циљ нам је да обезбедимо методологију и алате за избор одговарајуће стратегије компресије за дату породицу извршних датотека и циљ распоређивања (нпр. минимизација величине артефакта, максимизација брзине декомпресије или баланс између смањења величине и трошкова обраде).
Статус
Ово је рад у току. Тренутни напори усмерени су на изградњу и карактеризацију корпуса, као и на евалуацију различитих компресора, категорија извршних датотека и конфигурација изградње.
Захвалница
Овај рад се развија у оквиру истраживачке сарадње Математичког факултета Универзитета у Београду и компаније Oracle.

