Program newAD2 je nástroj pro nelineární regresi (fitování) fyzikálních veličin,
přičemž 2 označuje číslo verze (verze 1 označovaná nebyla). Název newAD2 se přitom používá dvojím způsobem –
jednak pro celý tento balík programů, jednak pro příkaz spouštějící textovou konzoli (frontend) sloužící k jeho ovládání (viz sekce
newAD2 níže); z kontextu by mělo být vždy zřejmé, o který z obou významů jde.
Program je distribuovaný pomocí pvm do několika procesů
umožňující paralelizování výpočtů jak v rámci jednotlivých počítačů, tak i v rámci heterogeního počítačového
klastru.
V dřívější době byl heterogenní klastr tvořen různými unixovými stroji, později se toto zúžilo pouze na stroje používající různé distribuce Linuxu.
V dnešní době v rámci heterogenního klastru využíváme pouze možnost optimalizace kódu pro jednotlivé výpočetní uzly podle typu procesoru.
Procesy běžící pouze na hlavním počítači:
- masterAD2 Hlavní proces zajišťující komunikaci mezi ostatními podřízenými procesy.
- newAD2 Textová konzola umožňující interaktivní ovládání i použití skriptů.
- newAD2gui Grafické rozhraní pro interaktivní ovládání.
- watcherAD2 Hlavní proces starající se o chod klastru, tj. o to, aby na jednotlivých počítačích (uzlech) běžely potřebné programy, a řešící problémy vyplývající z přerušení a opětovného navázání spojení mezi jednotlivými uzly a z pádu vedlejších počítačů v průběhu výpočtu.
- spawnerAD2 Proces zajišťující samotnou distribuci výpočtů mezi jednotlivé uzly.
- addhosterAD2, spiritAD2 a heartAD2 Pomocné procesy zajišťující chod klastru.
- restorerAD2 Proces zajišťující restart výpočtu v případě pádu celého systému, tj. hlavního počítače.
- importerAD2 Proces umožňující natáhnout stav systému z out nebo log souborů.
- librarianAD2 Proces umožňující uchovávat a získávat data z hlavního počítače.
Procesy běžící na všech uzlech, tj. na hlavním i podřízených počítačích:
- inspectorAD2 Proces sledující zatížení jednotlivých uzlů a zajišťující jejich dynamickou konfiguraci.
- slaveAD2 Proces v němž jsou implementovány různé fyzikální modely. Ve skutečnosti se proces jmenuje slaveAD2-OTF, kde OTF (Optics of Thin Films) je jméno zatím implementovaného modelu pro optiku tenkých vrstev, ale poměrně snadno by bylo možné implementovat jiné fyzikální modely. Ty by se potom lišily jinou extenzí. Navíc slaveAD2 může mít další rozšíření, které rozlišuje jednotlivé klastry (viz instalace systému pro více uživatelů). Těchto procesů na jednotlivých uzlech běží více, zpravidla daná počtem jader, respektive počtem vláken, daného uzlu.
Součástí balíku je i program dataAD2, který slouží k vytvoření datového setu pro vstup programu newAD2 z původních experimentálních dat jednotlivých přístrojů a z dalších zdrojů, například tabulek optických konstant. Program newAD2 sám původní soubory neimportuje, načítá pouze datový set ve formátu newAD2 vytvořený programem dataAD2 nebo jinými nezávislými utilitami.
Textový i grafický frontend programu a program pro přípravu dat jsou popsány na samostatných stránkách:
|