Read-Copy-Update for HelenOS
Read-Copy-Update pro HelenOS
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/51670Identifikátory
SIS: 121000
Katalog UK: 990016222950106986
Kolekce
- Kvalifikační práce [11982]
Autor
Vedoucí práce
Oponent práce
Podzimek, Andrej
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
9. 9. 2013
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
HelenOS, RCU, Read-Copy Update, concurrencyKlíčová slova (anglicky)
HelenOS, RCU, Read-Copy Update, concurrencyRozšírenie viacjadrových procesorov zvýšilo záujem o škálovateľné synchronizačné primitíva ako je Read-Copy Update. Zatiaľčo RCU je populárne v monolitických kerneloch operačných systémov, doposiaľ nebolo nasadené v prostredí mikrokernelov. V práci navrhneme a implementujeme RCU pre mikrokernelový operačný systém HelenOS. Navyše preskúmame možnosti použitia RCU v HelenOSe a demonštrujeme užitočnosť RCU tak v kerneli ako aj v user space. Merania ukazujú, že implementované RCU poskytuje lineárnu škálovateľnosť RCU čitateľov a RCU vyžaduje omnoho nižšiu réžiu pri vstupe do chránenej sekcie ako bežné zámky a to i v ideálnom prípade pre zámky. RCU sme využili v user space na 2.6 násobné zrýchlenie tradičných zámkov. V kerneli RCU zabezpečilo lineárnu škálovateľnosť futexového podsystému. Powered by TCPDF (www.tcpdf.org)
Multicore processors have become prevalent and spurred interest in scalable synchronization mechanisms, such as Read-Copy Update. While RCU is popular in monolithic operating system kernels it has yet to see an implementation in a microkernel environment. In this thesis we design and implement RCU for the microkernel operating system HelenOS. Moreover, we explore potential uses of RCU in HelenOS and illustrate its utility in both the kernel and user space. Benchmarks demonstrate that the RCU implementation provides linearly scalable read-sides and incurs significantly less overhead than traditional locking even if uncontended. Furthermore, RCU was used in user space to speed up traditional locking 2.6 times in the common case. In the kernel, RCU ensured linear scalability of a previously non-scalable futex subsystem. Powered by TCPDF (www.tcpdf.org)
