Predikce výkonu - Performance prediction
tento článek ne uvést žádný Zdroje.Prosinec 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v počítačová věda, predikce výkonu prostředky k odhadu doby provádění nebo jiných výkonnostních faktorů (např mezipaměti chybí) programu na daném počítači. Je široce používán pro počítačové architekty k hodnocení nových návrhů počítačů překladač autoři prozkoumat nové optimalizace, a také pro pokročilé vývojáře vyladit své programy.
Existuje mnoho přístupů k předpovědi výkonu programu na počítačích. Lze je zhruba rozdělit do tří hlavních kategorií:
- simulace založené na predikci
- profilová předpověď
- analytické modelování
Predikce založená na simulaci
Údaje o výkonu lze získat přímo z počítače simulátory, ve kterém je každá instrukce cílového programu skutečně dynamicky prováděna s ohledem na konkrétní sadu vstupních dat. Simulátory mohou velmi přesně předpovídat výkonnost programu, ale zpracování velkých programů zabere značnou dobu. Mezi příklady patří TEMPO a Wisconsinský větrný tunel simulátory i novější WARPP simulační sada nástrojů, která se pokouší výrazně zkrátit čas potřebný pro simulaci paralelního systému.
Jiný přístup, založený na trasovací simulace nespouští všechny instrukce, ale spouští sledovací soubor, který ukládá pouze důležité události programu. Tento přístup ve srovnání s výše uvedenou simulací přesností cyklu ztrácí určitou flexibilitu a přesnost, ale může být mnohem rychlejší. Generování trasování často spotřebovává značné množství úložného prostoru a může vážně ovlivnit běh aplikací, pokud je během provádění zaznamenáno velké množství dat.
Profilová předpověď
Klasický přístup k predikci výkonu považuje program za sadu základní bloky propojeno cestou provedení. Tedy doba provádění celého programu je součtem doby provádění každého základního bloku vynásobená jeho frekvencí provádění, jak ukazuje následující vzorec:
Frekvence provádění základních bloků jsou generovány z a profiler, což je důvod, proč se tato metoda nazývá profilová předpověď. Čas provedení základního bloku se obvykle získá z jednoduchého plánovače instrukcí.
Klasická předpověď založená na profilu fungovala dobře pro časné procesory v pořadí pro spouštění jednotlivých vydání, ale nedokáže přesně předpovědět výkon moderních procesorů. Hlavním důvodem je to, že moderní procesory mohou vydávat a provádět několik pokynů současně, někdy mimo původní pořadí a překračovat hranice základních bloků.