Asynchronní zpracování úloh v projektu PCS

Loading...
Thumbnail Image
Date
ORCID
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Projekt PCS je distribuovaná aplikácia. Z toho vyplýva, že potrebuje spôsob ako spúšťať akcie vo vzdialených inštanciách PCS. Cieľom tejto práce je vyvinúť minimálne životaschopné riešenie pre spúšťanie akcií cez REST API, ktoré je implementované metódami asynchrónneho programovania. Tieto akcie však nie sú implementované asynchrónne, takže nemôžu byť spustené priamo z asynchrónneho kódu. REST API je preto napojené na asynchrónny plánovač, ktorý obchádza toto obmedzenie spúšťaním akcií v sade procesov (process pool). Plánovač skrýva akcie za abstrakčnú vrstvu úloh, ktoré uchovávajú informácie o stave a výsledkoch akcií. Všetky akcie potrebujú posielať aktualizácie svojho stavu klientom v reálnom čase. Toto je dosiahnuté jednosmerným komunikačným kanálom medzi akciami a plánovačom, ktorý správy od akcií ukladá do úloh. REST API umožňuje vytváranie, kontrolu stavu a rušenie spracovania úloh. Klient teda môže opakovane žiadať o stav úlohy a takto zobrazovať aktualizácie stavu z akcií. Klient tiež môže zrušiť spracovanie úloh, ktoré bežia príliš dlho.
The PCS project is a distributed application; therefore, many actions need a way to launch actions in remote application instances. The goal of this thesis is to implement a minimum viable solution for executing actions through a REST API that uses the asynchronous programming model. However, actions themselves are not implemented asynchronously and cannot be invoked directly from asynchronous code. The REST API is connected to an asynchronous scheduler that circumvents this limitation by launching actions in a process pool. The scheduler hides actions behind an abstraction layer of tasks that store information about their status and results. All the actions need to send real-time updates to the clients. This is made possible via a one-way communication channel from the actions to the scheduler that updates the tasks. The REST API provides methods for creating, getting results, and killing tasks. Clients can periodically check the task status and show these updates to the user. Clients can also choose to kill tasks that take too long to finish.
Description
Citation
POSPÍŠIL, M. Asynchronní zpracování úloh v projektu PCS [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. Ing. Vladimír Janoušek, Ph.D. (předseda) doc. Ing. Lukáš Burget, Ph.D. (místopředseda) prof. Ing. Jan M. Honzík, CSc. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) Ing. Jaroslav Rozman, Ph.D. (člen)
Date of acceptance
2022-06-13
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Mohl byste přiblížit, jak - a zda vůbec - jste se podílel na návrhu nebo implementaci nové architektury PCS popisované v sekci 2.4? Na jak velkém clusteru (z hlediska počtu výpočetních uzlů) byl výsledek testován? Vidíte  nějaké potenciální problémy (ať už konceptuální nebo technické) se škálovatelností Vašeho řešení na větší clustery? Řešil jste nějakým způsobem i fronty úloh? Proč jste práci napsal v angličtině?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO