Completing Result Validation for Benchmarks in the Renaissance Benchmark Suite
Doplnění validace výsledků benchmarků v projektu Renaissance Benchmark Suite
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/213757Identifikátory
SIS: 297366
Kolekce
- Kvalifikační práce [12748]
Autor
Vedoucí práce
Oponent práce
Tůma, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Programování a vývoj software
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
10. 9. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
validace benchmarků|sada benchmarků Renaissance|měření výkonuKlíčová slova (anglicky)
benchmark validation|concurrent workloads|performance evaluation|Renaissance suiteRenaissance je sada benchmarků pro Java Virtual Machine navržená k testování moderních workloadů pro souběžnost a paralelismus. Benchmark je jako měřicí nástroj užitečný pouze tehdy, pokud dokáže ověřit, že každé opakování provedlo zamýšlený výpočet. Bez takové validace je tichá regrese korektnosti nerozeznatelná od skutečného výkonnostního zlepšení. Tato práce zkoumá stav validace všech 25 benchmarků aktuálně obsažených v sadě Renaissance, klasifikuje každý benchmark podle důkladnosti jeho stávající validace a identifikuje čtyři benchmarky, jimž chyběla jakákoli smysluplná kontrola výsledků: akka-uct, db-shootout, finagle-chirper a scala-stm- bench7. Pro každý z těchto benchmarků jsme analyzovali původní implementaci, identifikovali strukturální a korektnostní nedostatky přesahující samotnou absenci validace, tam kde bylo nutné přepracovali workload tak, aby produkoval deterministický a ověřitelný výsledek, a implementovali novou validaci v rozsahu od kontroly kontrolního součtu přes analytický výpočet reference až po sekvenční přehrání pro detekci porušení opacity. Výsledkem je, že všechny čtyři benchmarky nyní produkují měřitelný a ověřitelný výsledek při každém opakování, čímž se zvyšuje jejich spolehlivost jako nástrojů pro výzkum překladačů a běhového prostředí.
Renaissance is a benchmark suite targeting the Java Virtual Machine, designed to exercise modern concurrency and parallelism workloads. A benchmark is only useful as a measurement tool if it can verify that each repetition performed the intended computation. Without such validation a silent correctness regression is indistinguishable from a genuine performance improvement. This thesis examines the validation status of all 25 benchmarks currently included in the Renaissance suite, classifies each benchmark according to the thoroughness of its existing validation, and identifies four benchmarks that lacked any meaningful result checking: akka-uct, db- shootout, finagle-chirper, and scala-stm-bench7. For each of these benchmarks we analysed the original implementation, identified structural and correctness deficiencies beyond the missing validation itself, redesigned the workload where necessary to produce a deterministic and verifiable result, and implemented new validation ranging from checksum-based output verification to analytical reference computation and sequential replay for opacity detection. As a result, all four benchmarks now produce a measurable, checkable outcome on every repetition, improving their reliability as tools for compiler and runtime research.
