SlideShare a Scribd company logo
HKG18-419: OpenHPC on Ansible
- Easier deployment with Ansible -
Renato Gloin and Takeharu Kato, HPC
Outline
● What OpenHPC is
● The Problem - OpenHPC has no Configuration Management System
● What Ansible is
● OpenHPC + Ansible = OpenHPC deployment easier
● Future work
OpenHPC
● OpenHPC is a collaborative, community effort that initiated from a desire to
aggregate a number of common ingredients required to deploy and manage
High Performance Computing (HPC) Linux clusters including provisioning
tools, resource management, I/O clients, development tools, and a variety of
scientific libraries.
○ http://www.openhpc.community/
● OpenHPC packages are build on the Open Build System
○ https://build.openhpc.community/
● Packages hosted on GitHub
○ https://github.com/openhpc/ohpc
OpenHPC Deployments Today
● A recipe with all rules described in the official documents
● LaTex snippets containing shell code
● Are converted and merged into a (OS-dependent) bash script
● Plus a input.local file, with some cluster-specific configuration
OpenHPC Recipe - Problems
● The input.local file exports shell variables, and don’t have enough information
○ Not all parts of the script are correctly conditionalized based on those options
○ Most people that use those scripts, heavily modify them
○ Others do in a completely different way
● The recipe.sh is not idempotent
○ It modifies the contents of root config files using Perl and regex
○ It echoes lines at the end of config files
○ It sets up networking and services that can’t be set twice (moving files around)
● Extensibility is impossible without editing the files
○ It neither has everything (conditionalized), nor has external hooks to add local rules
○ We need to at least edit the input.local configuration, which needs to be kept and updated
OpenHPC Recipe - Attempted Solutions
● We tried to change the scripts to conditionalize everything
○ Split into different scripts, one for each chapter
○ Heavily modified the input.local file
○ Automation (or people, manually), can run only selected scripts
● Problems
○ We created yet another layer (bash_local), which sets up input.local
○ Still using environment variables
○ We haven’t tested every possible scenario, no idea if it would work elsewhere… :(
● Why reinvent the wheel?
○ After long discussion with the communities, folks were quite happy to properly automate it
○ Ansible wasn’t the only solution people were using, but was by far the most popular
○ So we’re having a go with Ansible…
○ With the high hopes of moving the upstream deployments and other community builds to it
Biggest Obstacle in OpenHPC Deployment
● Lack of ``Configuration Management System’' (CMS)
➔A kind of CMS is needed to build various HPC clusters easy.
OpenHPC + Ansible = Easier Deployment
● What Ansible is
A simple automation language which can describe the structure and configuration of IT
infrastructure with Ansible playbook(YAML).
● The reasons why Ansible is the best solution for the OpenHPC deployment
● The most promising CMS tool (Ansible development is led by Red Hat).
● Ansible playbooks are idempotent.
● Ansible can manage nodes, tasks according to the the structure of the cluster.
Ansible will be a main stream in deployment for servers
Improvements from recipe.sh
● Improvements from recipe.sh:
○ We can configure where packages are installed, according to node type.
○ We can replay the installation process at many times.
○ We can adopt same recipe for various HPC systems(Intel, AArch64, bere
metal cluster, Cloud, Container)
● Time required for OpenHPC installation:
We can now install OpenHPC in 3 hours.
We took a week to install OpenHPC by hand before.
Current Status
● We’ve ported recipe.sh to an Ansible playbook.
Our playbook does not depend on HPC-specific tools (Warewulf, xCat)
● What we are doing now:
○ Testing...We are testing on X64 machines, and we’ll test it on AArch64 soon.
○ Rewrite for common use...Dividing the playbook into Ansible roles for each
package. It is useful to use the playbook as ingredients for installation task.
○ Upstreaming ... We’ll collaborate with OpenHPC community to make OpenHPC
installation easy.
The playbook could be applied to other LEG tasks with minor changes.
Our playbook to be published soon and be upstreamed.
Screen shot (Install phase)
[Inventory file]
[sms]
192.168.33.11
[cnodes]
192.168.33.21
192.168.33.22
[ionodes]
192.168.33.11
[devnodes]
192.168.33.21
192.168.33.22
It can handle the types of nodes properly.
(e.g., Install slurm-server on the master node only)
Screen shot(Test phase)
Run an MPI job with the SLURM in OpenHPC
Compile an MPI application with the mpicc in
OpenHPC
We are writing another playbook to run
tests automatically.
Promote Use of Ansible in HPC
Covered by OpenHPC
CentOS + Warewulf InfiniBand
Lustre/BeegFS client
HPC Software
xCAT
Lustre/BeegFS server
10/25/40GB Eth
OS (Suse,Debian ...)
Ansible will helps to support various packages, devices, OS in HPC.
Future Work
● Ansible in OpenHPC … Improving maintainability
○ Considering the way to generate a playbook from the document
(Are LaTeX snippets preferable?)
○ Taking advantage of the power of the Ansible community?
● Ansible in HPC … Making Ansible more popular in HPC
○ Sharing Ansible playbooks for HPC systems through ansible galaxy.
○ Introducing Ansible to OpenHPC community for upstreaming.
● Ansible in general … Easy to write site-specific configurations
Some ideas:
○ Creating a tool to generate host-specific configuration files.
○ Using Kconfig (make menuconfig) to choose packages to be installed.
○ A kind of tool for describing network topology to generate network configurations
(like OpenStack dashboard).
OpenHPC Ansible - Integration with Provision
● Before we can install OpenHPC on a cluster, we need to provision the master
○ This is done via a Jenkins job, using MrProvisioner’s API to flash kernel/initrd/preseed
○ Once the node is up (for now, polling on machine), we fire Ansible up
○ SSH to the node, clone the repo, run the playbook
● OpenHPC provisions the compute nodes (via Warewulf/xCAT)
○ All machines can see MrP, so we need to avoid DHCP/TFTP clash
○ Essentially via MAC address binding, but this complicates the Jenkins job
○ We need the list of addresses beforehand
● Having one VLAN per cluster is less flexible
○ We restrict ourselves to fixed number of compute nodes per cluster
○ Changing involves networking configuration (not dynamic in MrP yet)
○ Forces master to provide NAT/DNS access for the compute nodes
Thank You
#HKG18
HKG18 keynotes and videos on: connect.linaro.org
For further information: www.linaro.org
OpenHPC Ansible - Introduction
● What is ansible?
A simple automation language which can describe the structure and configuration of IT
infrastructure with Ansible playbook(YAML).
● Characteristics of Ansible:
○ Idempotent … Ansible playbook describes the state of node instead of operations
or procedures
○ Lightweight … Ansible does not need an installation agent on each node.
○ Configuration Management … It can handle groups of nodes(SMS, CN, etc)
○ Easy to extend … Well defined plugin interfaces for plugin modules.
○ Orchestration … It can also be applied to clouds, a container orchestration.
OpenHPC Ansible - Improvements from recipe.sh
● Improvements from recipe.sh:
○ Installing OpenHPC according to the role of nodes with Ansible inventory:
■ SMS...Management tools, Slurm server
■ Computing node...Libraries, Slurm client, Lustre client
■ Development node … Compiler, Debugger
○ Sharing the install methods among different architectures(Intel, AArch64)
■ Ansible can handle conditional installation and configuration
(e.g. Install psm packages(intel interconnect) into Intel machines only)
○ Supporting various HPC systems
■ Diskless environment (e.g. Warewulf )
■ Small cluster which has node local storages.
■ Cloud/Container (e.g OpenStack, AWS, docker ) in the future
OpenHPC Ansible - Current Status
● We’ve ported recipe.sh to an ansible playbook.
○ It can install OpenHPC(both Warewulf and Non-Warewulf clusters on CentOS7 )
○ It can handle the structure of the cluster( both diskless and non-diskless environment ).
■ It can set computing node network up(e.g DHCP, hosts, and so on).
■ It can install and configure OpenHPC packages according to each node type
(SMS, computing node, development node).
■ It can be used for both AArch64 and Intel machines.
● What we are doing now:
○ Testing our playbook on virtual machines(x86-64)
■ Of Course we’ll test the playbook on AArch64 VM soon...
○ Writing the playbook for testing
○ Dividing the playbook into Ansible role for each package for the flexible installation
and to share installation methods for HPC packages through Ansible Galaxy(*).
(*) A kind of community pages for Ansible( https://galaxy.ansible.com/ )
OpenHPC Ansible - Screen shot( Install phase )
[Inventory file]
[sms]
192.168.33.11
[cnodes]
192.168.33.21
192.168.33.22
[ionodes]
192.168.33.11
[devnodes]
192.168.33.21
192.168.33.22
It can handle the type of node properly.
(e.g.Install slurm-server on the master node only)
OpenHPC Ansible - Screen shot(Test phase)
Run a MPI job with the SLURM in OpenHPC
Compile MPI application with the mpicc in OpenHPC
We are writing another playbook to run test
automatically.
OpenHPC Ansible - Flexible installation with Ansible
[The basic structure of Ansible playbook]
● Improvement of the installation flexibility:
We are dividing configuration variables in recipe.sh into three parts(in progress):
○ Cluster wide configurations(node name of SMS, FS Server )
○ Computing node specific configurations(MAC/IP addr, BMC)
○ Package specific configurations(CHROOT for Warewulf)
ohpcOrchestration/
+---- group_vars/
+-- all.yml cluster wide configurations
+-- group1,group2 … node group(e.g. computing nodes) specific configurations
+---- host_vars/
+--- host1,host2 … host specific configurations
+---- roles/ package specific tasks, templates, config files, config variables
+--- package-name/
+--- tasks/main.yml … YAML file to describe installation method of package-name
+--- vars/main.yml … package-name specific configuration variables
+--- templates/*.j2 … template files for configuration files
OpenHPC Ansible - Scenarios
● We’re going to test on real AArch64 machines
○ CentOS + Warewulf
○ InfiniBand
○ Lustre/BeegFS client
● Need to improve
○ xCAT support
○ Lustre/BeegFS server support
○ 10/25/40GB Eth support
○ Increasing supported Operating System
(OpenSuse, Debian, and so on. Plugin development may be needed for this)
○ Container based distribution(Ansible can create container images to distribute)
Ansible can be used to install OpenHPC into various HPC systems including
bare metal cluster, HPC clouds, Containers(e.g. Docker ) in the future.
OpenHPC Ansible - Unsolved Problems
● Improving maintenance ability
○ Considering the way to generate a playbook from the document
(Are LaTeX snippets preferable?)
○ Taking advantage of the power of the ansible community?
● Easy to write site specific configurations
Following things might be useful (Idea only for now):
○ Creating tool to generate host specific configuration files from a CSV file
○ Using Kconfig(make menuconfig) to choose packages to be installed.
○ Some kind of tools for describing network topology easily(like OpenStack dashboard) to
generate network configurations.
● Making Ansible more popular in HPC world
○ Sharing Ansible playbooks for HPC systems through ansible galaxy.
○ Introducing Ansible to OpenHPC community
OpenHPC Ansible - Integration with Provision
● Before we can install OpenHPC on a cluster, we need to provision the master
○ This is done via a Jenkins job, using MrProvisioner’s API to flash kernel/initrd/preseed
○ Once the node is up (for now, polling on machine), we fire Ansible up
○ SSH to the node, clone the repo, run the playbook
● OpenHPC provisions the compute nodes (via Warewulf/xCAT)
○ All machines can see MrP, so we need to avoid DHCP/TFTP clash
○ Essentially via MAC address binding, but this complicates the Jenkins job
○ We need the list of addresses beforehand
● Having one VLAN per cluster is less flexible
○ We restrict ourselves to fixed number of compute nodes per cluster
○ Changing involves networking configuration (not dynamic in MrP yet)
○ Forces master to provide NAT/DNS access for the compute nodes

More Related Content

What's hot

The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
Kernel TLV
 
Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509
Linaro
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to Bottom
Kernel TLV
 
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy TarreauKernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Anne Nicolas
 
OpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOSOpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOS
OpenNebula Project
 
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStackAutomated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
NTT Communications Technology Development
 
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
NETWAYS
 
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Kernel TLV
 
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebula Project
 
OpenNebula - The Project
OpenNebula - The ProjectOpenNebula - The Project
OpenNebula - The Project
OpenNebula Project
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Puppet
 
File Systems: Why, How and Where
File Systems: Why, How and WhereFile Systems: Why, How and Where
File Systems: Why, How and Where
Kernel TLV
 
Utilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapUtilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmap
George Markomanolis
 
Linux Kernel Live Patching
Linux Kernel Live PatchingLinux Kernel Live Patching
Linux Kernel Live Patching
GlobalLogic Ukraine
 
Sheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackSheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackLiu Yuan
 
Hands on OpenCL
Hands on OpenCLHands on OpenCL
Hands on OpenCL
Vladimir Starostenkov
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula Project
 
Intel Briefing Notes
Intel Briefing NotesIntel Briefing Notes
Intel Briefing Notes
Graham Lee
 
Functional approach to packet processing
Functional approach to packet processingFunctional approach to packet processing
Functional approach to packet processing
Nicola Bonelli
 
Containers are the future of the Cloud
Containers are the future of the CloudContainers are the future of the Cloud
Containers are the future of the CloudPavel Odintsov
 

What's hot (20)

The Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast StorageThe Linux Block Layer - Built for Fast Storage
The Linux Block Layer - Built for Fast Storage
 
Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509Deep Learning on ARM Platforms - SFO17-509
Deep Learning on ARM Platforms - SFO17-509
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to Bottom
 
Kernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy TarreauKernel Recipes 2017 - Build farm again - Willy Tarreau
Kernel Recipes 2017 - Build farm again - Willy Tarreau
 
OpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOSOpenNebula - Key Aspects in CentOS
OpenNebula - Key Aspects in CentOS
 
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStackAutomated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
Automated Deployment & Benchmarking with Chef, Cobbler and Rally for OpenStack
 
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
OpenNebula Conf 2014 | Using Ceph to provide scalable storage for OpenNebula ...
 
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
 
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon GarciaOpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
 
OpenNebula - The Project
OpenNebula - The ProjectOpenNebula - The Project
OpenNebula - The Project
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 
File Systems: Why, How and Where
File Systems: Why, How and WhereFile Systems: Why, How and Where
File Systems: Why, How and Where
 
Utilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapUtilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmap
 
Linux Kernel Live Patching
Linux Kernel Live PatchingLinux Kernel Live Patching
Linux Kernel Live Patching
 
Sheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackSheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstack
 
Hands on OpenCL
Hands on OpenCLHands on OpenCL
Hands on OpenCL
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
 
Intel Briefing Notes
Intel Briefing NotesIntel Briefing Notes
Intel Briefing Notes
 
Functional approach to packet processing
Functional approach to packet processingFunctional approach to packet processing
Functional approach to packet processing
 
Containers are the future of the Cloud
Containers are the future of the CloudContainers are the future of the Cloud
Containers are the future of the Cloud
 

Similar to HKG18-419 - OpenHPC on Ansible

OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017
Stacy Véronneau
 
OpenDataPlane Testing in Travis
OpenDataPlane Testing in TravisOpenDataPlane Testing in Travis
OpenDataPlane Testing in Travis
Dmitry Baryshkov
 
Dynamic infrastructure for development
Dynamic infrastructure for developmentDynamic infrastructure for development
Dynamic infrastructure for development
Balázs Rostás
 
Montreal OpenStack Q2 MeetUp - May 30th 2017
Montreal OpenStack Q2 MeetUp - May 30th 2017Montreal OpenStack Q2 MeetUp - May 30th 2017
Montreal OpenStack Q2 MeetUp - May 30th 2017
Stacy Véronneau
 
Type safe, versioned, and rewindable stream processing with Apache {Avro, K...
Type safe, versioned, and rewindable stream processing  with  Apache {Avro, K...Type safe, versioned, and rewindable stream processing  with  Apache {Avro, K...
Type safe, versioned, and rewindable stream processing with Apache {Avro, K...
Hisham Mardam-Bey
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
rkr10
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017
Stacy Véronneau
 
Kernel Recipes 2014 - Performance Does Matter
Kernel Recipes 2014 - Performance Does MatterKernel Recipes 2014 - Performance Does Matter
Kernel Recipes 2014 - Performance Does Matter
Anne Nicolas
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
Kevin Carter
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
Shashank Asthana
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
Nitish Jadia
 
Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)
Artefactual Systems - Archivematica
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
Emertxe Information Technologies Pvt Ltd
 
Openstack overview thomas-goirand
Openstack overview thomas-goirandOpenstack overview thomas-goirand
Openstack overview thomas-goirandOpenCity Community
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Community
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
ScyllaDB
 
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution][HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
Wong Hoi Sing Edison
 
2021.06. Ceph Project Update
2021.06. Ceph Project Update2021.06. Ceph Project Update
2021.06. Ceph Project Update
Ceph Community
 

Similar to HKG18-419 - OpenHPC on Ansible (20)

OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017OpenStack Toronto Q2 MeetUp - June 1st 2017
OpenStack Toronto Q2 MeetUp - June 1st 2017
 
OpenDataPlane Testing in Travis
OpenDataPlane Testing in TravisOpenDataPlane Testing in Travis
OpenDataPlane Testing in Travis
 
Dynamic infrastructure for development
Dynamic infrastructure for developmentDynamic infrastructure for development
Dynamic infrastructure for development
 
Montreal OpenStack Q2 MeetUp - May 30th 2017
Montreal OpenStack Q2 MeetUp - May 30th 2017Montreal OpenStack Q2 MeetUp - May 30th 2017
Montreal OpenStack Q2 MeetUp - May 30th 2017
 
Type safe, versioned, and rewindable stream processing with Apache {Avro, K...
Type safe, versioned, and rewindable stream processing  with  Apache {Avro, K...Type safe, versioned, and rewindable stream processing  with  Apache {Avro, K...
Type safe, versioned, and rewindable stream processing with Apache {Avro, K...
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017OpenStack Ottawa Q2 MeetUp - May 31st 2017
OpenStack Ottawa Q2 MeetUp - May 31st 2017
 
Kernel Recipes 2014 - Performance Does Matter
Kernel Recipes 2014 - Performance Does MatterKernel Recipes 2014 - Performance Does Matter
Kernel Recipes 2014 - Performance Does Matter
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
 
Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)Automation tools: making things go... (March 2019)
Automation tools: making things go... (March 2019)
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
 
Openstack overview thomas-goirand
Openstack overview thomas-goirandOpenstack overview thomas-goirand
Openstack overview thomas-goirand
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOcean
 
High-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uringHigh-Performance Networking Using eBPF, XDP, and io_uring
High-Performance Networking Using eBPF, XDP, and io_uring
 
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution][HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]
 
2021.06. Ceph Project Update
2021.06. Ceph Project Update2021.06. Ceph Project Update
2021.06. Ceph Project Update
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Linaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Linaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
Linaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
Linaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

HKG18-419 - OpenHPC on Ansible

  • 1. HKG18-419: OpenHPC on Ansible - Easier deployment with Ansible - Renato Gloin and Takeharu Kato, HPC
  • 2. Outline ● What OpenHPC is ● The Problem - OpenHPC has no Configuration Management System ● What Ansible is ● OpenHPC + Ansible = OpenHPC deployment easier ● Future work
  • 3. OpenHPC ● OpenHPC is a collaborative, community effort that initiated from a desire to aggregate a number of common ingredients required to deploy and manage High Performance Computing (HPC) Linux clusters including provisioning tools, resource management, I/O clients, development tools, and a variety of scientific libraries. ○ http://www.openhpc.community/ ● OpenHPC packages are build on the Open Build System ○ https://build.openhpc.community/ ● Packages hosted on GitHub ○ https://github.com/openhpc/ohpc
  • 4. OpenHPC Deployments Today ● A recipe with all rules described in the official documents ● LaTex snippets containing shell code ● Are converted and merged into a (OS-dependent) bash script ● Plus a input.local file, with some cluster-specific configuration
  • 5. OpenHPC Recipe - Problems ● The input.local file exports shell variables, and don’t have enough information ○ Not all parts of the script are correctly conditionalized based on those options ○ Most people that use those scripts, heavily modify them ○ Others do in a completely different way ● The recipe.sh is not idempotent ○ It modifies the contents of root config files using Perl and regex ○ It echoes lines at the end of config files ○ It sets up networking and services that can’t be set twice (moving files around) ● Extensibility is impossible without editing the files ○ It neither has everything (conditionalized), nor has external hooks to add local rules ○ We need to at least edit the input.local configuration, which needs to be kept and updated
  • 6. OpenHPC Recipe - Attempted Solutions ● We tried to change the scripts to conditionalize everything ○ Split into different scripts, one for each chapter ○ Heavily modified the input.local file ○ Automation (or people, manually), can run only selected scripts ● Problems ○ We created yet another layer (bash_local), which sets up input.local ○ Still using environment variables ○ We haven’t tested every possible scenario, no idea if it would work elsewhere… :( ● Why reinvent the wheel? ○ After long discussion with the communities, folks were quite happy to properly automate it ○ Ansible wasn’t the only solution people were using, but was by far the most popular ○ So we’re having a go with Ansible… ○ With the high hopes of moving the upstream deployments and other community builds to it
  • 7. Biggest Obstacle in OpenHPC Deployment ● Lack of ``Configuration Management System’' (CMS) ➔A kind of CMS is needed to build various HPC clusters easy.
  • 8. OpenHPC + Ansible = Easier Deployment ● What Ansible is A simple automation language which can describe the structure and configuration of IT infrastructure with Ansible playbook(YAML). ● The reasons why Ansible is the best solution for the OpenHPC deployment ● The most promising CMS tool (Ansible development is led by Red Hat). ● Ansible playbooks are idempotent. ● Ansible can manage nodes, tasks according to the the structure of the cluster. Ansible will be a main stream in deployment for servers
  • 9. Improvements from recipe.sh ● Improvements from recipe.sh: ○ We can configure where packages are installed, according to node type. ○ We can replay the installation process at many times. ○ We can adopt same recipe for various HPC systems(Intel, AArch64, bere metal cluster, Cloud, Container) ● Time required for OpenHPC installation: We can now install OpenHPC in 3 hours. We took a week to install OpenHPC by hand before.
  • 10. Current Status ● We’ve ported recipe.sh to an Ansible playbook. Our playbook does not depend on HPC-specific tools (Warewulf, xCat) ● What we are doing now: ○ Testing...We are testing on X64 machines, and we’ll test it on AArch64 soon. ○ Rewrite for common use...Dividing the playbook into Ansible roles for each package. It is useful to use the playbook as ingredients for installation task. ○ Upstreaming ... We’ll collaborate with OpenHPC community to make OpenHPC installation easy. The playbook could be applied to other LEG tasks with minor changes. Our playbook to be published soon and be upstreamed.
  • 11. Screen shot (Install phase) [Inventory file] [sms] 192.168.33.11 [cnodes] 192.168.33.21 192.168.33.22 [ionodes] 192.168.33.11 [devnodes] 192.168.33.21 192.168.33.22 It can handle the types of nodes properly. (e.g., Install slurm-server on the master node only)
  • 12. Screen shot(Test phase) Run an MPI job with the SLURM in OpenHPC Compile an MPI application with the mpicc in OpenHPC We are writing another playbook to run tests automatically.
  • 13. Promote Use of Ansible in HPC Covered by OpenHPC CentOS + Warewulf InfiniBand Lustre/BeegFS client HPC Software xCAT Lustre/BeegFS server 10/25/40GB Eth OS (Suse,Debian ...) Ansible will helps to support various packages, devices, OS in HPC.
  • 14. Future Work ● Ansible in OpenHPC … Improving maintainability ○ Considering the way to generate a playbook from the document (Are LaTeX snippets preferable?) ○ Taking advantage of the power of the Ansible community? ● Ansible in HPC … Making Ansible more popular in HPC ○ Sharing Ansible playbooks for HPC systems through ansible galaxy. ○ Introducing Ansible to OpenHPC community for upstreaming. ● Ansible in general … Easy to write site-specific configurations Some ideas: ○ Creating a tool to generate host-specific configuration files. ○ Using Kconfig (make menuconfig) to choose packages to be installed. ○ A kind of tool for describing network topology to generate network configurations (like OpenStack dashboard).
  • 15. OpenHPC Ansible - Integration with Provision ● Before we can install OpenHPC on a cluster, we need to provision the master ○ This is done via a Jenkins job, using MrProvisioner’s API to flash kernel/initrd/preseed ○ Once the node is up (for now, polling on machine), we fire Ansible up ○ SSH to the node, clone the repo, run the playbook ● OpenHPC provisions the compute nodes (via Warewulf/xCAT) ○ All machines can see MrP, so we need to avoid DHCP/TFTP clash ○ Essentially via MAC address binding, but this complicates the Jenkins job ○ We need the list of addresses beforehand ● Having one VLAN per cluster is less flexible ○ We restrict ourselves to fixed number of compute nodes per cluster ○ Changing involves networking configuration (not dynamic in MrP yet) ○ Forces master to provide NAT/DNS access for the compute nodes
  • 16. Thank You #HKG18 HKG18 keynotes and videos on: connect.linaro.org For further information: www.linaro.org
  • 17. OpenHPC Ansible - Introduction ● What is ansible? A simple automation language which can describe the structure and configuration of IT infrastructure with Ansible playbook(YAML). ● Characteristics of Ansible: ○ Idempotent … Ansible playbook describes the state of node instead of operations or procedures ○ Lightweight … Ansible does not need an installation agent on each node. ○ Configuration Management … It can handle groups of nodes(SMS, CN, etc) ○ Easy to extend … Well defined plugin interfaces for plugin modules. ○ Orchestration … It can also be applied to clouds, a container orchestration.
  • 18. OpenHPC Ansible - Improvements from recipe.sh ● Improvements from recipe.sh: ○ Installing OpenHPC according to the role of nodes with Ansible inventory: ■ SMS...Management tools, Slurm server ■ Computing node...Libraries, Slurm client, Lustre client ■ Development node … Compiler, Debugger ○ Sharing the install methods among different architectures(Intel, AArch64) ■ Ansible can handle conditional installation and configuration (e.g. Install psm packages(intel interconnect) into Intel machines only) ○ Supporting various HPC systems ■ Diskless environment (e.g. Warewulf ) ■ Small cluster which has node local storages. ■ Cloud/Container (e.g OpenStack, AWS, docker ) in the future
  • 19. OpenHPC Ansible - Current Status ● We’ve ported recipe.sh to an ansible playbook. ○ It can install OpenHPC(both Warewulf and Non-Warewulf clusters on CentOS7 ) ○ It can handle the structure of the cluster( both diskless and non-diskless environment ). ■ It can set computing node network up(e.g DHCP, hosts, and so on). ■ It can install and configure OpenHPC packages according to each node type (SMS, computing node, development node). ■ It can be used for both AArch64 and Intel machines. ● What we are doing now: ○ Testing our playbook on virtual machines(x86-64) ■ Of Course we’ll test the playbook on AArch64 VM soon... ○ Writing the playbook for testing ○ Dividing the playbook into Ansible role for each package for the flexible installation and to share installation methods for HPC packages through Ansible Galaxy(*). (*) A kind of community pages for Ansible( https://galaxy.ansible.com/ )
  • 20. OpenHPC Ansible - Screen shot( Install phase ) [Inventory file] [sms] 192.168.33.11 [cnodes] 192.168.33.21 192.168.33.22 [ionodes] 192.168.33.11 [devnodes] 192.168.33.21 192.168.33.22 It can handle the type of node properly. (e.g.Install slurm-server on the master node only)
  • 21. OpenHPC Ansible - Screen shot(Test phase) Run a MPI job with the SLURM in OpenHPC Compile MPI application with the mpicc in OpenHPC We are writing another playbook to run test automatically.
  • 22. OpenHPC Ansible - Flexible installation with Ansible [The basic structure of Ansible playbook] ● Improvement of the installation flexibility: We are dividing configuration variables in recipe.sh into three parts(in progress): ○ Cluster wide configurations(node name of SMS, FS Server ) ○ Computing node specific configurations(MAC/IP addr, BMC) ○ Package specific configurations(CHROOT for Warewulf) ohpcOrchestration/ +---- group_vars/ +-- all.yml cluster wide configurations +-- group1,group2 … node group(e.g. computing nodes) specific configurations +---- host_vars/ +--- host1,host2 … host specific configurations +---- roles/ package specific tasks, templates, config files, config variables +--- package-name/ +--- tasks/main.yml … YAML file to describe installation method of package-name +--- vars/main.yml … package-name specific configuration variables +--- templates/*.j2 … template files for configuration files
  • 23. OpenHPC Ansible - Scenarios ● We’re going to test on real AArch64 machines ○ CentOS + Warewulf ○ InfiniBand ○ Lustre/BeegFS client ● Need to improve ○ xCAT support ○ Lustre/BeegFS server support ○ 10/25/40GB Eth support ○ Increasing supported Operating System (OpenSuse, Debian, and so on. Plugin development may be needed for this) ○ Container based distribution(Ansible can create container images to distribute) Ansible can be used to install OpenHPC into various HPC systems including bare metal cluster, HPC clouds, Containers(e.g. Docker ) in the future.
  • 24. OpenHPC Ansible - Unsolved Problems ● Improving maintenance ability ○ Considering the way to generate a playbook from the document (Are LaTeX snippets preferable?) ○ Taking advantage of the power of the ansible community? ● Easy to write site specific configurations Following things might be useful (Idea only for now): ○ Creating tool to generate host specific configuration files from a CSV file ○ Using Kconfig(make menuconfig) to choose packages to be installed. ○ Some kind of tools for describing network topology easily(like OpenStack dashboard) to generate network configurations. ● Making Ansible more popular in HPC world ○ Sharing Ansible playbooks for HPC systems through ansible galaxy. ○ Introducing Ansible to OpenHPC community
  • 25. OpenHPC Ansible - Integration with Provision ● Before we can install OpenHPC on a cluster, we need to provision the master ○ This is done via a Jenkins job, using MrProvisioner’s API to flash kernel/initrd/preseed ○ Once the node is up (for now, polling on machine), we fire Ansible up ○ SSH to the node, clone the repo, run the playbook ● OpenHPC provisions the compute nodes (via Warewulf/xCAT) ○ All machines can see MrP, so we need to avoid DHCP/TFTP clash ○ Essentially via MAC address binding, but this complicates the Jenkins job ○ We need the list of addresses beforehand ● Having one VLAN per cluster is less flexible ○ We restrict ourselves to fixed number of compute nodes per cluster ○ Changing involves networking configuration (not dynamic in MrP yet) ○ Forces master to provide NAT/DNS access for the compute nodes