Aktualizace 2013: Vývoj systému pro výpočet parametrů fyziologických modelů pomocí BOINC jsme zastavili kvůli integračním potížím a kvůli změně typu workflow pro výpočet. Vývoj a výpočty běží na vědeckém cloudu Metacloud - sdružení CESNET. Více viz zaverecnazprava2013
Záverečná zpráva
Projekt Efektivní identifikace fyziologických systémů, projekt č. 361, FR CESNET 2009/2.
V rámci navrženého projektu jsme měli navrhnout a implementovat softwarový systém pro numerickou identifikaci fyziologických systémů.
Předpoklady řešení, které byly splněny:
předchozí zkušenosti a výsledky naší laboratoře v oblasti modelování fyziologických systémů a komplexní model lidského těla
existující pilotní infrastruktura serverů v síti CESNET vybudována v minulosti pro projekt Globus MEDICUS.
Systém jsme navrhli a implementovali v pilotní fázi takto:
integrace BOINC middleware se SOAP web service implementovanou v C++, v pilotním řešení bylo použito
API pro desktop grid computing DC-
API, middleware BOINC - tj. server a web service enablement server Systinet Server C++
použity identifikační (optimalizační a inverzní) algoritmy v MATLABu, implementace dalších pomocných výpočtů v Matlabu a F#
integrace numerických metod s vybranými testovacími modely
Stávající architektura viz obrázek. Více viz příloha č. 1 a 2., kde jsou kopie publikovaných/přihlášených příspěvků na konference MEFANET 2010 a Healthgrid 2011 s popisem architektury.
Nákup vybavení
V rámci projektu jsme nakoupili toto hardwarové vybavení:
z prostředku FR CESNETu jsme plánovali nákup rackového serveru DELL. Tento server nám byl zakoupen z jiných prostředků fakulty a server je v provozu na adrese physiome.lf1.cuni.cz a je připojen do infrastruktury Globus Medicus s tím, že zde jsou umístěny virtuální stroje s prostředím pro vývoj a testování serverové části výpočetního systému. Tudíž tuto investici nebylo již potřebné z FR CESNETu realizovat.
z prostředků fakulty jsme plánovali nákup switche. Tento nákup jsme nakonec nerealizovali, neboť na začátku vývoje systému nám první testy ukázaly, že objemná data mezi výpočetními uzly a serverem probíhají jen jednorázově při distribuci nové verze výpočetního programu a zkoumaného modelu. Při dalších konzultacích se správci sítě se ukázalo, že by nákup a sprovoznění switche vyžadovalo i rekonstrukci síťových připojení ke koncovým počítačům v laboratoři, neboť testování rychlejší sítě bylo již v minulosti po stávající kabeláži nestabilní. Stávající kapacita připojení k serveru je zatím dostačující. Případný požadavek na rychlejší síť by byl v budoucnu realizován ekonomičtější metodou přesunu virtuálních serverů na jiné fyzické stroje, které jsou k rychlejší síti již připojeny.
místo plánovaného switche jsme tak z prostředků fakulty navíc koupili výpočetní server s grafickou kartou NVidia TESLA, která je postavena na architektuře CUDA. Je na něm zkoumána možnost vývoje výpočetního programu, který by tuto architekturu využil a doplnil tak výpočet, který je distribuován do gridové infrastruktury. Server byl částečně připojen do infrastruktury Globus Medicus jako uzel bodylight.lf1.cuni.cz poskytující virtuální kapacitu a přístup ke kapacitě CUDA karty, ale s výhradní možností restartovat server do fyzického módu, který je přístupný pouze uživatelům laboratoře biokybernetiky.
Cíle řešení
V rámci návrhu jsme si stanovili tyto cíle:
Veřejně poskytnout přes internet systém pro identifikaci modelů
možnost výběru propojení fyziologického modelu a naměřených dat
Fyziologické modely jsou automaticky generovány z našeho rozsáhlého komplexního modelu HumMod Golem Edition. Tyto základní části jsou: kardiovaskulární systém, krevní plyny s acidobazí, systém pohybu elektrolytů v těle, termoregulace, systém metabolizmu živin a aerobní i anaerobní proměny energie, systém základních autonomních nervových regulací, systém volných extracelulárních proteinů, systém distribuce vody v těle, a konečně systém vyhodnocení stavu tkání i celkového stavu pacienta. Každý z daných submodelů umožňuje pro vhodný odhad parametrů spočíst počáteční ustálený stav a následně simulovaný průběh experimentu.
Od uživatele se předpokládá znalost určovaných parametrů a propojovaných proměnných modelu, které jsou intuitivně uspořádány a popsány v grafické modelicové reprezentaci modelu. Dále se předpokládá správné propojení odhadovaných dat na základě měřených experimentů, které vyžaduje vědomosti o fyziologii člověka z oblasti zkoumaných dějů.
Grafická uživatelská aplikace generuje vstupní data, která jsou nutná pro spuštění identifikačního algoritmu. Tyto vstupní data definují veškeré nastavení identifikačního algoritmu, výběr modelu, výběr jeho odhadovaných parametrů i naměřená experimentální data. Pro identifikaci rozsáhlých systémů byl vyvinut systém pro propojení korelovaných parametrů. A to definováním nových odhadovaných parametrů, které jsou distribuovány mezi skutečné parametry modelu. V mnohých případech je tak možné pracovat s obecnějšími pojmy, než s pojmy definovanými v modelech.
Naměřená data je možné vkládat přímo ručně pomocí grafické uživatelské aplikace, nebo nahrát data pro každou proměnnou samostatně. V druhém případe jsou všechna data experimentu automaticky interpolována tak, aby byla definována ve stejných časech v tzv. ekvidistantní časové mřížce.
Vygenerovaná konfigurační a vstupní data z uživatelského grafického prostředí slouží na nastavení a spouštění identifikace v prostředí MATLAB a ve výpočetním gridu.
Využít a rozšířit kapacitu existujícího gridu Globus Medicus
Využít výpočetní kapacity jednotlivých počítačů v Laboratoři kybernetiky
Server na GB switch
Identifikace systémů
Máme data naměřená na pacientovi při nějakém experimentu. Dále máme fyziologický model, který tento experiment simuluje. Úlohou je určit hodnoty parametrů modelu tak, aby jeho výsledky byly co nejbližší experimentálním datům. Úloha identifikace parametrů vede na numerickou optimalizaci nebo inverzi.
V případě optimalizace hledáme minimum účelové funkce. Tato funkce vyjadřuje vzdálenost modelových a experimentálních dat pomocí L2 normy.
Pro optimalizaci používáme genetický algoritmus, který je součástí balíčku Matlabu Optimization Toolbox. Pro inverzi používáme algoritmus ANNIT vyvinutý RNDr. Bohuslavem Růžkem CSc. pro účely výpočtu inverzních úloh geofyziky. Tyto algoritmy byly vybrány, protože umožňují paralelní výpočet modelů. Oba algoritmy hledají globální extrém (řešení).
školení
konference
Publikovali jsme výsledky na konferencích a v odborných publikacích v oblasti identifikace fyziologických systémů, fyziologických modelů, aplikací gridových technologií a simulačních metodologií.
Příspěvky
Tomáš Kulhánek, Jan Šilar, Marek Mateják, Pavol Privitzer, Jiří Kofránek, Martin Tribula:Distributed computation and parameter estimation in identification of physiological systems, proceeding of VPH 2010, 30th Sep - 1st Oct 2010 Brussels, Belgium, přednáška a extended abstract
Tomáš Kulhánek: Infrastruktura pro ukládání dat a výpočty v biomedicínském výzkumu, Specifický výzkum 1.LF UK 2010, přednáška a příspěvek Praha
Tomáš Kulhánek, Jan Šilar, Jiří Kofránek, Marek Mateják, Pavol Privitzer, Martin Tribula: Od výukového modelu k identifikaci fyziologického systému, MEFANET 2010 sborník přednášek, Brno, přednáška a příspěvek do sborníku
Marek Mateják, Jiří Kofránek: Rozsáhlý model fyziologických regulací v Modelice, příspěvek na konferenci MEDSOFT 2010
Jiří Kofránek: Komplexní modely integrovaných fyziologických systémů - teoretický podklad pro lékařské výukové simulátory, příspěvek na konferenci MEFANET 2010
Marek Mateják, Jiří Kofránek: Hummod – Golem Edition rozsáhlý model fyziologických systémů, příspěvek na konferenci MEDSOFT 2011
Jiri Kofranek, Stanislav Matousek, Jan Rusz, Petr Stodulka, Pavol Privitzer, Marek Matejak, Martin Tribula: The Atlas of Physiology and Pathophysiology: Web-based multimedia enabled interactive simulations; Computer Methods and Programs in Biomedicine, 2011, (Article in Press, Accepted 9 December 2010 , Impact Factor: 1.144, 2010 Journal Citation Reports®, published by Thomson Reuters)
Vybrané příspěvky z konferencí jako přílohy této zprávy:
Závěr
Projekt nám umožnil vybudovat systém pro distribuci výpočtu jednak do pilotního gridu, tak do počítačů v laboratoři tak i k dobrovolníkům poskytující výpočetní kapacitu vlastního počítače přes systém BOINC. Prvních 68 dobrovolníků se registrovalo do projektu. V systému probíhají zatím výpočty na testovacích datech a testovacím modelu. Nyní a v průběhu příštích měsíců budeme integrovat do systému po částech komplexní fyziologický model lidského těla HumMod, který je souběžně vyvíjen v rámci jiného projektu. Výsledky identifikace modelů budou postupně uváděny na webové stránce http://patf-biokyb.lf1.cuni.cz/wiki/projekty/vysledky_identifikace. Navíc máme podanou přihlášku na pokračování projektu do FR CESNET směrem k možnosti interaktivního propojení uživatelské aplikaci manipulující s modelem a parametry s požadovanou identifikací a způsobem výpočtu, který bude už úzce spjatý s modelem lidského těla HumMod.
Přílohy