Kerrighed / XtreemOS cluster flavour

Similar documents
Kerrighed: use cases. Cyril Brulebois. Kerrighed. Kerlabs

Is Virtualization Killing SSI Research?

Is Virtualization Killing SSI Research?

PARALLELS SERVER 4 BARE METAL README

Virtual Private Systems for FreeBSD

lxc and cgroups in practice sesja linuksowa 2012 wojciech wirkijowski wojciech /at/ wirkijowski /dot/ pl

Hadoop on the Gordon Data Intensive Cluster

Enabling Large-Scale Testing of IaaS Cloud Platforms on the Grid 5000 Testbed

2972 Linux Options and Best Practices for Scaleup Virtualization

Virtualization in Linux

Introduction to Gluster. Versions 3.0.x

Solution for private cloud computing

Cloud Computing through Virtualization and HPC technologies

Best Practices for Monitoring Databases on VMware. Dean Richards Senior DBA, Confio Software

Distributed Operating Systems. Cluster Systems

Storage Virtualization from clusters to grid

WebLogic on Oracle Database Appliance: Combining High Availability and Simplicity

PARALLELS SERVER BARE METAL 5.0 README

EXPLORING LINUX KERNEL: THE EASY WAY!

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

OGF25/EGEE User Forum Catania, Italy 2 March 2009

Chapter 7: Distributed Systems: Warehouse-Scale Computing. Fall 2011 Jussi Kangasharju

CRIBI. Calcolo Scientifico e Bioinformatica oggi Università di Padova 13 gennaio 2012

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

Ground up Introduction to In-Memory Data (Grids)

High Availability of the Polarion Server

Moving Virtual Storage to the Cloud

Virtual Clusters as a New Service of MetaCentrum, the Czech NGI

Petascale Software Challenges. Piyush Chaudhary High Performance Computing

Moving Virtual Storage to the Cloud. Guidelines for Hosters Who Want to Enhance Their Cloud Offerings with Cloud Storage

Analysis and Implementation of Cluster Computing Using Linux Operating System

Ghost Process: a Sound Basis to Implement Process Duplication, Migration and Checkpoint/Restart in Linux Clusters

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Highly Available NFS over Oracle ASM Cluster File System (ACFS)

Parallels Cloud Server 6.0

ServerPronto Cloud User Guide

MOSIX: High performance Linux farm

Using Chroot to Bring Linux Applications to Android

Configuration Maximums

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

Developing Embedded Linux Devices Using the Yocto Project

Virtualization of Linux based computers: the Linux-VServer project

Virtualised MikroTik

Achieving Real-Time Business Solutions Using Graph Database Technology and High Performance Networks

Safety measures in Linux

MPI / ClusterTools Update and Plans

Efficient Load Balancing using VM Migration by QEMU-KVM

Hadoop Architecture. Part 1

PADS GPFS Filesystem: Crash Root Cause Analysis. Computation Institute

Proposal for Virtual Private Server Provisioning

ISPS & WEBHOSTS SETUP REQUIREMENTS & SIGNUP FORM LOCAL CLOUD

Appro Supercomputer Solutions Best Practices Appro 2012 Deployment Successes. Anthony Kenisky, VP of North America Sales

Computing in High- Energy-Physics: How Virtualization meets the Grid

SMB Direct for SQL Server and Private Cloud

Lightweight Virtualization: LXC Best Practices

Simplest Scalable Architecture

Parallels Cloud Server 6.0

Chapter 1 - Web Server Management and Cluster Topology

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

SMB Advanced Networking for Fault Tolerance and Performance. Jose Barreto Principal Program Managers Microsoft Corporation

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

PES. Batch virtualization and Cloud computing. Part 1: Batch virtualization. Batch virtualization and Cloud computing

virtualization.info Review Center SWsoft Virtuozzo (for Windows) //

ISPS & WEBHOSTS SETUP REQUIREMENTS & SIGNUP FORM LOCAL CLOUD

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

BlobSeer: Towards efficient data storage management on large-scale, distributed systems

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Context-Aware Optimization in Cloud Management

A Network in a Laptop: Rapid Prototyping for So7ware- Defined Networks

What s new in Hyper-V 2012 R2

White paper. ATCA Compute Platforms (ACP) Use ACP to Accelerate Private Cloud Deployments for Mission Critical Workloads. Rev 01

Google

Distributed RAID Architectures for Cluster I/O Computing. Kai Hwang

HRG Assessment: Stratus everrun Enterprise

Building Embedded Systems

INTRODUCTION TO CLOUD MANAGEMENT

Performance in a Gluster System. Versions 3.1.x

Welcome to the unit of Hadoop Fundamentals on Hadoop architecture. I will begin with a terminology review and then cover the major components

Cluster Implementation and Management; Scheduling

Microsoft Compute Clusters in High Performance Technical Computing. Björn Tromsdorf, HPC Product Manager, Microsoft Corporation

Overview: X5 Generation Database Machines

Running Native Lustre* Client inside Intel Xeon Phi coprocessor

Installing Hadoop over Ceph, Using High Performance Networking

Sun Constellation System: The Open Petascale Computing Architecture

Resource Sizing: Spotfire for AWS

Xen and the Art of. Virtualization. Ian Pratt

IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud

Benchmarking FreeBSD. Ivan Voras

GlusterFS Distributed Replicated Parallel File System

Parallels Cloud Server 6.0 Readme

Applications Manager Best Practices document

Oracle Linux Overview. Presented by: Anuj Verma Title: Senior Pre-Sales Consultant

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

SLURM Resources isolation through cgroups. Yiannis Georgiou Matthieu Hautreux

Transcription:

Kerrighed / XtreemOS cluster flavour Jean Parpaillon Reisensburg Castle Günzburg, Germany July 5-9, 2010 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 1

Summary Kerlabs Context Kerrighed Project Features Deployment July 6th, 2010 Kerrighed - XtreemOS cluster flavour 2

Kerlabs Who we are KERLABS, a spin off from INRIA Kerrighed technology industrialization Kerrighed: a Single System Image at kernel level 3 PhD thesis Founded in 2006 Based in Rennes, France 8 people team Our skills Distributed Operating System Parallel architecture and programming High end interconnection technologies July 6th, 2010 Kerrighed - XtreemOS cluster flavour 3

Kerlabs Our services Expertise Hard, Soft, Network Integration Deployment Services Support Training +200 computing nodes Storage servers Heterogeneous interconnection GbE, 10GbE, Infiniband, Infrastructure Virtual SMP : resources aggregation Applications Tests and validation Parallel development assistance July 6th, 2010 Kerrighed - XtreemOS cluster flavour 4

Context July 6th, 2010 Kerrighed - XtreemOS cluster flavour 5

Grid outlines Provides services on top of distant sites Hiding heterogeneity of Architecture Computing power Memory amount Topology July 6th, 2010 Kerrighed - XtreemOS cluster flavour 6

Let's zoom in! Are all resources equally distant? Can we leverage resources locality? Site A Site B Site C Site D Site E July 6th, 2010 Kerrighed - XtreemOS cluster flavour 7

Let's zoom in! Let's optimize the use of cluster on a given site Site A Site B Site C Site E Site D July 6th, 2010 Kerrighed - XtreemOS cluster flavour 8

Cluster properties A lot of (as far as possible) homogeneous nodes Complex for user: Balancing CPU load Managing memory split between nodes Managing network Complex for admin: Optimizing node use through job scheduler policies Managing users rights, datas, etc. across nodes July 6th, 2010 Kerrighed - XtreemOS cluster flavour 9

Single System Image App App App OS HW SMP: simple / expensive App App App Middleware OS HW OS HW OS HW Cluster: cheap/complex App App App OS SSI HW HW HW SSI (Virtual SMP): simple/cheap Resources abstraction CPU, Memory, Filesystem, Network, etc. An Operating System for clusters July 6th, 2010 Kerrighed - XtreemOS cluster flavour 10

Kerrighed The project July 6th, 2010 Kerrighed - XtreemOS cluster flavour 11

Kerrighed : the project (1) Initiated in PARIS team, IRISA, France in 1999 Directed by Christine Morin Collaboration between INRIA, EDF and Université Rennes 1 3 PhD. thesis Several engineer contracts 30 year * men research 2006 : an open source project Kerlabs foundation in 2005, INRIA spin off External contributions Website, mailing list, bug tracker, etc. Partnership with XtreemOS European Project July 6th, 2010 Kerrighed - XtreemOS cluster flavour 12

Kerrighed : the project (2) From research to industry Public source repository SVN (until 2.4.x) : svn://scm.gforge.inria.fr/svn/kerrighed/trunk Git (from 3.0) : git://git externe.kerlabs.com Mirror : http://mirrors.git.kernel.org Deployment integration Standard compilation tools (autotools) Debian packages, Mandriva OSCAR (not maintained) LiveCD About 700 regression tests LTP + Kerrighed specific tests July 6th, 2010 Kerrighed - XtreemOS cluster flavour 13

Kerrighed Features July 6th, 2010 Kerrighed - XtreemOS cluster flavour 14

Kerrighed in a nutshell Single System Image Operating System Standard Extends Linux kernel Dynamic Transparent load balancing Elastic Node addition/removal Adaptable Fully configurable (with default policies) Reliable Checkpoint/restart July 6th, 2010 Kerrighed - XtreemOS cluster flavour 15

Adaptable All features are not required for all applications Checkpointing... Migration... Some features are even not wanted Checkpointing short application Distribute highly communicating processes July 6th, 2010 Kerrighed - XtreemOS cluster flavour 16

Capabilities : on demand SSI To control what we want to do To control what is allowed to do (basic) Nodes in a cluster Distributed memory machine SMP FT-SMP July 6th, 2010 Kerrighed - XtreemOS cluster flavour 17

Capabilities : inheritance mechanism Each process has 4 sets of capabilities Own permitted (P): capabilities it is allowed to use Own effective (E): capabilities it is using Default permitted for its sons (IP) Default effective for its sons (IE) Father P E IP IE fork Son P E IP IE 10 Juin 2010 Tutoriel Kerrighed 18

Interface Command line interface to modify capabilities : krgcapset [pid] <options> Options show : list process capabilities e effective : set effective capabilities p permitted : set permitted capabilities d inheritable effective : set sons' effective capabilities i inheritable permitted : set sons' permitted capabilities 10 Juin 2010 Tutoriel Kerrighed 19

Feature: static balancing Allow application to fork on distant node Capability: DISTANT_FORK Well suited for short applications P1 P2 P3 P4 10 Juin 2010 Tutoriel Kerrighed 20

Feature: static balancing void main(void) { int nb_sons = 0; int depth = 0; P1 } while (nb_sons!= 2 && depth < 2) { if (fork()) nb_sons++; else { depth++; nb_sons = 0; } } P2 P3 P4 P5 P6 P7 10 Juin 2010 Tutoriel Kerrighed 21

Feature: static balancing void main(void) { int nb_sons = 0; int depth = 0; paraski33% krg_capset -e +DISTANT_FORK paraski33%./fork-test } while (nb_sons!= 2 && depth < 2) { if (fork()) nb_sons++; else { depth++; nb_sons = 0; } } P1 P3 P2 P6 P7 P4 P5 10 Juin 2010 Tutoriel Kerrighed 22

Feature: static balancing void main(void) { int nb_sons = 0; int depth = 0; paraski33% krg_capset -d +DISTANT_FORK paraski33%./fork-test } while (nb_sons!= 2 && depth < 2) { if (fork()) nb_sons++; else { depth++; nb_sons = 0; } } P2 P1 P3 P5 P7 P4 P6 10 Juin 2010 Tutoriel Kerrighed 23

Feature: static balancing void main(void) { int nb_sons = 0; int depth = 0; paraski33% krg_capset -e +DISTANT_FORK paraski33% krg_capset -d +DISTANT_FORK paraski33%./fork-test } while (nb_sons!= 2 && depth < 2) { if (fork()) nb_sons++; else { depth++; nb_sons = 0; } } P2 P1 P3 P5 P6 P4 P7 10 Juin 2010 Tutoriel Kerrighed 24

Feature: process migration (1) Dynamic load balancing Capability: CAN_MIGRATE Adapted to long applications P1 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 25

Feature: process migration (2) Automatic : global (customizable) scheduler Manual : migrate <pid> <nodeid> Cost: Memory: lazy migration Regular files: distributed FS Special files (devices, etc.): File Access Forwarder server Adapted to long applications July 6th, 2010 Kerrighed - XtreemOS cluster flavour 26

Feature: checkpoint/restart (1) Checkpoint: save status of an application Restart: restart an application from checkpoint On the same nodes On different nodes Node X Node Y July 6th, 2010 Kerrighed - XtreemOS cluster flavour 27

Feature: checkpoint/restart (2) Goals Fault tolerance Hardware maintenance Debugging: restart a dead application with a debugger Scheduling: stop an application to free CPU AND memory (unlike SIGSTOP) July 6th, 2010 Kerrighed - XtreemOS cluster flavour 28

Feature: checkpoint/restart (3) Application status Memory, registers Files: relies on 3 rd party tools (cp, filesystems, etc.) Application limits Set of process With a set of files Communicating pipes, sockets, IPC objects Limits evolve through fork(), exit(), open(), close(), mmap(), etc. July 6th, 2010 Kerrighed - XtreemOS cluster flavour 29

Feature: checkpoint/restart (4) Features Support SysV IPC C/R of distributed applications: Kerrighed, OpenMPI Ongoing features Incremental checkpointing Callbacks: inform application of checkpoint/restart Usage Start application with krgcr run(1) Freeze, checkpoint with checkpoint(1), ipccheckpoint(1) Restart, unfreeze with restart(1), ipcrestart(1) July 6th, 2010 Kerrighed - XtreemOS cluster flavour 30

Feature: local resources view Capability: SEE_LOCAL_PROC_STAT Default: cluster wide /proc CPU usage, memory, PIDs, etc. Allows to see local resources Monitoring Isolation... July 6th, 2010 Kerrighed - XtreemOS cluster flavour 31

Feature: memory aggregation Capability: USE_REMOTE_MEMORY Use case: a process needs more memory than available on 1 node Hard disk swap : slooooooowdown! Idea: add another level of memory Use distant nodes memory as a swap P Experimental from 2.4.x Virtual memory Capacity Bandwidth Latency RAM 2 GB ~5 GB/s ~ 50 ns Distant mem (GbE) Distant mem (IB 4x DDR) 16 GB ~120 MB/s ~30 µs 16 GB ~2.5 GB/s ~2 µs Harddisk drive 80 GB ~5 50 MB/s ~ 5 ms Physical memory Distant memory Harddisk + latency, banwidth July 6th, 2010 Kerrighed - XtreemOS cluster flavour 32

Kerrighed containerization (1) Kerrighed issues Integration: processes exists before cluster start and after cluster shutdown Checkpoint/restart: what if pid exists when restarting? QoS: want to control resources attribution Idea: isolation/virtualization Linux containers Lightweight Hierarchical Highly configurable: PID, hostname, mount points, IPC, network, user (todo) July 6th, 2010 Kerrighed - XtreemOS cluster flavour 33

Kerrighed containerization (2) Kerrighed implementation Cluster resources in a container Allow node addition in a live cluster Ongoing features Nodes removal QoS Containers in a Kerrighed container App Root container Root container App App SSI ctnr Root container Root container App App SSI ctnr Root Root container container Root container App SSI ctnr Root container HW HW HW HW HW HW HW HW July 6th, 2010 Kerrighed - XtreemOS cluster flavour 34

Customizable scheduler (1) Goal: balance load on the cluster Process migration Many parameters Classical: CPU load, memory load Others: network, temperature, tokens, etc., etc. Many policies Preemption, etc. Customizable scheduler Through configfs Design schedulers with probes, sink, filters, policies, etc. Apply to group of processes July 6th, 2010 Kerrighed - XtreemOS cluster flavour 35

Customizable scheduler (2) Examples Scheduling tokens On each node a USB key contains tokens Tokens use is heterogeneous Goal: Balance token use Warn admin when tokens stock is low e mailing campaign scheduling Each e mail campaign has its own priority Goal: Balance e mail campaign sending July 6th, 2010 Kerrighed - XtreemOS cluster flavour 36

Deployment (1) Requirements Nodes must share Kerrighed container filesystem Kernel (obviously) Arch Nodes can have different CPUs, memory, network, devices, etc. July 6th, 2010 Kerrighed - XtreemOS cluster flavour 37

Deployment (2) Installation guide: http://kerrighed.org/docs/releases/3.0/install Typical installation outlines Install a distribution in a chroot: debootstrap, etc. Install Kerrighed in this chroot: follow installation guide Share the chroot with NFS: exportfs Serve the kernel (and initrd, eventually) through TFTP Setup bootloader: e.g. pxelinux append ro root=/dev/ram ip=dhcp nfsroot=192.168.122.1:/srv/chroot/kerrighed session_id=1 node_id=1 Kerrighed container is accessible through ssh on port 2222 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 38

Documentation Installation guide http://kerrighed.org/docs/releases/3.0/install INSTALL file in tarball Online man pages: kerrighed(7) krgcapset(1), krgcapset(2), kerrighed_capabilities(7) checkpoint(1), restart(1), ipccheckpoint(1), ipcrestart(1) migrate(1), migrate(2) 10 Juin 2010 Tutoriel Kerrighed 39

Other Resources Kerrighed Website : http://kerrighed.org Mailing lists : kerrighed.dev@listes.irisa.fr, kerrighed.users@listes.irisa.fr IRC : #kerrighed@irc.freenode.net XtreemOS : http://xtreemos.eu OSCAR : http://oscar.openclustergroup.org July 6th, 2010 Kerrighed - XtreemOS cluster flavour 40

Nous contacter... www.kerlabs.com contact@kerlabs.com KERLABS 80, avenue des buttes de coësmes 35000 RENNES FRANCE Tél : +33 6 81 97 23 97 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 41