stephen slater, chris mueth, 2020.06
TRANSCRIPT
Stephen Slater, Chris Mueth, 2020.06.08
Tom DeMuer & Maziar Farahmand
2
3
• EM simulations Higher frequencies & finer meshes = larger matrices to solve
• Circuit simulationsMore complexity, more variables to sweep & more corners to cover
Compute power is
less expensive than
engineering hours &
schedule delays
How much Time and Risk can you cut from your schedule
by getting more simulations finished in less time?
Distributed (parallel) simulation is supported for EM
& Circuit simulation engines today!
4
I F I T ’ S H A R D T O A C C E S S – I T W O N T B E W I D E LY - A D O P T E D B Y U S E R S
User on
WindowsUser on
WindowsUser on
WindowsUser on
Windows
Remote Session
on Linux
Remote Session
on Big Windows
Machine
Individual/Separate 8-pack licenses for:
• FEM
• Momentum
• Linear S-Param
• Harmonic Balance
• Transient Convolution
• Circuit Envelope
• Channel Sim
• DDR Bus Sim
• GoldenGate Simulators
Manual transfer
Hard to check status
GB of simulation results to manual transfer
Can’t continue work until simulation is finished,
else design has branched and have to merge.
LSF
Queue
On-Premises Compute Cluster
Simulation licensing connectivity
Finite resources – how to scale at peak times?
Manual transfer
User-experience affected by network latency
5
As straight-forward as:
1. Simplified Licensing – New HPC 1-pack ‘Droplets’
2. Ease of Accessibility – New web-service to easily hand-off simulation jobs
3. Turn-key Cloud Solutions – New partnerships with fully-managed cloud platform vendors
T H E E A S I E S T PAT H T O H P C D I S T R I B U T E D S I M U L AT I O N
6
T H E E A S I E S T PAT H T O H P C D I S T R I B U T E D S I M U L AT I O N
Sim Service
LSF
Queue
On-Premises Compute Cluster
User on Windows
/ LinuxUser on Windows
/ LinuxUser on Windows
/ LinuxUser on Windows
/ LinuxUser on Windows
/ Linux
Single-Machine with Many Cores
Cloud HPC Deployment
Simulation setup on local machine
Simulate directly to Sim Service – creates jobs and transfers
necessary files automatically to all 3 deployment options
Check status of job either in ADS, or via web page
Logging-out of ADS locally, doesn’t end the simulation
Downloads finished simulations automatically when the ADS
workspace is re-opened
Sim Service
Sim Service
Singular
User-Experience
7
T H E E M S I M U L AT I O N U S E - C A S E
Web-Service
• Example • RFPro FEM simulation requesting 32 freq pts.
• Memory required for FEM solve is 20GB
• User-set parallel jobs = 8
• HW resources need 8 x 20GB memory to
solve 8 jobs in parallel (4 freq pts per job)
• PathWave ADS 2021 (Release date: July 2020)
RFPro / SIPro / PIPro / PEPro will support DesignCloud
• Install DesignCloud Sim Service on destination HPC system
• Momentum, FEM and SIPro simulations can perform parallel
jobs by dividing up the frequency points to solve.
• Momentum, FEM and SIPro simulators are multi-threaded,
this speedup is free
8
• New Droplet ‘1-pack’ HPC licenses
• A droplet allows 1 additional parallel job to be started
• Droplets stack linearly to achieve the parallelism desired
• Example:• For 8 parallel jobs, 1 simulator license and 7 HPC droplets will be
checked out
• If a user requests 20 jobs, but only 8 droplets are available in the
license pool, 9 jobs will be launched instead
• Product Numbers:
• W3029E Circuit Sim HPC 1-Pack
• W3039E EM HPC 1-Pack
S AV E T I M E - R E D U C E R I S K – A D O P T H P C
DesignCloud
Dynamic
Enterprise
Agreements
Higher HPC
Asset Utilization
Simple HPC
Licensing
Cloud scaling for
peak demand
Enabling Predictive, Productive Design Cycles
9
T U R N - K E Y S O L U T I O N S T H R O U G H PA R T N E R S H I P S
10
11
12
DesignCloud
Sim Service Use-Model
Automatic transfer of files
Remote Desktop Use-model
Manual transfer of files
GUI latency
Click a Tile to spool up
the number of machines
required
13
• Install PathWave ADS 2021
• Install DesignCloud SimService on HPC destination system (Keysight to provide guidance)
• Request sufficient number of HPC ‘Droplet’ licenses
• Request Nimbix evaluation account, if interested in testing Cloud HPC
• Select a suitable testcase for speedup
14
• DesignCloud : A program name to describe all of PathWave Design’s distributed simulation solutions, and particularly the way we do it.
• Sim Service : Becoming synonymous with DesignCloud, this is a new software web-service that can be installed, to provide an interface
between the simulation-user on their local machine, and the middleware that controls a cluster or cloud hardware. This web-service is
specific to the needs of simulation. It handles user simulation requests and constraints, and becomes a simulation proxy – making sure that
simulations (and the parallel jobs that are spawned from them) are completed successfully. It aids the transfer of files and monitoring the
progress of simulation, it allows the user to decouple their local machine from the simulation execution. It is what makes the user-
experience EASY.
• Middleware : Software that acts as a bridge between an operating system and applications, especially on a network. In this instance we
speak of Job-schedulers like LSF, Slurm, SiteCluster etc. And also hardware resource arbiters (spooling up cloud instances), such as the
proprietary software from Nimbix (JARVICE) and Rescale
• Simulation Manager : Within PathWave ADS and GoldenGate, this long-standing feature is used for performing distributed simulation for
circuit simulators only. Simulation manager is a simulation proxy, but it does not have a web-service interface. The roadmap is to enable
connection between Simulation Manager and Sim Service, to enable easy parallel simulation in the cloud and on-prem, across Operating
Systems and across file-management systems.
• HPC : High-performance computing (HPC) is the umbrella term for use of parallel processing for running advanced application programs
efficiently, reliably and quickly.
• Cloud HPC : A use-case for the Cloud, whereby multiple cloud resources are provisioned for the purposes of HPC.
15
• 1 Thread or 1 Core? : Thread = a software concept. A Core = a piece of hardware, multiple cores make up a CPU component, but each
core is a processor in its own right. The OS will take the threads created by a process and schedule them on a core. A modern OS manages
about 2000 threads at any time and schedule those round-robin on available cores. Thread scheduling overhead is low but non-negligible. A
Core can process a single instruction stream. The OS lets a CPU point to an instruction in memory and let it loose, however after some time
it will interrupt that and point to another instruction stream. Each of those instruction streams are part of a thread. So, you will get optimal
speed-up when there are multiple cores available on the same node, that can maximize the benefits of multithreading to work!
• Job : This is the unit of measure for parallelism. An EM simulation, may split up the work to be done, into X number of jobs. If you have 8
compute nodes each with 4 core CPUs, you should not request more than 8 parallel jobs at 4 threads each. If there are not enough compute
nodes available for all jobs to be started at once, middle-ware may hold the job queue, until the # of nodes requested come available.
• HPC 1-pack Droplet : The license that unlocks 1 additional job to be run in parallel. Licenses are stacked to reach the parallelism desired.
E.g. 7 HPC droplets allows for 8 parallel jobs. There are two types - EM droplets, and Circuit Sim droplets.
• Node : A node is a point of intersection/connection within a network. Typically referring to a specific piece of hardware with a unique IP
address that is connected to the network. What can be confusing, is that a single large machine can be configured by software to represent
several independent IP addresses, with each of these nodes containing m cores.