Reducing Kernel Development Complexity in Distributed Environments
نویسندگان
چکیده
Setting up generic and fully transparent distributed services for clusters implies complex and tedious kernel developments. More flexible approaches such as user-space libraries are usually preferred with the drawback of requiring application recompilation. A second approach consists in using specific kernel modules (such as FUSE in Gnu/Linux system) to transfer kernel complexity into user space. In this paper, we present a new way to design and implement kernel distributed services for clusters by using a cluster wide consistent data management service. This system, entitled kDDM for “kernel Distributed Data Management”, offers flexible kernel mechanisms to transparently manage remote accesses, cache and coherency. We show how kDDM simplifies distributed kernel developments by presenting the design and the implementation of a service as complex as a fully symmetric distributed file system. The innovative approach of kDDM has the potential to boost the development of distributed kernel services because it relieves the developers of the burden of dealing with distributed protocols and explicit data transfers. Instead, it allows focusing on the implementation of services in a manner very similar to that of parallel programming on SMP systems. More generally, the use of kDDM could be exploited in almost all local kernel services to extend them to cluster scale. Cluster wide IPC, distributed namespaces (such as /proc) or process migration are some potential examples. Key-words: Operating systems, kernel development, cluster, symmetric file system ∗ The authors from INRIA and NEC carry out this research work in the framework of the XtreemOS project partially funded by the European Commission under contract #FP6-033576. † INRIA Rennes Bretagne Atlantique, Rennes France [email protected] ‡ KERLABS, Gevezé France [email protected] § NEC, Stuttgart, Germany, [email protected] in ria -0 02 01 91 1, v er si on 3 8 Ja n 20 08 Reduire la compléxité des développements noyaux dans les environnements distribués Résumé : La mise en œuvre de services distribués transparents et génériques dans une grappe implique des développements noyaux complexes et souvent fastidieux à finaliser. L’élaboration de bibliothèques situées en espace utilisateur est généralement préférée avec comme principal inconvénient l’obligation de recompiler les applications. Une seconde approche consiste à exploiter des mécanismes noyaux spécifiques permettant de remonter la compléxité du noyau au niveau utilisateur (le module FUSE en est un exemple). Toutefois ce type de solution peut avoir un impact négatif sur les performances. Dans ce papier, nous présentons une nouvelle manière de concevoir et de mettre en œuvre des services noyaux distribués grâce à l’utilisation d’un service de partage cohérent de données à l’échelle des grappes. Ce système, intitulé kDDM pour ”kernel Distributed Data Management”, propose des mécanismes permettant de partager efficacement et de manire transparente des données noyaux entre plusieurs noeuds (le maintien en cohérence étant assuré directement par le service). Nous montrons comme l’utilisation du service kDDM permet de simplifier l’élaboration d’un service distribué en mode noyau en présentant l’implantation d’un service complexe comme celui d’un système de fichiers symétrique. L’approche proposée dans ce document pourrait permettre d’accrotre le developpement de services distribués au niveau noyau en réduisant la charge de travail liée à la mise en place de protocol distribué ou encore celle liée à la gestion des transferts explicites des données. Les phases de développement peuvent alors être dans leur totalité consacrées à la mise en œuvre du service de manière similaire à un développement sur des systèmes SMPs. Plus généralement, l’utilisation des kDDMs peut être exploitée dans la plupart des services noyaux usuels afin de les étendre à l’échelle des grappes. A titre d’exemple, il serait tout à fait envisageable d’étendre les mécanismes IPC, de mettre en place des espaces de nommage distribués ou encore de faciliter la migration de processus en temps réel. Mots-clés : système d’exploitation, développement noyau, grappe, système de fichiers symétrique in ria -0 02 01 91 1, v er si on 3 8 Ja n 20 08
منابع مشابه
Design and Implementation of a Distributed Shared Memory for the HP-UX Kernel
Innovative CPUs with a 64-bit virtual address space (such as the Hewlett-Packard PA-RISC CPU) can fundamentally affect the design of operating systems, because they allow for a single virtual address space (SVAS) for multicomputers. A distributed shared memory (DSM) on top of the SVAS provides network transparent data. An interface mechanism with remote procedure calls (RPCs) on top of the DSM ...
متن کاملAn infeasible interior-point method for the $P*$-matrix linear complementarity problem based on a trigonometric kernel function with full-Newton step
An infeasible interior-point algorithm for solving the$P_*$-matrix linear complementarity problem based on a kernelfunction with trigonometric barrier term is analyzed. Each (main)iteration of the algorithm consists of a feasibility step andseveral centrality steps, whose feasibility step is induced by atrigonometric kernel function. The complexity result coincides withthe best result for infea...
متن کاملOptimizing Teleportation Cost in Multi-Partition Distributed Quantum Circuits
There are many obstacles in quantum circuits implementation with large scales, so distributed quantum systems are appropriate solution for these quantum circuits. Therefore, reducing the number of quantum teleportation leads to improve the cost of implementing a quantum circuit. The minimum number of teleportations can be considered as a measure of the efficiency of distributed quantum systems....
متن کاملIntegrating Machine Learning Techniques to Adapt Protocols for QoS-enabled Distributed Real-time and Embedded Publish/Subscribe Middleware
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides the infrastructure needed to disseminate data predictably, reliably, and scalably in distributed real-time and embedded (DRE) systems. Maintaining QoS properties as the operating environment fluctuates is challenging, however, since the chosen mechanism (e.g., transport protocol or caching algorithm for data persis...
متن کاملHigh-Performance Kernel Machines With Implicit Distributed Optimization and Randomization
Complex machine learning tasks arising in several domains increasingly require “big models" to be trained on “big data". Such models tend to grow with the complexity and size of the training data, and do not make strong parametric assumptions upfront on the nature of the underlying statistical dependencies. Kernel methods constitute a very popular, versatile and principled statistical methodolo...
متن کامل