Srovnání implementací systému thread pool zpracováním požadavků na webserver
Evaluation of thread pool implementations by resolution of webserver requests
dc.contributor.advisor | Langr Daniel | |
dc.contributor.author | Martin Mucha | |
dc.date.accessioned | 2024-06-18T14:24:33Z | |
dc.date.available | 2024-06-18T14:24:33Z | |
dc.date.issued | 2024-06-08 | |
dc.identifier | KOS-1240814452805 | |
dc.identifier.uri | http://hdl.handle.net/10467/115304 | |
dc.description.abstract | Použitie thread pool, ako prostriedok na škálovanie webových serverov je zaužívaný v mnohých serverových implementáciach. Jednotlivé implementácie thread pool sa môžu výrazne líšiť v plánovacích algoritmoch a reprezentacií úloh. V tejto práci, sme navrli a implementovali náš vlastný thread pool s využívam C++20 corou-tines a work-stealing plánovacím algoritmom. Pre efektivné plánovanie úloh sme použili lock-free dátové štruktúry. Naša implementácia dosiahla výrazne nižšie oneskorenie pri planovaní v porov-naní s OpenMP implementáciami. Taktiež dosiahla porovnateľné výsledky v testoch s oneTBB knižnicou a v jednom z nich ju prekonala. Nakoniec, sme otestovali rôzne verzie nášho thread pool v serverovom prostredí aby sme zmerali výkon naprieč rôznymi typmi požiadavkov na webový server. | cze |
dc.description.abstract | Utilizing a pool of worker threads to scale web servers is a widely adopted approach employed by many server implementations. Individual thread pool implementations can significantly vary in scheduling algorithms and task encapsulation. In this thesis, we design and implement our own thread pool utilizing C++20 coroutines and work-stealing scheduling. To ensure an efficient scheduling, we utilize lock-free structures. Our implementation not only achieves significantly lower scheduling overhead compared to OpenMP implementations but also performs comparably to, and in one test outperforms, the oneTBB thread pool implementation. Finally, we conduct testing of various versions of our thread pool in a server environment to assess performance across different server requests types. | eng |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | coroutines | cze |
dc.subject | paralelné programovanie | cze |
dc.subject | plánovanie | cze |
dc.subject | serverové požiadavky | cze |
dc.subject | thread pool | cze |
dc.subject | webový server | cze |
dc.subject | work-stealing | cze |
dc.subject | coroutines | eng |
dc.subject | parallel computing | eng |
dc.subject | scheduling | eng |
dc.subject | server requests | eng |
dc.subject | thread pool | eng |
dc.subject | web server | eng |
dc.subject | work-stealing | eng |
dc.title | Srovnání implementací systému thread pool zpracováním požadavků na webserver | cze |
dc.title | Evaluation of thread pool implementations by resolution of webserver requests | eng |
dc.type | diplomová práce | cze |
dc.type | master thesis | eng |
dc.contributor.referee | Šimeček Ivan | |
theses.degree.discipline | Webové inženýrství | cze |
theses.degree.grantor | katedra softwarového inženýrství | cze |
theses.degree.programme | Informatika | cze |
Soubory tohoto záznamu
Tento záznam se objevuje v následujících kolekcích
-
Diplomové práce - 18102 [1005]