SSI-OSCAR Single System Image - Open Source Cluster Application - - PowerPoint PPT Presentation

ssi oscar
SMART_READER_LITE
LIVE PREVIEW

SSI-OSCAR Single System Image - Open Source Cluster Application - - PowerPoint PPT Presentation

2006 OSCAR Symposium St. John's, Newfoundland, Canada May 17, 2006 SSI-OSCAR Single System Image - Open Source Cluster Application Resources Geoffroy Valle, Thomas Naughton and Stephen L. Scott


slide-1
SLIDE 1

SSI-OSCAR

Single System Image - Open Source Cluster Application Resources

Geoffroy Vallée, Thomas Naughton and Stephen L. Scott

Oak Ridge National Laboratory, Oak Ridge, TN, USA

2006 OSCAR Symposium St. John's, Newfoundland, Canada May 17, 2006

slide-2
SLIDE 2

Tutorial Structure

  • OSCAR Overview

– Brief background and project overview – Highlight core tools leveraged by OSCAR – Describe the extensible package system – Summary of “spin-off” projects

  • SSI-OSCAR

– Presentation of SSI concept – Overview of the Kerrighed SSI – Overview of SSI-OSCAR Package

slide-3
SLIDE 3

OSCAR Project Overview

slide-4
SLIDE 4

OSCAR Background

  • Concept first discussed in January 2000
  • First organizational meeting in April 2000

– Cluster assembly is time consuming & repetitive – Nice to offer a toolkit to automate

  • First public release in April 2001
  • Use “best practices” for HPC clusters

– Leverage wealth of open source components – Target modest size cluster (single network switch)

  • Form umbrella organization to oversee cluster efforts

– Open Cluster Group (OCG)

slide-5
SLIDE 5

Open Cluster Group

  • Informal group formed to make cluster computing more

practical for HPC research and development

  • Membership is open, direct by steering committee

– Research/Academic – Industry

  • Current active working groups

– [HPC]-OSCAR – Thin-OSCAR (diskless) – HA-OSCAR (high availability) – SSI-OSCAR (single system image) – SSS-OSCAR (Scalable Systems Software)

slide-6
SLIDE 6

OSCAR Core Organizations

slide-7
SLIDE 7

What does OSCAR do?

  • Wizard based cluster software installation

– Operating system

– Cluster environment

  • Automatically configures cluster components
  • Increases consistency among cluster builds
  • Reduces time to build / install a cluster
  • Reduces need for expertise
slide-8
SLIDE 8

Design Goals

  • Reduce overhead for cluster management

– Keep the interface simple – Provide basic operations of cluster software & node administration – Enable others to re-use and extend system – deployment tool

  • Leverage “best practices” whenever possible

– Native package systems – Existing distributions – Management, system and applications

  • Extensibility for new Software and Projects

– Modular meta-package system / API – “OSCAR Packages” – Keep it simple for package authors – Open Source to foster reuse and community participation – Fosters “spin-offs” to reuse OSCAR framework

slide-9
SLIDE 9

OSCAR Wizard

slide-10
SLIDE 10

Open Source Cluster Application Resources

Step 1 Start… Step 2 Step 3 Step 4 Step 5 Step 7 Step 8 Done! Step 6

slide-11
SLIDE 11

OSCAR Core

slide-12
SLIDE 12

OSCAR Components

  • Administration/Configuration

– SIS, C3, OPIUM, Kernel-Picker & cluster services (dhcp, nfs, ntp, ...) – Security: Pfilter, OpenSSH

  • HPC Services/Tools

– Parallel Libs: MPICH, LAM/MPI, PVM – OpenPBS/MAUI – HDF5 – Ganglia, Clumon, … [monitoring systems] – Other 3rd party OSCAR Packages

  • Core Infrastructure/Management

– System Installation Suite (SIS), Cluster Command & Control (C3), Env- Switcher – OSCAR DAtabase (ODA), OSCAR Package Downloader (OPD)

slide-13
SLIDE 13

System Installation Suite (SIS)

Enhancement suite to the SystemImager tool. Adds SystemInstaller and SystemConfigurator

  • SystemInstaller – interface to installation, includes a stand-alone

GUI – Tksis. Allows for description based image creation.

  • SystemImager – base tool used to construct & distribute machine

images.

  • SystemConfigurator – extension that allows for on-the-fly style

configurations once the install reaches the node, e.g. ‘/etc/modules.conf’.

slide-14
SLIDE 14

System Installation Suite (SIS)

  • Used in OSCAR to install nodes

– partitions disks, formats disks and installs nodes

  • Construct “image” of compute node on headnode

– Directory structure of what the node will contain – This is a “virtual”, chroot–able environment /var/lib/systemimager/images/oscarimage/etc/ …/usr/

  • Use rsync to copy only differences in files, so can be

used for cluster management

– maintain image and sync nodes to image

slide-15
SLIDE 15

C3 Power Tools

  • Command-line interface for cluster system

administration and parallel user tools.

  • Parallel execution cexec

– Execute across a single cluster or multiple clusters at same time

  • Scatter/gather operations cpush / cget

– Distribute or fetch files for all node(s)/cluster(s)

  • Used throughout OSCAR and as underlying

mechanism for tools like OPIUM’s useradd enhancements.

slide-16
SLIDE 16

C3 Power Tools

Example to run hostname on all nodes of default cluster:

$ cexec hostname

Example to push an RPM to /tmp on the first 3 nodes

$ cpush :1-3 helloworld-1.0.i386.rpm /tmp

Example to get a file from node1 and nodes 3-6

$ cget :1,3-6 /tmp/results.dat /tmp

slide-17
SLIDE 17

Switcher

  • Switcher provides a clean interface to edit

environment without directly tweaking .dot files.

– e.g. PATH, MANPATH, path for ‘mpicc’, etc.

  • Edit/Set at both system and user level.
  • Leverages existing Modules system
  • Changes are made to future shells

– To help with “foot injuries” while making shell edits – Modules already offers facility for current shell manipulation, but no persistent changes.

slide-18
SLIDE 18

OSCAR DAtabase (ODA)

  • Used to store OSCAR cluster data
  • Currently uses MySQL as DB engine
  • User and program friendly interface for database

access

  • Capability to extend database commands as

necessary.

slide-19
SLIDE 19

OSCAR Package Downloader (OPD)

Tool to download and extract OSCAR Packages.

  • Can be used for timely package updates
  • Packages that are not included, i.e. “3rd Party”
  • Distribute packages with licensing constraints.
slide-20
SLIDE 20

OSCAR Packages

slide-21
SLIDE 21

OSCAR Packages

  • Simple way to wrap software & configuration

– “Do you offer package Foo-bar version X?”

  • Basic Design goals

– Keep simple for package authors – Modular packaging (each self contained) – Timely release/updates

  • Leverage RPM + meta file + scripts, tests, docs, …

– Recently extended to better support RPM, Debs, etc.

  • Repositories for downloading via OPD/OPDer
slide-22
SLIDE 22

Package Directory Structure

All “included” packages are in $OSCAR_HOME/packages/ directory with OPD acquired in $OSCAR_PACKAGE_HOME

config.xml

  • meta file w/ list of files to install

doc/

  • user.tex, license.tex

distro/

  • distro specific binary packages(s)

RPMS/

  • [deprecated] binary packages(s)

scripts/

  • API scripts

SRPMS/

  • source rpm(s)
slide-23
SLIDE 23

Example Package – C3

  • Pre-built C3 software in RPMS/ directory,

– update: place in distro/<dist-abbrev>

  • Userguide & Installation details in doc/
  • C3 source package in SRPMS/
  • Generate configuration file, /etc/c3.conf, using

scripts/post_clients

  • List metadata and installation files with target location

(server/client) in config.xml

slide-24
SLIDE 24

OSCAR Summary

  • Framework for cluster management

– simplifies installation, configuration and operation – reduces time/learning curve for cluster build

  • requires: pre-installed headnode w. supported Linux distribution
  • thereafter: wizard guides user thru setup/install of entire cluster
  • Package-based framework

– Content: Software + Configuration, Tests, Docs – Types:

  • Core: SIS, C3, Switcher, ODA, OPD, APItest, Support Libs
  • Non-core: selected & third-party (PVM, LAM/MPI, Toque/Maui,...)

– Access: repositories accessible via OPD/OPDer

slide-25
SLIDE 25

OSCAR “flavors”

slide-26
SLIDE 26
  • OSCAR is a snap-shot of best-known-methods for building, programming

and using clusters of a “reasonable” size.

  • To bring uniformity to clusters, foster commercial versions of OSCAR, and

make clusters more broadly acceptable.

  • Consortium of research, academic & industry members cooperating in the

spirit of open source.

The OSCAR strategy

Other OSCAR Flavors HA-OSCAR, Thin- OSCAR, SSS- OSCAR, SSI-OSCAR

Open Source OSCAR with Linux Commercially supported Value added instantiations of OSCAR

slide-27
SLIDE 27

NEC Enhanced OSCAR

slide-28
SLIDE 28

NEC's OSCAR-Pro

  • OSCAR'06 Keynote by Erich Focht

– leverage open source tool – two approaches for re-uses: fork / join

  • Commercial enhancements

– integrate additions when applicable – feedback and direction based on user needs

slide-29
SLIDE 29

High-Availability OSCAR

slide-30
SLIDE 30

HA-OSCAR:

  • The first known field-grade
  • pen source HA Beowulf

cluster release

  • Self-configuration Multi-head

Beowulf system

  • HA and HPC clustering

techniques to enable critical HPC infrastructure

  • Services:

Active/ Hot Standby

  • Self-healing with 3-5 sec

automatic failover time

RAS Management for HPC cluster: Self-Awareness

slide-31
SLIDE 31

Diskless OSCAR

slide-32
SLIDE 32

Thin-OSCAR

  • First released in 2003
  • Why diskless – disks are problems…

– costs: initial, power, heat, failures

  • Root RAM technique

– uses ram disks (/dev/ramXX) – compressed RAM disk image transferred by network at each boot – minimal system in RAM (~20Mb)

  • Root RAM advantages over NFS

– less network traffic for the os – uses ram only in the exact size of files – less stress on the server – images are accessed read only – nodes more independent from the server

slide-33
SLIDE 33

Scalable System Software OSCAR

slide-34
SLIDE 34

Scalable System Software

  • Problems

– Computer centers use incompatible, ad hoc set of systems tools – Tools are not designed to scale to multi-Teraflop systems – Duplication of work to try and scale tools – System growth vs. Administrator growth

  • Goals

– Define standard interfaces for system components – Create scalable, standardized management tools – (Subsequently) reduce costs & improve efficiency at centers

  • Participants

– DOE Labs: ORNL, ANL, LBNL, PNNL, SNL, LANL, Ames – Academics: NCSA, PSC, SDSC – Industry: IBM, Cray, Intel, SGI

slide-35
SLIDE 35

SSS Project Overview

  • Map out functional areas

– Schedulers, Job Mangers – System Monitors – Accounting & User management – Checkpoint/Restart – Build & Configuration systems

  • Standardize the system interfaces

– Open forum of universities, labs, industry reps – Define component interfaces in XML – Develop communication infrastructure

slide-36
SLIDE 36

Accounting Event Manager Service Directory Meta Scheduler Meta Monitor Meta Manager Scheduler Node State Manager Allocation Management Process Manager Usage Reports System & Job Monitor Job Queue Manager Node Configuration & Build Manager

authentication communication Checkpoint / Restart

Hardware Infrastructure Manager Meta Services Node State Manager

Components written in any mixture of C, C++, Java, Perl, and Python can be integrated into the Scalable Systems Software Suite Standard XML Interfaces

slide-37
SLIDE 37

SSS-OSCAR Components

  • Bamboo – Queue/Job Manager
  • BLCR – Berkeley Checkpoint/Restart
  • Gold – Accounting & Allocation Management System
  • LAM/MPI (w/ BLCR) – Checkpoint/Restart enabled MPI
  • MAUI-SSS – Job Scheduler
  • SSSLib – SSS Communication library

– Includes: SD, EM, PM, BCM, NSM, NWI

  • Warehouse – Distributed System Monitor
  • MPD2 – MPI Process Manager
slide-38
SLIDE 38

Single System Image OSCAR

slide-39
SLIDE 39

Motivation

  • OSCAR benefits

– Ease cluster installation and management – Setup a traditional Beowulf cluster

  • Parallel application runtime/middle-ware (MPI, PVM)
  • Notion of headnode (e.g. central management of the

distributed file system)

  • But how?

– execute legacy applications not designed for

clusters (shared memory applications)

– execute sequential application designed for large

servers

slide-40
SLIDE 40

Motivations (2)

  • One approach: resource abstraction

adapted to application needs

  • Some examples

– shared memory applications

  • abstraction of the memory (via a software distributed

memory)

  • abstraction of the process/thread scheduling

– sequential application needing out-of-core

computation: abstraction of the memory

slide-41
SLIDE 41

SSI - Single System Image

  • Global management of distributed

resources: memory, disk, CPU, network

  • Create an abstraction of resources
  • Ultimate SSI: vision of an SMP machine

– one single huge memory – a set of local processors – a single file system

slide-42
SLIDE 42

SSI-OSCAR

  • Combine benefits of both OSCAR and SSIs

– ease the installation and management of the cluster – ease the use of the cluster

  • Integration of Kerrighed

– SSI at the kernel level – extension of the Linux kernel – developed in France, IRISA/INRIA in collaboration

with EDF and DGA

slide-43
SLIDE 43

Single System Image - Implementation

  • Different approached are possible for the

implementation of SSIs User level: middle-ware Kernel level: OS Hardware level

Limitations for functionalities and efficiency (e.g. CONDOR) Complex to develop and maintain (e.g. OpenMOSIX, Kerrighed) More expensive (e.g. SGI)

slide-44
SLIDE 44

SSI at the Kernel Level

  • Implies the implementation of 4 different

features

– global management of the memory – global management of processes/threads – global management of disks – global management of network communications

  • We will detail these features
slide-45
SLIDE 45

Global Memory Management

  • Goal: Extend traditional memory management

cluster scale

Memory

Node 1

Thread 1 Thread 2 x

slide-46
SLIDE 46

Global Memory Management

  • Goal: Extend traditional memory management

cluster scale

Memory

Node 1

Thread 1 Thread 2 x read/write

slide-47
SLIDE 47

Global Memory Management

  • Goal: Extend traditional memory management

cluster scale

Memory

Node 1

Thread 1 Thread 2 x read/write read/write

slide-48
SLIDE 48

Global Memory Management

  • Goal: Extend traditional memory management

cluster scale

Memory

Node 1

Thread 1 Thread 2 x read/write

Node 2

Memory

Thread 3 read/write? read/write

slide-49
SLIDE 49
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory

slide-50
SLIDE 50
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x

slide-51
SLIDE 51
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x read

slide-52
SLIDE 52
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x read

slide-53
SLIDE 53
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x read x

slide-54
SLIDE 54
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x x read

slide-55
SLIDE 55
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x x read x

slide-56
SLIDE 56

Thread 2

  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 3 Software Distributed Shared Memory x x x write

slide-57
SLIDE 57
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x write x x

INV INV

slide-58
SLIDE 58
  • Software Distributed Shared Memory

Global Memory Management

Memory

Node 1 Node 2

Memory

Thread 1 Thread 2 Thread 3 Software Distributed Shared Memory x x x write

INV INV

x=6

slide-59
SLIDE 59

Load Balancing: Introduction

  • We want to have a efficient cluster use

– High application throughput – Efficient resource use

Find a good repartition of application into the cluster to use in the best way resources

  • Control of processes/threads during the

application deployment and execution

slide-60
SLIDE 60

Load Balancing

Node 1 Node 2 Node 4 Node 3 (1) What is the cluster state ?

slide-61
SLIDE 61

Load Balancing

Node 1 Node 2 Node 4 Node 3 (1) What is the cluster state ?

slide-62
SLIDE 62

Load Balancing

Node 1 Node 2 Node 4 Node 3 (2) When schedule processes ? (1) What is the cluster state ?

slide-63
SLIDE 63

Load Balancing

Node 1 Node 2 Node 4 Node 3 (3) What process can be scheduled ? (2) When schedule processes ? (1) What is the cluster state ?

slide-64
SLIDE 64

Load Balancing

Node 1 Node 2 Node 4 Node 3 (3) What process can be scheduled ? (2) When schedule processes ? (1) What is the cluster state ?

slide-65
SLIDE 65

Load Balancing

Node 1 Node 2 Node 4 Node 3 (4) On which node the process can be scheduled ? (3) What process can be scheduled ? (2) When schedule processes ? (1) What is the cluster state ?

slide-66
SLIDE 66

Load Balancing

Node 1 Node 2 Node 4 Node 3 (4) On which node the process can be scheduled ? (3) What process can be scheduled ? (2) When schedule processes ? (1) What is the cluster state ?

slide-67
SLIDE 67

Load Balancing

Node 1 Node 2 Node 4 Node 3 (4) On which node the process can be scheduled ? (3) What process can be scheduled ? (2) When schedule processes ? (1) What is the cluster state ?

slide-68
SLIDE 68

Kerrighed: an SSI at the Kernel Level

slide-69
SLIDE 69

The Kerrighed Project

  • Aims at globally manage all resources: CPU,

memory, disk, IPC

  • Developed in France, IRISA/INRIA, in

collaboration with EDF and DGA

  • KerLabs has been created to support Kerrighed
  • Part of the European Project XtreemOS
slide-70
SLIDE 70

Global Resource Management in Kerrighed

  • Based on the idea of the extension of existing

mechanisms

– limits modifications inside the kernel – keep the same interfaces most of the time

  • To explain that, we will detail two examples

– global file management – global process management

slide-71
SLIDE 71

File Management in Linux

File System File cache Disk manager

Read

slide-72
SLIDE 72

File Management in Linux

File System File cache Disk manager

Read Lookup_page

slide-73
SLIDE 73

File Management in Linux

File System File cache Disk manager

Read Read_page Lookup_page

slide-74
SLIDE 74

File Management in Linux

File System File cache Disk manager

Write Read Read_page Lookup_page

slide-75
SLIDE 75

File Management in Linux

File System File cache Disk manager

Write_page Write Read Read_page Lookup_page

slide-76
SLIDE 76

File Management and Containers

File System Disk Manager

Write Read

Container

slide-77
SLIDE 77

File Management and Containers

File System Disk Manager

Write Read

File Interface Linker

Lookup_page Grab_Page Get_Page

Container

slide-78
SLIDE 78

File Management and Containers

File System Disk Manager

Write Read

File Interface Linker

Lookup_page Grab_Page Get_Page

Container

File I/O Linker

First_Touch Invalidate_Page Write_page Read_page

slide-79
SLIDE 79

Containers Architecture

Container

Resource manager System Service System Service Interface Linker Interface Linker I/O Linker

Memory

slide-80
SLIDE 80

Containers Overview

  • Share object cluster wide and transparently
  • May be used for the implementation

– distributed file system – parallel file system – RAID file system – software distributed shared memory – distributed cache – remote memory allocation – etc.

slide-81
SLIDE 81

Global Process Management

  • We need to be able to extract a process/thread

and move it somewhere else (another node, disk, memory)

  • Concept of process extraction / process

abstraction

– process image – simple interfaces to manipulate processes cluster

wide => concept of ghost process

slide-82
SLIDE 82

Inside the Linux Kernel

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Physical pages Memory image Text Data Stack d_inode d_inode Socket i_pipe Socket i_pipe File Dentry Inode d_inode Socket i_pipe NIC

slide-83
SLIDE 83

Inside the Linux Kernel

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Physical pages Memory image Text Data Stack d_inode d_inode Socket i_pipe Socket i_pipe File Dentry Inode d_inode Socket i_pipe NIC

Process Meta Data Process Data

slide-84
SLIDE 84

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Physical pages Memory image Text Data Stack Dentry Inode d_inode d_inode d_inode Socket i_pipe Socket i_pipe Socket i_pipe File NIC

Inside the Linux Kernel (2)

slide-85
SLIDE 85

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Physical pages Memory image Text Data Stack Dentry Inode d_inode d_inode d_inode Socket i_pipe Socket i_pipe Socket i_pipe File NIC

Inside the Linux Kernel (2)

slide-86
SLIDE 86

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Dentry Inode d_inode d_inode d_inode Socket i_pipe Socket i_pipe Socket i_pipe File NIC

Inside the Linux Kernel (2)

slide-87
SLIDE 87

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty Dentry Inode d_inode d_inode d_inode Socket i_pipe Socket i_pipe Socket i_pipe File NIC

Container Container

Inside the Linux Kernel (2)

slide-88
SLIDE 88

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty

Container Container

Inside the Linux Kernel (2)

slide-89
SLIDE 89

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty

Container Container Container

Inside the Linux Kernel (2)

slide-90
SLIDE 90

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty

Container Container Container

Inside the Linux Kernel (2)

KerNet Pipe

slide-91
SLIDE 91

task_struct Mm Mm_struct mmap Vm_area_struct mmap_cache File_struct File_fd File File * fd_array files Vm_end Vm_file Vm_end Vm_file Vm_start Vm_start Pid p_ysptr task_struct Pid task_struct Pid p_pptr Tty

Container Container Container

Inside the Linux Kernel (2)

KerNet Pipe KerNet Socket

slide-92
SLIDE 92

The SSI-OSCAR Package

slide-93
SLIDE 93

SSI-OSCAR Package Creation

  • 4 steps

– create binary packages: kernel, modules, tools,

includes

– create configuration scripts: pre/post-install – integrate OSCAR tests & documentation – create the XML config file

=> OSCAR packages

slide-94
SLIDE 94

OPKG Creation – Binary Packages

  • Ease the software integration
  • Guarantee coherency regarding your Linux

distribution

  • Package list

– kernel – module – lib – headers – tools

slide-95
SLIDE 95

OPKG Creation - Scripts

  • Pre-installation script

– add the Kerrighed into the image – based on kernel_picker (OSCAR tool)

  • Post-installation script: Create configuration

files for Kerrighed

– based on the compute node list – adapted to your cluster configuration

slide-96
SLIDE 96

SSI-OSCAR Installation Process

  • Download, select and configure the package (OSCAR

step 0, 1, and 2)

  • Install the package on the headnode (OSCAR step 3)

– install the Kerrighed kernel

  • Create the image w/ Kerrighed libs, modules, and

tools (OSCAR step 4)

  • Run the pre-install script (OSCAR step 4)

– add the kernel into the image

  • Run the post-install script (OSCAR step 7)

– create configuration files

slide-97
SLIDE 97

Resources

  • SSI-OSCAR websit http://ssi-oscar.gforge.inria.fr/
  • Kerrighed website http://www.kerrighed.org/
  • KerLabs website http://www.kerlabs.com/
  • OSCAR website http://oscar.openclustergroup.org/

OSCAR Research supported by the Mathematics, Information and Computational Sciences Office, Office of Advanced Scientific Computing Research, Office of Science, U. S. Department of Energy, under contract No. DE-AC05-00OR22725 with UT-Battelle, LLC.