Your browser does not support JavaScript!

Home    Operating system mechanisms for remote resource utilization in ARM microservers  

Results - Details

Add to Basket
[Add to Basket]
Identifier 000395175
Title Operating system mechanisms for remote resource utilization in ARM microservers
Alternative Title Μηχανισμοί λειτουργικού συστήματος για χρήση απομακρυσμένων πόρων σε ARM microservers
Author Βελεγράκης, Ιωάννης Μ.
Thesis advisor Κατεβαίνης, Εμμανουήλ
Reviewer Μπίλας, Άγγελος
Πνευματικάτος, Διονύσιος
Abstract Recent efforts towards performance and power optimization in large-scale Data Centers have brought the use of Microservers in the forefront. Compared to traditional architectures, Microservers consist of smaller, less power-hungry Compute Units (CUs) compared to traditional architectures. The key concept is that by integrating such smaller CUs in high numbers, the resulting many-core system can achieve high multi-threaded performance, while maintaining a low power profile. In such an environment, expensive resources must be shared among CUs, since it is costly and impractical to dedicate one to each CU. However, the management of these resources requires to implement sharing mechanisms in the Operating System (OS) and the software stack. In this work, we investigated and implemented OS and user space software mechanisms that are necessary for the deployment of ARM-based CUs in such large-scale systems. We address the sharing of remote resources by fully exploiting the underlying hardware features, such as Remote Direct Memory Access (DMA) and Remote Load/Store. In particular, we have implemented software mechanisms to (1) enable access to remote memory and (2) allow usage of a shared virtualized 10 Gbps Network Interface Card (NIC) by several CUs simultaneously. Remote memory access is implemented in three different ways: (1) As an extension of the local DRAM of the CUs, (2) As a remote Swap Device, and (3) as an I/O character device accessed directly from user space. We demonstrate that remote memory can be used effectively without performance penalty in a system running a full OS. The sharing of a virtualized 10Gbps NIC is achieved by a kernel network driver, that we have implemented, which enables utilization of the customized hardware as a standard Ethernet Device. This allows legacy applications that use Berkeley Sockets to run unmodified. The network driver makes use of scatter-gather DMA for fast zero-copy packet transmission and reception and operates in Full-Duplex mode by using two independent DMA channels. Additionally, it supports Interrupt Coalescing and management of the MAC and PHY hardware blocks using the Management Data Input/Output (MDIO) interface. In conclusion, this work shows that we can indeed utilize a system built upon ARM-based CUs that were not originally designed to operate in such an environment, by the sharing of remote and shared resources by the Linux OS and its user space environment. We expect this work to become even more relevant with upcoming 64-bit ARM-based platforms, targeting large-scale servers for Data Centers.
Language English, Greek
Subject Many-core systems
Remote memory
Shared NIC
Απομακρυσμένη μνήμη
Κοινή χρήση διεπαφής δικτύου
Λειτουργικό σύστημα
Πολυ-πύρηνα συστήματα
Issue date 2015-07-17
Collection   School/Department--School of Sciences and Engineering--Department of Computer Science--Post-graduate theses
  Type of Work--Post-graduate theses
Views 671

Digital Documents
No preview available

Download document
View document
Views : 7