SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Adri Mourits
Yvonne Olij-Kenyon
Thanks to Mohamed Nabi
15 November 2022
Singularity containers:
simplifying the use of
Delft3D FM on High
Performance Computing
(HPC) clusters
Abstract
2
The Deltares Delft3D FM kernels are currently available, precompiled, in a Singularity container. This
presentation shows briefly what a container is, why it simplifies the use of Delft3D FM, and how to use
it. The focus is on usage on High Performance Computing clusters. Disadvantages are discussed.
Table of contents
3
About Singularity containers:
• What is it?
• Why using it?
• How to use it for Delft3D FM?
• Disadvantages
• Future work
• Summary
What is it?
4
A Singularity container is an executable unit of software in which a ‘definition’ file
is used to package application code, along with libraries and dependencies.
The result is a single Singularity image file.
A single
.sif file
definition file
delft3dfm
RPM
libraries &
dependencies
lightweight
operating
system
What is it? Virtual Machine versus Container
5
Container:
• Less overhead
• Less resources needed
What is it? Different types of containers
Singularity Docker
Delft3D FM YES YES
Delft3D 4 NO YES
OS Linux Linux, Windows
Root access needed NO YES
File size 300 MB 2 GB
6
September 2022: Singularity is moved into the Linux Foundation and renamed to Apptainer
Why using it?
• No source code compilation needed
7
Why using it?
• No source code compilation needed
8
Isolation: no interference with other applications
Why using it?
• No source code compilation needed
9
Isolation
Lightweight: share the host kernel
Why using it?
• No source code compilation needed
10
Isolation
Lightweight
Flexible: Every application can be
containerized
Why using it?
• No source code compilation needed
11
Isolation
Lightweight
Flexible
Interchangeable: deploy updates/upgrades
on-the-fly
Why using it?
• No source code compilation needed
12
Isolation
Lightweight
Flexible
Interchangeable
Portable: build locally, deploy to the cloud, run anywhere
Why using it?
• No source code compilation needed
13
Isolation
Lightweight
Flexible
Interchangeable
Portable
Scalable: increase, automatic distribution
Why using it?
• No source code compilation needed
14
Isolation
Lightweight
Flexible
Interchangeable
Portable
Scalable
Stackable: vertical service stacking on-the-fly
Why using it?
• No source code compilation needed
15
Isolation
Lightweight
Flexible
Interchangeable
Portable
Scalable
Stackable
Reproducibility: same results, independent of
underlying hardware
Why using it?
• No source code compilation needed
16
Isolation
Lightweight
Flexible
Interchangeable
Portable
Scalable
Stackable
Reproducibility
Performance: close to bare-metal (without virtualization/containers)
How to use it for Delft3D FM? (1/5)
For Delft3D FM on HPC cluster:
1. Prepare your cluster:
1. Usually your System Admin needs to do this
2. Install Apptainer (https://apptainer.org/docs/admin/main/installation.html)
3. Install “IntelMPI Library for Linux”
It must be outside the container, on the hosting system, for optimal performance
17
The set-up, tuning and
optimising of IntelMPI is
platform dependent
How to use it for Delft3D FM? (2/5)
For Delft3D FM on HPC cluster:
2. From Deltares:
1. Request to software@deltares.nl
2. Receive
18
Please, give me the latest Singularity container
Readme.txt sif container
execute_singularity.sh
Keep in one folder
e.g. /opt/delft3dfm
run_singularity.sh
submit_singularity.sh
Copy to working folder
How to use it for Delft3D FM? (3/5)
For Delft3D FM on HPC cluster:
3. Adapt script “execute_singularity.sh”:
1. Usually your System Admin needs to do this
2. IntelMPI settings (FI_PROVIDER, I_MPI_FABRICS)
3. Queueing dependencies (Slurm, SGE)
4. Feed everything correctly to the Singularity container
• Examples are available (Deltares h6-cluster, Surf Snellius)
• IntelMPI benchmark might help
• This process might be painful, but when it’s done, updates should be straight forward!
19
! This is needed to get the expected performance
How to use it for Delft3D FM? (4/5)
For Delft3D FM on HPC cluster:
4. Adapt run script in your working folder:
1. “run_singularity.sh” : example without queueing system
2. “submit_singularity.sh” : example with SGE queueing system
3. Correct path to Singularity container and “execute_singularity.sh” script
4. Choose number of nodes and partitions
5. Adapt input file with Bash commands Optionally
6. Partitioning by calling “execute_singularity.sh” Optionally
7. Start computation by calling “execute_singularity.sh”
8. Merge output files by calling “execute_singularity.sh” Optionally
20
Your input
The script does
How to use it for Delft3D FM? (5/5)
For Delft3D FM on HPC cluster:
5. Run
By executing your run script
21
$ sbatch submit_singularity.sh
Example command for Slurm:
Disadvantages
22
• Another dependency
• Configuration might be painful
• Why did they have to change the name from Singularity to Apptainer!
Future work
23
• Simplify/generalize scripts
• Switch to Apptainer
• Use a container to compile
Summary
24
If you use a HPC cluster for Delft3D FM computations
Then start using Apptainer
?
Contact
www.deltares.nl
info@deltares.nl
@deltares
@deltares
linkedin.com/company/deltares
facebook.com/deltaresNL

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

詳解! Decimal
詳解! Decimal詳解! Decimal
詳解! Decimal
 
DSD-INT 2017 Contribution of IG waves to local runup and flooding Beach of Bi...
DSD-INT 2017 Contribution of IG waves to local runup and flooding Beach of Bi...DSD-INT 2017 Contribution of IG waves to local runup and flooding Beach of Bi...
DSD-INT 2017 Contribution of IG waves to local runup and flooding Beach of Bi...
 
HDFS Internals
HDFS InternalsHDFS Internals
HDFS Internals
 
Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018Fast Userspace OVS with AF_XDP, OVS CONF 2018
Fast Userspace OVS with AF_XDP, OVS CONF 2018
 
All Presentations during CXL Forum at Flash Memory Summit 22
All Presentations during CXL Forum at Flash Memory Summit 22All Presentations during CXL Forum at Flash Memory Summit 22
All Presentations during CXL Forum at Flash Memory Summit 22
 
CloudStack networking
CloudStack networkingCloudStack networking
CloudStack networking
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong KimCeph QoS: How to support QoS in distributed storage system - Taewoong Kim
Ceph QoS: How to support QoS in distributed storage system - Taewoong Kim
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
SigfoxではじめるIoT勉強会
SigfoxではじめるIoT勉強会SigfoxではじめるIoT勉強会
SigfoxではじめるIoT勉強会
 
DSD-INT 2017 XBeach Past, Present and Future _Keynote - Roelvink
DSD-INT 2017 XBeach Past, Present and Future _Keynote - RoelvinkDSD-INT 2017 XBeach Past, Present and Future _Keynote - Roelvink
DSD-INT 2017 XBeach Past, Present and Future _Keynote - Roelvink
 
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
Excitingly simple multi-path OpenStack networking: LAG-less, L2-less, yet ful...
 
DSD-INT 2020 BlueEarth Engine - hydroMT - model builder framework
DSD-INT 2020 BlueEarth Engine - hydroMT - model builder frameworkDSD-INT 2020 BlueEarth Engine - hydroMT - model builder framework
DSD-INT 2020 BlueEarth Engine - hydroMT - model builder framework
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 
Syncing the cloud - from T1 to TAP
 Syncing the cloud - from T1 to TAP Syncing the cloud - from T1 to TAP
Syncing the cloud - from T1 to TAP
 
OpenStack Deployment in the Enterprise
OpenStack Deployment in the Enterprise OpenStack Deployment in the Enterprise
OpenStack Deployment in the Enterprise
 
Introduction to Gstreamer
Introduction to GstreamerIntroduction to Gstreamer
Introduction to Gstreamer
 
Intel QLC: Cost-effective Ceph on NVMe
Intel QLC: Cost-effective Ceph on NVMeIntel QLC: Cost-effective Ceph on NVMe
Intel QLC: Cost-effective Ceph on NVMe
 

Ähnlich wie DSD-INT 2022 Singularity containers - simplifying the use of Delft3D FM on High Performance Computing (HPC) clusters - Mourits

Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdfHashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
ssuser705051
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Pradeep Singh
 

Ähnlich wie DSD-INT 2022 Singularity containers - simplifying the use of Delft3D FM on High Performance Computing (HPC) clusters - Mourits (20)

Collaborative Terraform with Atlantis
Collaborative Terraform with AtlantisCollaborative Terraform with Atlantis
Collaborative Terraform with Atlantis
 
K8s Quick Start
K8s Quick StartK8s Quick Start
K8s Quick Start
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdfHashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
 
Terraform-2.pdf
Terraform-2.pdfTerraform-2.pdf
Terraform-2.pdf
 
Demystifying kubernetes
Demystifying kubernetesDemystifying kubernetes
Demystifying kubernetes
 
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple SpacesConcurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
 
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
CloudOpen 2013: Developing cloud infrastructure: from scratch: the tale of an...
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestration
 
Clustering
ClusteringClustering
Clustering
 
Deploying PHP apps on the cloud
Deploying PHP apps on the cloudDeploying PHP apps on the cloud
Deploying PHP apps on the cloud
 
TYPO3 CMS v8 in the cloud
TYPO3 CMS v8 in the cloudTYPO3 CMS v8 in the cloud
TYPO3 CMS v8 in the cloud
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Hands on OpenCL
Hands on OpenCLHands on OpenCL
Hands on OpenCL
 

Mehr von Deltares

Mehr von Deltares (20)

DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - KroonDSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
DSD-INT 2023 Hydrology User Days - Intro - Day 3 - Kroon
 
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin RodriguezDSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
DSD-INT 2023 Demo EPIC Response Assessment Methodology (ERAM) - Couvin Rodriguez
 
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - TanerDSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
DSD-INT 2023 Demo Climate Stress Testing Tool (CST Tool) - Taner
 
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - RoozeDSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
DSD-INT 2023 Demo Climate Resilient Cities Tool (CRC Tool) - Rooze
 
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - WardDSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
DSD-INT 2023 Approaches for assessing multi-hazard risk - Ward
 
DSD-INT 2023 Dynamic Adaptive Policy Pathways (DAPP) - Theory & Showcase - Wa...
DSD-INT 2023 Dynamic Adaptive Policy Pathways (DAPP) - Theory & Showcase - Wa...DSD-INT 2023 Dynamic Adaptive Policy Pathways (DAPP) - Theory & Showcase - Wa...
DSD-INT 2023 Dynamic Adaptive Policy Pathways (DAPP) - Theory & Showcase - Wa...
 
DSD-INT 2023 Global hydrological modelling to support worldwide water assessm...
DSD-INT 2023 Global hydrological modelling to support worldwide water assessm...DSD-INT 2023 Global hydrological modelling to support worldwide water assessm...
DSD-INT 2023 Global hydrological modelling to support worldwide water assessm...
 
DSD-INT 2023 Modelling implications - IPCC Working Group II - From AR6 to AR7...
DSD-INT 2023 Modelling implications - IPCC Working Group II - From AR6 to AR7...DSD-INT 2023 Modelling implications - IPCC Working Group II - From AR6 to AR7...
DSD-INT 2023 Modelling implications - IPCC Working Group II - From AR6 to AR7...
 
DSD-INT 2023 Knowledge and tools for Climate Adaptation - Jeuken
DSD-INT 2023 Knowledge and tools for Climate Adaptation - JeukenDSD-INT 2023 Knowledge and tools for Climate Adaptation - Jeuken
DSD-INT 2023 Knowledge and tools for Climate Adaptation - Jeuken
 
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - BootsmaDSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
 
DSD-INT 2023 Create your own MODFLOW 6 sub-variant - Muller
DSD-INT 2023 Create your own MODFLOW 6 sub-variant - MullerDSD-INT 2023 Create your own MODFLOW 6 sub-variant - Muller
DSD-INT 2023 Create your own MODFLOW 6 sub-variant - Muller
 
DSD-INT 2023 Example of unstructured MODFLOW 6 modelling in California - Romero
DSD-INT 2023 Example of unstructured MODFLOW 6 modelling in California - RomeroDSD-INT 2023 Example of unstructured MODFLOW 6 modelling in California - Romero
DSD-INT 2023 Example of unstructured MODFLOW 6 modelling in California - Romero
 
DSD-INT 2023 Challenges and developments in groundwater modeling - Bakker
DSD-INT 2023 Challenges and developments in groundwater modeling - BakkerDSD-INT 2023 Challenges and developments in groundwater modeling - Bakker
DSD-INT 2023 Challenges and developments in groundwater modeling - Bakker
 
DSD-INT 2023 Demo new features iMOD Suite - van Engelen
DSD-INT 2023 Demo new features iMOD Suite - van EngelenDSD-INT 2023 Demo new features iMOD Suite - van Engelen
DSD-INT 2023 Demo new features iMOD Suite - van Engelen
 
DSD-INT 2023 iMOD and new developments - Davids
DSD-INT 2023 iMOD and new developments - DavidsDSD-INT 2023 iMOD and new developments - Davids
DSD-INT 2023 iMOD and new developments - Davids
 
DSD-INT 2023 Recent MODFLOW Developments - Langevin
DSD-INT 2023 Recent MODFLOW Developments - LangevinDSD-INT 2023 Recent MODFLOW Developments - Langevin
DSD-INT 2023 Recent MODFLOW Developments - Langevin
 
DSD-INT 2023 Hydrology User Days - Presentations - Day 2
DSD-INT 2023 Hydrology User Days - Presentations - Day 2DSD-INT 2023 Hydrology User Days - Presentations - Day 2
DSD-INT 2023 Hydrology User Days - Presentations - Day 2
 
DSD-INT 2023 Needs related to user interfaces - Snippen
DSD-INT 2023 Needs related to user interfaces - SnippenDSD-INT 2023 Needs related to user interfaces - Snippen
DSD-INT 2023 Needs related to user interfaces - Snippen
 
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - BootsmaDSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
DSD-INT 2023 Coupling RIBASIM to a MODFLOW groundwater model - Bootsma
 
DSD-INT 2023 Parameterization of a RIBASIM model and the network lumping appr...
DSD-INT 2023 Parameterization of a RIBASIM model and the network lumping appr...DSD-INT 2023 Parameterization of a RIBASIM model and the network lumping appr...
DSD-INT 2023 Parameterization of a RIBASIM model and the network lumping appr...
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

DSD-INT 2022 Singularity containers - simplifying the use of Delft3D FM on High Performance Computing (HPC) clusters - Mourits

  • 1. Adri Mourits Yvonne Olij-Kenyon Thanks to Mohamed Nabi 15 November 2022 Singularity containers: simplifying the use of Delft3D FM on High Performance Computing (HPC) clusters
  • 2. Abstract 2 The Deltares Delft3D FM kernels are currently available, precompiled, in a Singularity container. This presentation shows briefly what a container is, why it simplifies the use of Delft3D FM, and how to use it. The focus is on usage on High Performance Computing clusters. Disadvantages are discussed.
  • 3. Table of contents 3 About Singularity containers: • What is it? • Why using it? • How to use it for Delft3D FM? • Disadvantages • Future work • Summary
  • 4. What is it? 4 A Singularity container is an executable unit of software in which a ‘definition’ file is used to package application code, along with libraries and dependencies. The result is a single Singularity image file. A single .sif file definition file delft3dfm RPM libraries & dependencies lightweight operating system
  • 5. What is it? Virtual Machine versus Container 5 Container: • Less overhead • Less resources needed
  • 6. What is it? Different types of containers Singularity Docker Delft3D FM YES YES Delft3D 4 NO YES OS Linux Linux, Windows Root access needed NO YES File size 300 MB 2 GB 6 September 2022: Singularity is moved into the Linux Foundation and renamed to Apptainer
  • 7. Why using it? • No source code compilation needed 7
  • 8. Why using it? • No source code compilation needed 8 Isolation: no interference with other applications
  • 9. Why using it? • No source code compilation needed 9 Isolation Lightweight: share the host kernel
  • 10. Why using it? • No source code compilation needed 10 Isolation Lightweight Flexible: Every application can be containerized
  • 11. Why using it? • No source code compilation needed 11 Isolation Lightweight Flexible Interchangeable: deploy updates/upgrades on-the-fly
  • 12. Why using it? • No source code compilation needed 12 Isolation Lightweight Flexible Interchangeable Portable: build locally, deploy to the cloud, run anywhere
  • 13. Why using it? • No source code compilation needed 13 Isolation Lightweight Flexible Interchangeable Portable Scalable: increase, automatic distribution
  • 14. Why using it? • No source code compilation needed 14 Isolation Lightweight Flexible Interchangeable Portable Scalable Stackable: vertical service stacking on-the-fly
  • 15. Why using it? • No source code compilation needed 15 Isolation Lightweight Flexible Interchangeable Portable Scalable Stackable Reproducibility: same results, independent of underlying hardware
  • 16. Why using it? • No source code compilation needed 16 Isolation Lightweight Flexible Interchangeable Portable Scalable Stackable Reproducibility Performance: close to bare-metal (without virtualization/containers)
  • 17. How to use it for Delft3D FM? (1/5) For Delft3D FM on HPC cluster: 1. Prepare your cluster: 1. Usually your System Admin needs to do this 2. Install Apptainer (https://apptainer.org/docs/admin/main/installation.html) 3. Install “IntelMPI Library for Linux” It must be outside the container, on the hosting system, for optimal performance 17 The set-up, tuning and optimising of IntelMPI is platform dependent
  • 18. How to use it for Delft3D FM? (2/5) For Delft3D FM on HPC cluster: 2. From Deltares: 1. Request to software@deltares.nl 2. Receive 18 Please, give me the latest Singularity container Readme.txt sif container execute_singularity.sh Keep in one folder e.g. /opt/delft3dfm run_singularity.sh submit_singularity.sh Copy to working folder
  • 19. How to use it for Delft3D FM? (3/5) For Delft3D FM on HPC cluster: 3. Adapt script “execute_singularity.sh”: 1. Usually your System Admin needs to do this 2. IntelMPI settings (FI_PROVIDER, I_MPI_FABRICS) 3. Queueing dependencies (Slurm, SGE) 4. Feed everything correctly to the Singularity container • Examples are available (Deltares h6-cluster, Surf Snellius) • IntelMPI benchmark might help • This process might be painful, but when it’s done, updates should be straight forward! 19 ! This is needed to get the expected performance
  • 20. How to use it for Delft3D FM? (4/5) For Delft3D FM on HPC cluster: 4. Adapt run script in your working folder: 1. “run_singularity.sh” : example without queueing system 2. “submit_singularity.sh” : example with SGE queueing system 3. Correct path to Singularity container and “execute_singularity.sh” script 4. Choose number of nodes and partitions 5. Adapt input file with Bash commands Optionally 6. Partitioning by calling “execute_singularity.sh” Optionally 7. Start computation by calling “execute_singularity.sh” 8. Merge output files by calling “execute_singularity.sh” Optionally 20 Your input The script does
  • 21. How to use it for Delft3D FM? (5/5) For Delft3D FM on HPC cluster: 5. Run By executing your run script 21 $ sbatch submit_singularity.sh Example command for Slurm:
  • 22. Disadvantages 22 • Another dependency • Configuration might be painful • Why did they have to change the name from Singularity to Apptainer!
  • 23. Future work 23 • Simplify/generalize scripts • Switch to Apptainer • Use a container to compile
  • 24. Summary 24 If you use a HPC cluster for Delft3D FM computations Then start using Apptainer ?