1 Komplexné výpočetné workflow v k8s Komplexné výpočetné workflow v k8s2 Demo Komplexné výpočetné workflow v k8s3 Vysoká veľkosť výpočetného softwaru ̶ Software je rozdelený do samostatných kontajnerov Hlavný kontajner Jupyter notebook - mdtraj - plotly - nglview - ... Vedľajší kontajner Gromacs Vedľajší kontajner Orca Vedľajší kontajner parmtSNEcv ~931MB ~12.7GB ~844MB ~2.69GB Komplexné výpočetné workflow v k8s4 Časová os workflow Komplexné výpočetné workflow v k8s5 Pôvodné riešenie - PBS ̶ Primárne cez Podman v multiuživateľskom prostredí (CERIT) 1. Vytvorenie pbs jobu, kde sa spustil hlavný kontajner s grafickým interface Jupyter notebook 2. Prostredníctvom custom vytvoreného systému master -> socket -> daemon komunikuje hlavný kontajner s Podmanom hosťovského zariadenia 3. Prebieha náročný výpočet, kde input a output sa nachádza v zdieľanom priečinku na hosťovskom zariadení Komplexné výpočetné workflow v k8s6 Pôvodné riešenie - PBS ̶ Primárne cez Podman v multiuživateľskom prostredí (CERIT) 1. Vytvorenie pbs jobu, kde sa spustil hlavný kontajner s grafickým interface Jupyter notebook 2. Prostredníctvom custom vytvoreného systému master -> socket -> daemon komunikuje hlavný kontajner s Podmanom hosťovského zariadenia 3. Prebieha náročný výpočet, kde input a output sa nachádza v zdieľanom priečinku na hosťovskom zariadení Komplexné výpočetné workflow v k8s7 Pôvodné riešenie - PBS ̶ Primárne cez Podman v multiuživateľskom prostredí (CERIT) 1. Vytvorenie pbs jobu, kde sa spustil hlavný kontajner s grafickým interface Jupyter notebook 2. Prostredníctvom custom vytvoreného systému master -> socket -> daemon komunikuje hlavný kontajner s Podmanom hosťovského zariadenia 3. Prebieha náročný výpočet, kde input a output sa nachádza v zdieľanom priečinku na hosťovskom zariadení Komplexné výpočetné workflow v k8s8 Vlastnosti prostredia workflow - PBS ̶ Nepretržitý uptime ✕ ̶ Ak padol PBS job, bolo potrebné ho znovu manuálne spustiť ̶ Výpočetne náročné úkony ✕ ̶ Riešenie cez workaround vlastným .sh skriptom, ktorý spúšťal PBS joby ̶ Vysoká veľkosť výpočetného softwaru ✓ ̶ Vizualizácia a korekcia parametrov výpočtov ✓ ̶ Bezpečnosť ✕ ̶ Riešenie cez workaround Podmanom namiesto Dockera (vlastný master->socket->daemon) Komplexné výpočetné workflow v k8s9 Aktuálne riešenie - Kubernetes ̶ Pomocou webového Flask rozhrania 1. Používateľ si pomocou webového rozhrania vytvorí vlastnú inštanciu pipeliny, prípadne sa vie pripojiť na svoju existujúcu 2. V prípade náročného výpočtu je z hlavného kontajnera vytvorený kubernetes job, ktorý vykoná výpočet 3. Prebieha náročný výpočet, kde input a output je uložený na PVC Komplexné výpočetné workflow v k8s10 Aktuálne riešenie - Kubernetes ̶ Pomocou webového Flask rozhrania 1. Používateľ si pomocou webového rozhrania vytvorí vlastnú inštanciu pipeliny, prípadne sa vie pripojiť na svoju existujúcu 2. V prípade náročného výpočtu je z hlavného kontajnera vytvorený kubernetes job, ktorý vykoná výpočet 3. Prebieha náročný výpočet, kde input a output je uložený na PVC Komplexné výpočetné workflow v k8s11 Aktuálne riešenie - Kubernetes ̶ Pomocou webového Flask rozhrania 1. Používateľ si pomocou webového rozhrania vytvorí vlastnú inštanciu pipeliny, prípadne sa vie pripojiť na svoju existujúcu 2. V prípade náročného výpočtu je z hlavného kontajnera vytvorený kubernetes job, ktorý vykoná výpočet 3. Prebieha náročný výpočet, kde input a output je uložený na PVC Komplexné výpočetné workflow v k8s12 Vlastnosti prostredia workflow - Kubernetes ̶ Nepretržitý uptime ✓ ̶ Pri problémoch so sieťou je kontajner reštartovaný Kubernetesom ̶ Výpočetne náročné úkony ✓ ̶ Riešenie prirodzené cez Kubernetes job (žiadne custom skripty) ̶ Vysoká veľkosť výpočetného softwaru ✓ ̶ Vizualizácia a korekcia parametrov výpočtov ✓ ̶ Bezpečnosť ✓ ̶ Prístup ku Kubernetes clusteru majú iba admini, ktorí disponujú secretom Komplexné výpočetné workflow v k8s13 Všeobecné použitie konceptu