Streaming system scheduling for Xeon Phi
Plánování v proudových systemech na Xeonu Phi
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/90474Identifikátory
SIS: 192531
Kolekce
- Kvalifikační práce [10923]
Autor
Vedoucí práce
Oponent práce
Kruliš, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
6. 9. 2017
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
plánování, proudové systémy, Bobox, Xeon PhiKlíčová slova (anglicky)
scheduling, streaming systems, Bobox, Xeon PhiPlánování procesů v oblasti operačních systémů je velmi dobře prozkoumaný problém na tradičních architekturách (NUMA, SMP). Bohužel nepracuje správně na nově vzniklých architekturách, speciálně na procesoru Intel Xeon Phi. Proto jsme shromáždili všechny dostupné informace o této architektuře. Nedostupné informace jsme se pokusili zjistit pomocí vlastních testů. Především jsme se soustředili na věci související s architekturou jádra a pamětí, jelikož to jsou nejdůležitější části pro tvorbu plánovače. Na základě výsledků jsme navrhli vylepšení pro stávající plánovač. Při ověřování navrhnutých vylepšení jsme zjistili, že problém není v plánovači, ale v návrhu, jakým se provádí paralelizace operátorů uvnitř Boboxu. Proto jsme navrhli nějaká vylepšení pro paralelizaci operátorů a jedno z nejjednodušších naimplementovali jako příklad a otestovali.
Task scheduling in operating system area is a well-known problem on traditional system architectures (NUMA, SMP). Unfortunately, it does not perform well on emerging many-core architectures, especially on Intel Xeon Phi. We collected all publicly available information about the architecture of Xeon Phi. After that, we benchmarked the Xeon Phi in order to find the missing information about its architecture. We focused especially on the information about cores and memory controllers. These are the most important parts when designing a scheduler. Based on the results, we proposed improvements for scheduling algorithm in the Bobox (an experimental streaming system). However, we found that the biggest problem is not in the scheduling algorithm, but in the design of operators' parallelization. Therefore, we proposed improvements to the parallelization and tested one of the proposals.