Charles Explorer logo
🇨🇿

Čím zaplnit prostor mezi manuální a automatickou paralelizací?

Publikace na Matematicko-fyzikální fakulta |
2011

Abstrakt

V důsledku změn v architektuře hardware se jedním z nejvýznamnějších problémů v oblasti produkce software stala absence vhodných prostředků k programování paralelních nebo paralelizovatelných aplikací. Kromě vhodné metodiky pro vyhnutí se chybám vyplývajícím z paralelismu musí takový systém umožnit plné využití výpočetního výkonu prostřednictvím reorganizace toku řízení i datových struktur.

Dosavadní paralelizační systémy buď nechávají většinu zátěže na programátorovi (C++/MPI apod.) nebo ve snaze o plně automatickou paralelizaci naopak příliš omezují programátorovy možnosti (FORTRAN). V reálném světě jsou zapotřebí všechny stupně zapojení programátora do procesu paralelizace; přitom pro střed tohoto spektra programovací prostředky chybí.

Tento článek shrnuje požadavky na programovací jazyk či systém, který by tuto mezeru zaplnil, a porovnává několik možností, jak tyto požadavky naplnit větší či menší úpravou existujících prostředků.