|
BUSE: Block Device in Userspace
Aschenbrenner, Vojtěch ; Desnoyers, Peter (vedoucí práce)
Ačkoliv je implementace ovladače blokového zařízení v uživatelském prostoru mo- derního operačního systému možná, je velmi neobvyklá a často dosahuje velmi nízkého výkonu. Možnost snadno implementovat vysoce výkonný ovladač bloko- vého zařízení v uživatelském prostoru by dovolila rychlejší ověřování vědeckých poznatků z oblasti datových úložišť a umožnila by navrhovat bloková zařízení, která fungují velmi odlišně od těch tradičních. V této práci představujeme "Block Device in Userspace" (BUSE), což je linuxový modul a komunikační protokol, který umožňuje vývoj vysoce výkonného ovla- dače blokového zařízení v uživatelském prostoru. V porovnání s dosud existují- cími přístupy BUSE výborně škáluje na moderních vícejádrových architekturách, poskytuje nejméně 7x vyšší propustnost a nabízí výrazně jednodušší nastavení. Modul komunikuje s ovladačem v uživatelském prostoru přes sdílenou paměť, což eliminuje nadbytečné kopírování paměti. BUSE dále řeší případné konziste- nční problémy typu zápis po zápisu či čtení po zápisu, které jsou způsobeny více frontami bez synchronizace v příslušné části operačního systému. Tím je výrazně usnadněna implementace ovladače v uživatelském prostoru, která se může plně věnovat problémové doméně. Jako demonstraci použití BUSE práce dále představuje "Block Device in S3" (BS3). Jedná...
|
|
BUSE: Block Device in Userspace
Aschenbrenner, Vojtěch ; Desnoyers, Peter (vedoucí práce) ; Reinecke, Hannes (oponent)
Ačkoliv je implementace ovladače blokového zařízení v uživatelském prostoru mo- derního operačního systému možná, je velmi neobvyklá a často dosahuje velmi nízkého výkonu. Možnost snadno implementovat vysoce výkonný ovladač bloko- vého zařízení v uživatelském prostoru by dovolila rychlejší ověřování vědeckých poznatků z oblasti datových úložišť a umožnila by navrhovat bloková zařízení, která fungují velmi odlišně od těch tradičních. V této práci představujeme "Block Device in Userspace" (BUSE), což je linuxový modul a komunikační protokol, který umožňuje vývoj vysoce výkonného ovla- dače blokového zařízení v uživatelském prostoru. V porovnání s dosud existují- cími přístupy BUSE výborně škáluje na moderních vícejádrových architekturách, poskytuje nejméně 7x vyšší propustnost a nabízí výrazně jednodušší nastavení. Modul komunikuje s ovladačem v uživatelském prostoru přes sdílenou paměť, což eliminuje nadbytečné kopírování paměti. BUSE dále řeší případné konziste- nční problémy typu zápis po zápisu či čtení po zápisu, které jsou způsobeny více frontami bez synchronizace v příslušné části operačního systému. Tím je výrazně usnadněna implementace ovladače v uživatelském prostoru, která se může plně věnovat problémové doméně. Jako demonstraci použití BUSE práce dále představuje "Block Device in S3" (BS3). Jedná...
|