Support for NUMA hardware in HelenOS
Support for NUMA hardware in HelenOS
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/49208Identifiers
Study Information System: 90622
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Libič, Peter
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
5. 9. 2011
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
HelenOS, NUMA, jádro, operační systémyKeywords (English)
HelenOS, NUMA, kernel, operating systemsCílem této diplomové práce je rozšířit operační systém HelenOS o podporu ccNUMA hardwaru. Text práce obsahuje stručný úvod do problematiky ccNUMA, přehled vlastností NUMA hardwaru a přehled vlastností HelenOS spojených s touto problematikou (správa paměti, plánování atd.). Práce analyzuje rozhodnutí při návrhu implementace podpory pro NUMA počítače -- zavádí reprezentace topologie do datových struktur jádra, zpřístupnění těchto informací do uživatelské prostoru, afinita vláken k procesorům a uzlům, politiky alokace paměti či vyvažování zátěže. Práce též popisuje prototypovou implementaci podpory ccNUMA v HelenOsu na platformě AMD64 and stručné srovnání s podporou ccNUMA v jiných monolitických i mikrojaderných operačních systémech.
The goal of this master thesis is to extend HelenOS operating system with the support for ccNUMA hardware. The text of the thesis contains a brief introduction to ccNUMA hardware, an overview of NUMA features and relevant features of HelenOS (memory management, scheduling, etc.). The thesis analyses various design decisions of the implementation of NUMA support -- introducing the hardware topology into the kernel data structures, propagating this information to user space, thread affinity to cores and nodes, memory allocation policies, load balancing, etc. The thesis also contains a prototype implementation of ccNUMA support in HelenOS for the AMD64 platform and a brief evaluation and comparison with ccNUMA support in other monolithic and microkernel-based operating systems.