Kerrighed: use cases. Cyril Brulebois. Kerrighed. Kerlabs



Similar documents
Kerrighed / XtreemOS cluster flavour

Distributed Operating Systems. Cluster Systems

How To Install Linux Titan

PARALLELS SERVER BARE METAL 5.0 README

Web Server Software Architectures

The MOSIX Cluster Management System for Distributed Computing on Linux Clusters and Multi-Cluster Private Clouds

Virtual Private Systems for FreeBSD

Chapter 1: Introduction. What is an Operating System?

Simplest Scalable Architecture

Chapter 10 Case Study 1: LINUX

Hardware/Software Guidelines

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

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

CHAPTER 15: Operating Systems: An Overview

Efficient Load Balancing using VM Migration by QEMU-KVM

Quick Deployment Step-by-step instructions to deploy Oracle Big Data Lite Virtual Machine

Infrastructure for Load Balancing on Mosix Cluster

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Performance Evaluation of Shared Hosting Security Methods

PARALLELS SERVER 4 BARE METAL README

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

Code and Process Migration! Motivation!

SAS 9.4 Intelligence Platform

HDFS. Hadoop Distributed File System

Cloud Server. Parallels. An Introduction to Operating System Virtualization and Parallels Cloud Server. White Paper.

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

How To Write A Checkpoint/Restart On Linux On A Microsoft Macbook (For Free) On A Linux Cluster (For Microsoft) On An Ubuntu 2.5 (For Cheap) On Your Ubuntu 3.5.2

Virtualization in Linux

Intro to Virtualization

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Load Balancing in Beowulf Clusters

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

openmosix Live free() or die() A short intro to HPC Kris Buytaert buytaert@stone-it.be First Prev Next Last Go Back Full Screen Close Quit

Network Attached Storage. Jinfeng Yang Oct/19/2015

PARALLELS CLOUD SERVER

MOSIX: High performance Linux farm

wu.cloud: Insights Gained from Operating a Private Cloud System

OPERATING SYSTEMS Software in the Background. Chapter 2

October Gluster Virtual Storage Appliance User Guide

3 - Introduction to Operating Systems

Microsoft s Advantages and Goals for Hyper-V for Server 2016

Chapter 1 - Web Server Management and Cluster Topology

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Product Overview. Initial Seeding

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

CA Nimsoft Monitor. Probe Guide for Apache HTTP Server Monitoring. apache v1.5 series

Parallels Desktop 4 for Windows and Linux Read Me

IP Interface for the Somfy Digital Network (SDN) & RS485 URTSII

Parallels Virtuozzo Containers 4.7 for Linux Readme

Automatic load balancing and transparent process migration

HP OpenView Storage Data Protector

A Comparison of Distributed Systems: ChorusOS and Amoeba

Red Hat Enterprise linux 5 Continuous Availability

OpenSAF A Standardized HA Solution

Guangzhou Macau Hong Kong Shanghai Beijing

DMTCP: Bringing Checkpoint-Restart to Python

These sub-systems are all highly dependent on each other. Any one of them with high utilization can easily cause problems in the other.

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

GraySort on Apache Spark by Databricks

CHAPTER FIVE RESULT ANALYSIS

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

2009 Ing. Punzenberger COPA-DATA GmbH. All rights reserved.

LSN 10 Linux Overview

Scalability and Performance with Apache 2.0

Audit & Tune Deliverables

OS Thread Monitoring for DB2 Server

Improved metrics collection and correlation for the CERN cloud storage test framework

Cloud Computing with Red Hat Solutions. Sivaram Shunmugam Red Hat Asia Pacific Pte Ltd.

Parallel Computing with Mathematica UVACSE Short Course

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Amoeba Distributed Operating System

PLANNING FOR LOAD BALANCING IN V.M. ADAPTING THE CHANGES IN LOAD DYNAMICALLY USING CENTRAL JOB DISPATCHER

A Look through the Android Stack

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

International Journal of Computer & Organization Trends Volume20 Number1 May 2015

Two Novel Server-Side Attacks against Log File in Shared Web Hosting Servers

Stretching A Wolfpack Cluster Of Servers For Disaster Tolerance. Dick Wilkins Program Manager Hewlett-Packard Co. Redmond, WA dick_wilkins@hp.

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

Red Hat Enterprise Linux 6. Stanislav Polášek ELOS Technologies

Operating System Software

High Availability Solutions for the MariaDB and MySQL Database

Avoiding Performance Bottlenecks in Hyper-V

Backup and Restore the HPOM for Windows 8.16 Management Server

Networks. Inter-process Communication. Pipes. Inter-process Communication

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

AN APPLICATION OF INFORMATION RETRIEVAL IN P2P NETWORKS USING SOCKETS AND METADATA

Table of Contents Introduction and System Requirements 9 Installing VMware Server 35

CYCLOPE let s talk productivity

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

JOB ORIENTED VMWARE TRAINING INSTITUTE IN CHENNAI

Chapter 4. System Software. What You Will Learn... Computers Are Your Future. System Software. What You Will Learn... Starting the Computer

Enterprise Manager. Version 6.2. Administrator s Guide

Scalable Cluster Computing with MOSIX for LINUX

Transcription:

Kerrighed: use cases Cyril Brulebois cyril.brulebois@kerlabs.com Kerrighed http://www.kerrighed.org/ Kerlabs http://www.kerlabs.com/ 1 / 23

Introducing Kerrighed What s Kerrighed? Single-System Image (SSI) cluster system Patched Linux kernel, plus userland tools Started at INRIA in 1999, collaboration with University of Rennes 1 and EDF Since 2006, mainly developed by Kerlabs, an INRIA spin-off Released under the GPL Last releases: Kerrighed 2.4.4, based on Linux 2.6.20 (January 29th, 2010) Kerrighed 3.0.0, based on Linux 2.6.30 (June 14th, 2010) 2 / 23

What s new? What s planned? Memory CPU IPC Network C/R Misc Sharing Injection Process migration Thread migration Pool of threads migration Configurable scheduler SysV POSIX Migratable streams Cluster IP High performance Single process Applications Open files File substitution IPC Node hotplug v2.4.4 v3.0.0 in 2011 3 / 23

Managing nodes (1/2) To manage cluster and nodes, a single command: krgadm. # krgadm cluster status status: up on 4 nodes # krgadm nodes status 1:online 2:online 3:online 4:online 5:present 6:present 7:present 8:present 4 / 23

Managing nodes (2/2) Adding 2 nodes: # krgadm nodes add --count 2 Waiting for 2 nodes to join... done Adding nodes [5,6]... done # krgadm cluster status status: up on 6 nodes Adding 2 nodes, in a different way: # krgadm nodes add --total 8 Waiting for 2 nodes to join... done Adding nodes [7,8]... done # krgadm cluster status status: up on 8 nodes 5 / 23

Managing features Use of capabilities to turn Kerrighed features on/off as appropriate. Examples: krgcapset -d +DISTANT_FORK krgcapset --pid 6291711 -e +CAN_MIGRATE Also possible through libkerrighed. Most common capabilities: DISTANT FORK: may fork remotely. CAN MIGRATE: may be migrated while running. CHECKPOINTABLE: may be checkpointed. SEE LOCAL PROC STAT: only see local resources. 6 / 23

1. Introducing Kerrighed What s Kerrighed? What s new? What s planned? Managing nodes Managing features 2. Load balancing Use case 1: build platform Use case 2: network computing Use case 3: distributed rendering Use case 4: webservers Use case 5: parallel computing Use case 6: LTSP There s more! 3. Checkpoint/restart Use case 1: long running computations Use case 2: playing with sockets 7 / 23

Use case 1: build platform Setup: $C cores Capability: DISTANT FORK Trivial: make -j$c 8 / 23

Use case 2: network computing Capabilities: DISTANT FORK and/or CAN MIGRATE Example: BOINC (Berkeley project), running @home, PrimeGrid, etc. How: Just start BOINC! It runs as many children as there are cores. It starts new children as they return. 9 / 23

Use case 3: distributed rendering Setup: $C cores Capabilities: DISTANT FORK and/or CAN MIGRATE Example: Blender, rendering a 1 $N frame range. How: Blender is able to render frames by batch, either a single frame at once, or a frame range. blender -b foo.blender -F PNG -o //render_####.png -f $i 10 / 23

Naive approach Trivial implementation: Spawn $C processes. Wait for all of them to return. Back to spawning until the last frame is rendered. Issue: if some frames are quicker to render than others, the global wait will leave some cores idle. 11 / 23

Smarter approach A more efficient implementation: Spawn $C processes. Wait for one of them to return. Spawn a new process unless the last frame has been reached. Back to waiting. That ensures $C processes running all the time until the end, almost no idling. Many other renderers and mostly anything scriptable can be run this way, with this single and simple job scheduler. No need for complex client/server solutions. 12 / 23

Use case 4: webservers Capabilities: DISTANT FORK and/or CAN MIGRATE Example: Apache MPM worker (Multi-Processing Module), prefork version (non-threaded, pre-forking). Drawback: Socket handling. Short-term solution: Enable an extra capability to have all sockets listen on a given node, which acts as an entry point. Long-term solution: Use cluster IP. 13 / 23

Use case 5: parallel computing Capabilities: DISTANT FORK and/or CAN MIGRATE Example: R and its multicore package. Code: Replace %do% with %dopar% library("domc") registerdomc() x <- foreach(i=1:42) %dopar% svd(matrix(rnorm(1000*1000),ncol=1000)) Cores are automatically detected, but the worker count can be tweaked by calling: options(nodes=42) 14 / 23

Use case 6: LTSP Capabilities: DISTANT FORK and/or CAN MIGRATE Example: Run one VNC server per user on the first node. Launched applications get load-balanced over the whole cluster. Possible issue with desktop environments: Heavy use of local networking services (e.g. D-Bus). Possible solutions: Same as the web servers use case: use an extra capability to direct all sockets to a given node. Cluster IP? Probably a bit more complex: loopback, global address space for UNIX sockets, etc. 15 / 23

There s more! Schedulers for DISTANT FORK and CAN MIGRATE can be tweaked, extended, or replaced. Configurable through configfs, thanks to: Probes (e.g. free RAM). Filters (e.g. reaching some threshold). Policies. Process sets and node sets. Some possible policies, in addition to load balancing: Swap avoidance Disk I/O balancing Slightly more complex: keep interactive applications local, move others away, and welcome them back when there are no more interactive applications (use case: Network of Workstations in universities). 16 / 23

1. Introducing Kerrighed What s Kerrighed? What s new? What s planned? Managing nodes Managing features 2. Load balancing Use case 1: build platform Use case 2: network computing Use case 3: distributed rendering Use case 4: webservers Use case 5: parallel computing Use case 6: LTSP There s more! 3. Checkpoint/restart Use case 1: long running computations Use case 2: playing with sockets 17 / 23

Use case 1: long running computations Why: Even with parallel algorithms running on powerful clusters, computations can take hours, days, weeks, or more. Checkpoint/Restart useful in case of hardware failures, system errors, etc. Example: R. How: Either enable the CHECKPOINTABLE capability, or use a wrapper which also creates a new session for the program to be checkpointed: krgcr-run -- R Create a checkpoint every hour: while :; do checkpoint $(pgrep R head -1); sleep 3600; done 18 / 23

Step by step (1/2) Starting: $ krgcr-run R Running application 6291648 R version 2.11.1 (2010-05-31) [...] > Checkpointing: $ checkpoint 6291648 Freezing application in which process 6291648 is involved... Checkpointing application in which process 6291648 is involved... Identifier: 6291648 Version: 1 Description: No description Date: Thu Jul 8 22:54:06 2010 Unfreezing application in which process 6291648 is involved... 19 / 23

Step by step (2/2) Contents of the checkpoint: $ ls /var/chkpt/6291648/v1/ description.txt node_1.bin task_6291648.bin global.bin shared_obj_1.bin user_info_1.txt Restarting: $ restart 6291648 1 Restarting application 6291648 (v1)... Application 6291648 has been successfully restarted 20 / 23

Use case 2: playing with sockets Problem: checkpointing sockets isn t supported yet. Solution: Force checkpointing: -i option for checkpoint. Use file descriptor substitution. Plugging a given file descriptor on a given checkpoint identifier: $ cat /var/chkpt/6291711/v1/user_info_1.txt tty 0001FFFF88003ED8AC48 /dev/pts/1 6291711:0,6291711:1,6291711:2 socket 0001FFFF88007E5F3168 socket:[162646] 6291711:3 $ restart -s 0001FFFF88007E5F3168,0 6291711 1 Restarting application 6291711 (v1)... Application 6291711 has been successfully restarted Future: Use that to restore the Unix socket to the X server? 21 / 23

Conclusion Kerrighed s strong features right now: Stability Flexibility Can be configured/tweaked to suit specific needs General solution for many common use cases Kerrighed s next features (short to mid-term): Performance More flexibility Partial thread support 22 / 23

The end Thanks for your attention! Questions? A few pointers: Want to play? http://www.kerrighed.org/ Want to talk? kerrighed.{users,dev}@listes.irisa.fr #kerrighed on Freenode Want to apply for a nice job? contact@kerlabs.com 23 / 23