Feedback on Big Compute & HPC on Windows Azure
Innovation Recherche
Feedback on
Big Compute & HPC
on Windows Azure
Antoine Poliakov
HPC Consultant
ANEO
apoliakov@aneo.fr
http://blog.aneo.eu
#mstechdays Innovation Recherche#3
• Cloud : on-demand access through a telecommunications network to shared and user-
configurable IT resources
• HPC (High Performance Computing) : a branch of computer science conercned with maximizing
software efficiency, in particular in terms of execution speed
– Raw computing power doubles every 1.5 - 2 years
– Network throughput doubles every 2 - 3 years
– The compute/network gap doubles every 5 years
• HPC in the cloud allows makes computing power accessible to all (SME, research labs, etc.)
 Fosters innovation
• Our question : can the cloud offer sufficient performances for HPC workloads ?
– CPU : 100% native speed
– RAM: 99% native speed
– Network ???
HPC : a challenge for the cloud
Introduction
#mstechdays Innovation Recherche#4
State of the art of HPC in the cloud
Experiments
Technology
HPC oriented
cloud
Use-case
HPC software
3 ingredients yield an answer through experimentation
Introduction
#mstechdays Innovation Recherche#5
Identify technologies and partners
• HPC software use-case
• Efficient cloud computing service
Port the applicative HPC code : cluster  cloud
• Skills improvements
• Feedback on the technologies
Experiment and measure performances
• Scaling
• Data transfers
Experimenting on HPC in the cloud : our approach
Introduction
#mstechdays Innovation Recherche#6
A collaborative project with 3 complementary actors
Introduction
Established HPC research teams:
 Distributed software & big data
 Machine learning and interactive
systems
Goals
 Is the cloud ready for scientific
computing ?
 Specificities of deploying in the
cloud ?
 Performances
Windows Azure provides a cloud
solution aimed at HPC workloads:
Azure Big Compute
Goals
 Pre-release feedback
 Inside view of a HPC
cluster  cloud transition
Consulting firm: organization and
technologies
 HPC Practice: fast/massive
information processing for finance
and industries
Goals
 Identify most relevent use-cases
for our clients
 Estimate the complexity of
porting and deploying an app
 Evaluate if the solution is
production-ready
#mstechdays Innovation Recherche#7
Dedicated and competant teams: thank you all!
Introduction
Research
 Use-case: distributed audio
segmentation
 Experiments analysis
Provider
 Created the technical solution
 Made available notable
computational power
Consulting
 Ported and deployed the
application in the cloud
 Led the benchmarks
Constantinos Makassikis
HPC Consultant
Wilfried Kirschenmann
HPC Consultant
Antoine Poliakov
HPC Consultant
Stéphane Rossignol
Assistant Professor,
Signal processing
Stéphane Vialle
Professor,
Computer science
Xavier Pillons
Principal Program Manager,
Windows Azure CAT
Kévin Dehlinger
Computer scientist intern
CNAM
#mstechdays Innovation Recherche#8
1. Technical context
2. Feedback on porting the application
3. Optimizations
4. Results
Presentationcontents
Innovation Recherche#mstechdays #9
1. TECHNICAL CONTEXT
a. Azure Big Compute
b. ParSon
#mstechdays Innovation Recherche#10
Azure Big Compute = New Azure nodes + HPC Pack
• 2x8 snb E5-2670 @2.6Ghz, 112Gb DDR3 @1.6Ghz
• InfiniBand (network direct @40Gbit/s): RDMA via MS-MPI @3.5Gb/s, 3µs
• IP over Ethernet @10Gbit/s ; HDD 2Tb @250Mo/s
• Azure hypervisor
New nodes: A8 and A9
• Task scheduler middleware: Cluster Manager + SDK
• Tested with 50k cores in Azure
• Free Extension Pack : any Windows Server install can be a node
HPC Pack
Azure Big Compute
#mstechdays Innovation Recherche#11
HPC Pack : on permise cluster
Azure Big Compute
• Active Directory, Manager and nodes
in a privately managed infrastructure
• Cluster dimensioned w.r.t. maximal workload
• Administration : hardware + software
AD
M
N N
N N
N N
N N
N N N N
#mstechdays Innovation Recherche#12
HPC Pack : in the Azure Big Compute cloud
• Active Directory and manager in the cloud (VMs)
• Nodes allocation and pricing on demand
• Admin : software only
Azure Big Compute
AD
M
N N
N N
N N
N N
N N N N
Remote
desktop/CLI
PaaS nodes
IaaS VM
#mstechdays Innovation Recherche#13
HPC Pack : hybrid deployment
Azure Big Compute
• Active Directory and manager on premise
• Nodes both in the datacenter and in the cloud
• Local dimensioning w.r.t. average load
Dynamic cloud dimensioning: absorbs peaks
• Admin: software + hardware
AD
M
N N
N N
N N
N N
N N N N
N N
N N
N N
N N
N N N N
VPN
#mstechdays Innovation Recherche#14
• ParSon = audio segmentation algorithm : voice / music
1. Supervised training on known audio samples to calibrate the classifier
2. Classification based on spectral analysis (FFT) on sliding windows
ParSon: an audio segmentation scientific software
ParSon
ParSon
Segmentation and classification
Digital audio
voice
music
#mstechdays Innovation Recherche#15
ParSon is distributed with OpenMP + MPI
ParSon
1. Upload input
files
OAR
2. Reserves
N computers
4. MPI Exec
6. Get outputs
NAS Reserved computers
Linux cluster
3. Input
deployment
5. Tasks with
heavy inter-
communications
Data
Control
#mstechdays Innovation Recherche#16
Performances are limited by data transfers
ParSon
8
32
128
512
2048
1 4 16 64 256
Bestruntime(s)
Number of nodes
en réseau, à froid
en local, à froid
IO bound
Nodes read from NAS
Nodes read locally
Innovation Recherche#mstechdays #17
2. PORTING THE APPLICATION
a. Porting C++ code: Linux  Windows
b. Porting distribution strategy: Cluster  HPC Cluster Manager
c. Porting and adapting deployment scripts
#mstechdays Innovation Recherche#18
• ParSon and Visual conform to the C++ standard  few code changes
• Dependencies are the standard libraries and cross-platform scientific
libraries : libsnd, fftw
• Thanks to MS-MPI, inter-process communication code doesn’t change
• Visual Studio natively supports OpenMP
• The only task left was translating build files:
Makefiles  Visual C++ projects
Standards conformance = easy Linux  Windows porting
Porting
#mstechdays Innovation Recherche#19
ParSon in the cluster
Porting
1. Upload input
file
OAR
2. Reserves
N computers
4. MPI Exec
6. Get output
NAS Reserved computers
Linux cluster
3. Input
deployment
5. Run and
inter-com.
Data
Control
#mstechdays Innovation Recherche#20
HPC
pack
SDK
ParSon dans le Cloud Azure
Porting
1. Upload input
file
HPC Cluster
Manager
2. Reserves
N nodes
4. MPI Exec
6. Get output
Azure Storage Provisioned A9 nodes
PaaS Big Compute
3. Input
deployment
AD
Domain
controller
IaaS PaaS
Data
Control
5. Run and
inter-com.
#mstechdays Innovation Recherche#21
At every software update : package + send in the cloud
1. Send to manager
– Either with Azure Storage
Set-AzureStorageBlobContent  Get-AzureStorageBlobContent
hpcpack create ; hpcpack upload  hpcpack download
– Or with normal transfert : internet accessible fileserver : FileZilla, etc.
2. Packaging script: mkdir, copy, etc. ; hpcpack create
3. Send to Azure storage: hpcpack upload
At every node provisioning : local copy
1. Remotely execute on nodes from the manager with clusrun
2.hpcpack download
3.powershell -command "Set-ExecutionPolicy RemoteSigned"
Invoke-Command -FilePath … -Credential …
Start-Process powershell -Verb runAs -ArgumentList …
4. Installation : %deployedPath%deployScript.ps1
Deployment within Azure
Porting
#mstechdays Innovation Recherche#22
• Transferring the input file is longer than sequential computation on a
single thread
• On many cores, computation times is negligible compared to transfers
• WAV format headers and ParSon code limit input size to 4Gb
This first working setup has some limitations
Porting
Innovation Recherche#mstechdays #23
3. OPTIMIZATIONS
#mstechdays Innovation Recherche#24
Identified bottleneck is the input file transfer
1. Disk write throughput: 300 Mb/s
 We use a RAMFS
2. Accès Azure Storage : QoS 1.6 Gb/s
 Download only once from the storage account, then broadcast through InfiniBand
3. Large input files: 60 Gb
 FLAC c8 lossless compression halves size + not limited to 4Gb
 Declare all counters as 64 bits ints in C++ code
Methodology : suppress the bottleneck
Optimizations
#mstechdays Innovation Recherche#25
• RAMFS = filesystem stored in a RAM block
– Very fast
– Limited capacity, non persistent
• ImDisk
– Lightweight: driver + service + command line
– Open-source but signed for Win64
• Scripted silent install :
– hpcpack create …
– rundll32 setupapi.dll,InstallHinfSection DefaultInstall 128 disk.inf
Start-Service -inputobject $(get-service -Name imdisk)
– imdisk.exe -a -t vm -s 30G -m F: -o rw
format F: /fs:ntfs /x /q /Y
– $acl = Get-Acl F:
$acl.AddAccessRule(…FileSystemAccessRule("Everyone","Write", …))
Set-Acl F: $acl
• Run at every node provisioning
Accelerating local data access with a RAM filesystem
Optimizations
#mstechdays Innovation Recherche#26
• All standard transfer systems go through the Ethernet interface
– Azure Storage access via Azure and HPC Pack SDKs
– Windows share or CIFS network drive
– Standard file transfer protocols: FTP, NFS, etc.
• The simplest way to leverage InfiniBand is through MPI
1. On one node: download the input file: Azure  RAMFS
2. mpiexec broadcast.exe : 1 process per node
• We developped a command line utility in C++ / MPI
• If id = 0, reads RAMFS, by 4mb blocs and sends to other nodes through InfiniBand : MPI_Bcast
• If id ≠ 0, recieve data blocs and save them on RAMFS
• Uses Win32 API: faster than standard library abstractions
3. Input data is in the RAM of all nodes, accessible as a file from the application
Accelerating input file deployment
Optimizations
Innovation Recherche#mstechdays #27
4. RESULTS
#mstechdays Innovation Recherche#28
Computations scale well, especially for bigger files
Results
Number of cores (log)Number of cores (log)
Computation time scaling (log-log plot) Computation efficiency for different input sizes
Realspeedup/idealspeedup
Computationtime(sec,log)
#mstechdays Innovation Recherche#29
Input file transfer make global scaling worse
Results
+-
Number of cores (log)
Efficiency for compute only and including transfers
Raw compute
Number of cores (log)
Realspeedup/idealspeedup
Time(sec,log)
Time decomposition, for an hour of input audio
#mstechdays Innovation Recherche#30
Consistent storage throughput (220Mb/s), latency may be high
Broadcast constant @700 Mb/s
Results
Number of machinesFile size (Gb)
Asure storage download performances Broadcast time scaling
Broadcasttime(sec,log)
Downloadtime(min)
Innovation Recherche#mstechdays #31
5. CONCLUSION
#mstechdays Innovation Recherche#32
Our feedback on the Big Compute technology
• HPC standards conformance: C++, OpenMP, MPI
– Ported in 10 work days
• Solid performances
– Compute: CPU, RAM
– Network: InfiniBand between nodes
• Reactive support
– Community, Microsoft
• Intuitive user interface
– manage.windowsazure.com
– HPC Cluster Manager
• Everything is scriptable & programmable
• Cloud is more flexible than cluster
• Unified management of cloud and on-premise
• Data transfers
– Azure storage latency sometimes high
– Azure storage limited QoS  users must
implement multiple account striping
– HDDs are slow (for HPC), even on A9
• Nodes administration
– Nodes ↔ Manager transfers must go
through Azure storage: less convenient
than conventional remote file systems
• Provisioning time must be taken into
account (~7min)
#mstechdays Innovation Recherche#33
Azure Big Compute for research and business
• Access to compute without any barrier
paperwork, finance, etc.
• Start your workload in minutes
– For squeezing a few more before the
(extended) deadline for that conference 
• Well suited to researchers in
distributed computing
– Parametric experiments
• A super computer for all, without investment
• Elastic scaling : on-demand sizing
• Interoperable with Windows clusters
– Cloud absorbs peaks
– Best of both worlds
• Datacenters in UE : Ireland + Netherlands
Predictable, pay what you use cost model
Modern design, extensive documentation, efficient support
Decreased need for administration – but still needed on the software side
For research For business
#mstechdays Innovation Recherche#34
Thanks
?
Thank you for your attention
• Antoine Poliakov
apoliakov@aneo.fr
• Stéphane Vialle
stephane.vialle@supelec.fr
• ANEO
http://aneo.eu
http://blog.aneo.eu
• Retrouvez nous aux TechDays !
Stand ANEO jeudi 11h30 - 13h
Au cœur du SI > Infrastructure moderne avec Azure
All our thanks to Microsoft
for lending us the nodes
A question : don’t hesitate!
Digital is business

More Related Content

PDF
Lenovo system management solutions
PPTX
Network OS Code Coverage demo using Bullseye tool
PDF
SPACK: A Package Manager for Supercomputers, Linux, and MacOS
PPTX
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
PDF
Reproducible Computational Pipelines with Docker and Nextflow
PDF
SDAccel Design Contest: Xilinx SDAccel
PDF
Developping drivers on small machines
PDF
NBIS ChIP-seq course
Lenovo system management solutions
Network OS Code Coverage demo using Bullseye tool
SPACK: A Package Manager for Supercomputers, Linux, and MacOS
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
Reproducible Computational Pipelines with Docker and Nextflow
SDAccel Design Contest: Xilinx SDAccel
Developping drivers on small machines
NBIS ChIP-seq course

What's hot (20)

PDF
Intel dpdk Tutorial
PDF
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
PDF
SDAccel Design Contest: Vivado HLS
PDF
State of Containers and the Convergence of HPC and BigData
PPT
Deploying datacenters with Puppet - PuppetCamp Europe 2010
PDF
Apache Spark with Hortonworks Data Platform - Seattle Meetup
PPTX
Spack - A Package Manager for HPC
PDF
How Netflix Tunes EC2 Instances for Performance
PDF
Effectively using Open Source with conda
PPTX
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
PDF
SDAccel Design Contest: Vivado
PDF
Netflix SRE perf meetup_slides
PDF
Kernel Recipes 2019 - XDP closer integration with network stack
PDF
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
PDF
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
PPTX
Addressing DHCP and DNS scalability issues in OpenStack Neutron
PDF
Red Hat Storage 2014 - Product(s) Overview
PPTX
SC'18 BoF Presentation
PDF
Linux Kernel Cryptographic API and Use Cases
PDF
Overview of Intel® Omni-Path Architecture
Intel dpdk Tutorial
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
SDAccel Design Contest: Vivado HLS
State of Containers and the Convergence of HPC and BigData
Deploying datacenters with Puppet - PuppetCamp Europe 2010
Apache Spark with Hortonworks Data Platform - Seattle Meetup
Spack - A Package Manager for HPC
How Netflix Tunes EC2 Instances for Performance
Effectively using Open Source with conda
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
SDAccel Design Contest: Vivado
Netflix SRE perf meetup_slides
Kernel Recipes 2019 - XDP closer integration with network stack
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
Addressing DHCP and DNS scalability issues in OpenStack Neutron
Red Hat Storage 2014 - Product(s) Overview
SC'18 BoF Presentation
Linux Kernel Cryptographic API and Use Cases
Overview of Intel® Omni-Path Architecture
Ad

Similar to Feedback on Big Compute & HPC on Windows Azure (20)

PPTX
Feedback on Big Compute & HPC on Windows Azure
PDF
NCS: NEtwork Control System Hands-on Labs
PPTX
DR_PRESENT 1
PDF
Unleash the Power of Open Networking
PDF
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
PPTX
Docker Platform and Ecosystem Nov 2015
PPTX
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
PDF
La visualisation 3D distante sans compromis avec NICE DCV
PPTX
Transtec nice webinar v2
PPTX
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
PPTX
PPTX
HPC and cloud distributed computing, as a journey
PDF
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
PPTX
What's New in Docker - February 2017
DOC
Greg_Res_2015-ADP
PDF
Ceph Day Berlin: Building Your Own Disaster? The Safe Way to Make Ceph Storag...
PDF
IncludeOS for ics 2018
PDF
All in one
PDF
Accelerate Big Data Processing with High-Performance Computing Technologies
PDF
Scalable and Distributed DNN Training on Modern HPC Systems
Feedback on Big Compute & HPC on Windows Azure
NCS: NEtwork Control System Hands-on Labs
DR_PRESENT 1
Unleash the Power of Open Networking
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
Docker Platform and Ecosystem Nov 2015
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
La visualisation 3D distante sans compromis avec NICE DCV
Transtec nice webinar v2
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
HPC and cloud distributed computing, as a journey
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
What's New in Docker - February 2017
Greg_Res_2015-ADP
Ceph Day Berlin: Building Your Own Disaster? The Safe Way to Make Ceph Storag...
IncludeOS for ics 2018
All in one
Accelerate Big Data Processing with High-Performance Computing Technologies
Scalable and Distributed DNN Training on Modern HPC Systems
Ad

More from ANEO (6)

PPTX
Présentation aneo v1.1 (1)
PPTX
Experientiel formation
PPTX
Présentation aneo digitalisation insa
PPTX
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
PPTX
Présentation digitalisation des entreprises, évolution ou révolution
PPTX
HPCLib & Excel : An efficient way to compute with Xeon PHI
Présentation aneo v1.1 (1)
Experientiel formation
Présentation aneo digitalisation insa
Tech daysRetour d’expérience Big Compute & HPC sur Windows Azure [TechDays 2014]
Présentation digitalisation des entreprises, évolution ou révolution
HPCLib & Excel : An efficient way to compute with Xeon PHI

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
The various Industrial Revolutions .pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Unlock new opportunities with location data.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
DOCX
search engine optimization ppt fir known well about this
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
August Patch Tuesday
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Hybrid model detection and classification of lung cancer
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
The various Industrial Revolutions .pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Unlock new opportunities with location data.pdf
A novel scalable deep ensemble learning framework for big data classification...
search engine optimization ppt fir known well about this
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Benefits of Physical activity for teenagers.pptx
Tartificialntelligence_presentation.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
1 - Historical Antecedents, Social Consideration.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Assigned Numbers - 2025 - Bluetooth® Document
August Patch Tuesday
Chapter 5: Probability Theory and Statistics
Hybrid model detection and classification of lung cancer
Developing a website for English-speaking practice to English as a foreign la...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx

Feedback on Big Compute & HPC on Windows Azure

  • 2. Innovation Recherche Feedback on Big Compute & HPC on Windows Azure Antoine Poliakov HPC Consultant ANEO apoliakov@aneo.fr http://blog.aneo.eu
  • 3. #mstechdays Innovation Recherche#3 • Cloud : on-demand access through a telecommunications network to shared and user- configurable IT resources • HPC (High Performance Computing) : a branch of computer science conercned with maximizing software efficiency, in particular in terms of execution speed – Raw computing power doubles every 1.5 - 2 years – Network throughput doubles every 2 - 3 years – The compute/network gap doubles every 5 years • HPC in the cloud allows makes computing power accessible to all (SME, research labs, etc.)  Fosters innovation • Our question : can the cloud offer sufficient performances for HPC workloads ? – CPU : 100% native speed – RAM: 99% native speed – Network ??? HPC : a challenge for the cloud Introduction
  • 4. #mstechdays Innovation Recherche#4 State of the art of HPC in the cloud Experiments Technology HPC oriented cloud Use-case HPC software 3 ingredients yield an answer through experimentation Introduction
  • 5. #mstechdays Innovation Recherche#5 Identify technologies and partners • HPC software use-case • Efficient cloud computing service Port the applicative HPC code : cluster  cloud • Skills improvements • Feedback on the technologies Experiment and measure performances • Scaling • Data transfers Experimenting on HPC in the cloud : our approach Introduction
  • 6. #mstechdays Innovation Recherche#6 A collaborative project with 3 complementary actors Introduction Established HPC research teams:  Distributed software & big data  Machine learning and interactive systems Goals  Is the cloud ready for scientific computing ?  Specificities of deploying in the cloud ?  Performances Windows Azure provides a cloud solution aimed at HPC workloads: Azure Big Compute Goals  Pre-release feedback  Inside view of a HPC cluster  cloud transition Consulting firm: organization and technologies  HPC Practice: fast/massive information processing for finance and industries Goals  Identify most relevent use-cases for our clients  Estimate the complexity of porting and deploying an app  Evaluate if the solution is production-ready
  • 7. #mstechdays Innovation Recherche#7 Dedicated and competant teams: thank you all! Introduction Research  Use-case: distributed audio segmentation  Experiments analysis Provider  Created the technical solution  Made available notable computational power Consulting  Ported and deployed the application in the cloud  Led the benchmarks Constantinos Makassikis HPC Consultant Wilfried Kirschenmann HPC Consultant Antoine Poliakov HPC Consultant Stéphane Rossignol Assistant Professor, Signal processing Stéphane Vialle Professor, Computer science Xavier Pillons Principal Program Manager, Windows Azure CAT Kévin Dehlinger Computer scientist intern CNAM
  • 8. #mstechdays Innovation Recherche#8 1. Technical context 2. Feedback on porting the application 3. Optimizations 4. Results Presentationcontents
  • 9. Innovation Recherche#mstechdays #9 1. TECHNICAL CONTEXT a. Azure Big Compute b. ParSon
  • 10. #mstechdays Innovation Recherche#10 Azure Big Compute = New Azure nodes + HPC Pack • 2x8 snb E5-2670 @2.6Ghz, 112Gb DDR3 @1.6Ghz • InfiniBand (network direct @40Gbit/s): RDMA via MS-MPI @3.5Gb/s, 3µs • IP over Ethernet @10Gbit/s ; HDD 2Tb @250Mo/s • Azure hypervisor New nodes: A8 and A9 • Task scheduler middleware: Cluster Manager + SDK • Tested with 50k cores in Azure • Free Extension Pack : any Windows Server install can be a node HPC Pack Azure Big Compute
  • 11. #mstechdays Innovation Recherche#11 HPC Pack : on permise cluster Azure Big Compute • Active Directory, Manager and nodes in a privately managed infrastructure • Cluster dimensioned w.r.t. maximal workload • Administration : hardware + software AD M N N N N N N N N N N N N
  • 12. #mstechdays Innovation Recherche#12 HPC Pack : in the Azure Big Compute cloud • Active Directory and manager in the cloud (VMs) • Nodes allocation and pricing on demand • Admin : software only Azure Big Compute AD M N N N N N N N N N N N N Remote desktop/CLI PaaS nodes IaaS VM
  • 13. #mstechdays Innovation Recherche#13 HPC Pack : hybrid deployment Azure Big Compute • Active Directory and manager on premise • Nodes both in the datacenter and in the cloud • Local dimensioning w.r.t. average load Dynamic cloud dimensioning: absorbs peaks • Admin: software + hardware AD M N N N N N N N N N N N N N N N N N N N N N N N N VPN
  • 14. #mstechdays Innovation Recherche#14 • ParSon = audio segmentation algorithm : voice / music 1. Supervised training on known audio samples to calibrate the classifier 2. Classification based on spectral analysis (FFT) on sliding windows ParSon: an audio segmentation scientific software ParSon ParSon Segmentation and classification Digital audio voice music
  • 15. #mstechdays Innovation Recherche#15 ParSon is distributed with OpenMP + MPI ParSon 1. Upload input files OAR 2. Reserves N computers 4. MPI Exec 6. Get outputs NAS Reserved computers Linux cluster 3. Input deployment 5. Tasks with heavy inter- communications Data Control
  • 16. #mstechdays Innovation Recherche#16 Performances are limited by data transfers ParSon 8 32 128 512 2048 1 4 16 64 256 Bestruntime(s) Number of nodes en réseau, à froid en local, à froid IO bound Nodes read from NAS Nodes read locally
  • 17. Innovation Recherche#mstechdays #17 2. PORTING THE APPLICATION a. Porting C++ code: Linux  Windows b. Porting distribution strategy: Cluster  HPC Cluster Manager c. Porting and adapting deployment scripts
  • 18. #mstechdays Innovation Recherche#18 • ParSon and Visual conform to the C++ standard  few code changes • Dependencies are the standard libraries and cross-platform scientific libraries : libsnd, fftw • Thanks to MS-MPI, inter-process communication code doesn’t change • Visual Studio natively supports OpenMP • The only task left was translating build files: Makefiles  Visual C++ projects Standards conformance = easy Linux  Windows porting Porting
  • 19. #mstechdays Innovation Recherche#19 ParSon in the cluster Porting 1. Upload input file OAR 2. Reserves N computers 4. MPI Exec 6. Get output NAS Reserved computers Linux cluster 3. Input deployment 5. Run and inter-com. Data Control
  • 20. #mstechdays Innovation Recherche#20 HPC pack SDK ParSon dans le Cloud Azure Porting 1. Upload input file HPC Cluster Manager 2. Reserves N nodes 4. MPI Exec 6. Get output Azure Storage Provisioned A9 nodes PaaS Big Compute 3. Input deployment AD Domain controller IaaS PaaS Data Control 5. Run and inter-com.
  • 21. #mstechdays Innovation Recherche#21 At every software update : package + send in the cloud 1. Send to manager – Either with Azure Storage Set-AzureStorageBlobContent  Get-AzureStorageBlobContent hpcpack create ; hpcpack upload  hpcpack download – Or with normal transfert : internet accessible fileserver : FileZilla, etc. 2. Packaging script: mkdir, copy, etc. ; hpcpack create 3. Send to Azure storage: hpcpack upload At every node provisioning : local copy 1. Remotely execute on nodes from the manager with clusrun 2.hpcpack download 3.powershell -command "Set-ExecutionPolicy RemoteSigned" Invoke-Command -FilePath … -Credential … Start-Process powershell -Verb runAs -ArgumentList … 4. Installation : %deployedPath%deployScript.ps1 Deployment within Azure Porting
  • 22. #mstechdays Innovation Recherche#22 • Transferring the input file is longer than sequential computation on a single thread • On many cores, computation times is negligible compared to transfers • WAV format headers and ParSon code limit input size to 4Gb This first working setup has some limitations Porting
  • 24. #mstechdays Innovation Recherche#24 Identified bottleneck is the input file transfer 1. Disk write throughput: 300 Mb/s  We use a RAMFS 2. Accès Azure Storage : QoS 1.6 Gb/s  Download only once from the storage account, then broadcast through InfiniBand 3. Large input files: 60 Gb  FLAC c8 lossless compression halves size + not limited to 4Gb  Declare all counters as 64 bits ints in C++ code Methodology : suppress the bottleneck Optimizations
  • 25. #mstechdays Innovation Recherche#25 • RAMFS = filesystem stored in a RAM block – Very fast – Limited capacity, non persistent • ImDisk – Lightweight: driver + service + command line – Open-source but signed for Win64 • Scripted silent install : – hpcpack create … – rundll32 setupapi.dll,InstallHinfSection DefaultInstall 128 disk.inf Start-Service -inputobject $(get-service -Name imdisk) – imdisk.exe -a -t vm -s 30G -m F: -o rw format F: /fs:ntfs /x /q /Y – $acl = Get-Acl F: $acl.AddAccessRule(…FileSystemAccessRule("Everyone","Write", …)) Set-Acl F: $acl • Run at every node provisioning Accelerating local data access with a RAM filesystem Optimizations
  • 26. #mstechdays Innovation Recherche#26 • All standard transfer systems go through the Ethernet interface – Azure Storage access via Azure and HPC Pack SDKs – Windows share or CIFS network drive – Standard file transfer protocols: FTP, NFS, etc. • The simplest way to leverage InfiniBand is through MPI 1. On one node: download the input file: Azure  RAMFS 2. mpiexec broadcast.exe : 1 process per node • We developped a command line utility in C++ / MPI • If id = 0, reads RAMFS, by 4mb blocs and sends to other nodes through InfiniBand : MPI_Bcast • If id ≠ 0, recieve data blocs and save them on RAMFS • Uses Win32 API: faster than standard library abstractions 3. Input data is in the RAM of all nodes, accessible as a file from the application Accelerating input file deployment Optimizations
  • 28. #mstechdays Innovation Recherche#28 Computations scale well, especially for bigger files Results Number of cores (log)Number of cores (log) Computation time scaling (log-log plot) Computation efficiency for different input sizes Realspeedup/idealspeedup Computationtime(sec,log)
  • 29. #mstechdays Innovation Recherche#29 Input file transfer make global scaling worse Results +- Number of cores (log) Efficiency for compute only and including transfers Raw compute Number of cores (log) Realspeedup/idealspeedup Time(sec,log) Time decomposition, for an hour of input audio
  • 30. #mstechdays Innovation Recherche#30 Consistent storage throughput (220Mb/s), latency may be high Broadcast constant @700 Mb/s Results Number of machinesFile size (Gb) Asure storage download performances Broadcast time scaling Broadcasttime(sec,log) Downloadtime(min)
  • 32. #mstechdays Innovation Recherche#32 Our feedback on the Big Compute technology • HPC standards conformance: C++, OpenMP, MPI – Ported in 10 work days • Solid performances – Compute: CPU, RAM – Network: InfiniBand between nodes • Reactive support – Community, Microsoft • Intuitive user interface – manage.windowsazure.com – HPC Cluster Manager • Everything is scriptable & programmable • Cloud is more flexible than cluster • Unified management of cloud and on-premise • Data transfers – Azure storage latency sometimes high – Azure storage limited QoS  users must implement multiple account striping – HDDs are slow (for HPC), even on A9 • Nodes administration – Nodes ↔ Manager transfers must go through Azure storage: less convenient than conventional remote file systems • Provisioning time must be taken into account (~7min)
  • 33. #mstechdays Innovation Recherche#33 Azure Big Compute for research and business • Access to compute without any barrier paperwork, finance, etc. • Start your workload in minutes – For squeezing a few more before the (extended) deadline for that conference  • Well suited to researchers in distributed computing – Parametric experiments • A super computer for all, without investment • Elastic scaling : on-demand sizing • Interoperable with Windows clusters – Cloud absorbs peaks – Best of both worlds • Datacenters in UE : Ireland + Netherlands Predictable, pay what you use cost model Modern design, extensive documentation, efficient support Decreased need for administration – but still needed on the software side For research For business
  • 34. #mstechdays Innovation Recherche#34 Thanks ? Thank you for your attention • Antoine Poliakov apoliakov@aneo.fr • Stéphane Vialle stephane.vialle@supelec.fr • ANEO http://aneo.eu http://blog.aneo.eu • Retrouvez nous aux TechDays ! Stand ANEO jeudi 11h30 - 13h Au cœur du SI > Infrastructure moderne avec Azure All our thanks to Microsoft for lending us the nodes A question : don’t hesitate!