Parallelization must be an integral part of any electromagnetic integrity solver for several reasons:
Speed: Solving electromagnetic integrity for a complete system, even with the fastest solvers, is time and memory intensive. To illustrate the order of magnitude, computing the S-parameters for a DDR3 memory package, approximately 80 nets on 4 layers, can take about 1 day on 10 machines with 8 cores each. If the algorithms used could not be parallelized and would run on 1 core, this would take about 50 times longer, i.e. 50 days!
Scale: The size of a problem that can be solved is determined by the memory available. Machines with very large memories exist, but are very expensive. It is more cost effective to partition a problem to pool the memory of various networked computers, e.g. 4 64GB machines to act like one 256GB machine. Ultimately this is the way to scale to very large problems.
Computers are no longer becoming faster since clock rates for processors are no longer scaling with technology. Transistor density however continues to follow Moore’s law, and these increased numbers of devices are being used to put an increasing number of processor cores on a chip since the advent of the first multi-core chip (IBM Power 4 in 2001). Consequently, the number of computer cores obtainable for a given price is increasing exponentially. In addition, developments such as virtualization and “clouds” – large amount of public or private virtualized compute resources available on demand – are making the availability of massive compute resources ever more cost effective.
Nimbic’s nWave is a full-wave solver that uses an accelerated 3D Boundary Element Method and predictive broadband meshing. It is very efficient in terms of memory use (primarily utilizing surface meshes as opposed to volumetric meshes), speed (employing advanced acceleration techniques and extensive use of parallelism) and scale (can use multiple machines for speed and for pooling memory). In addition, and in the context of parallelization in electromagnetic field solutions, Nimbic’s software architecture exploits parallelism at 3 levels.
At the machine level, matrix setup and solve are parallelized using multithreading on the ubiquitous shared memory multi-core commodity computing architecture. At the network level matrix setup and solve is parallelized in a cluster of distributed memory machines linked by a fast Local Area Network; the matrix being solved is distributed to the memory of the cluster, thus effectively scaling not only in speed but also in memory use. Finally, at the grid or cloud level, right-hand solve for multiple ports/nets, frequency sweeps and parametric sweeps are parallelized. Using these techniques Nimbic has achieved speedups of up to 600 times on 1000 cores.
If you would like to learn more about how nWave can help you speed up your Signal Integrity, Power Integrity and Electromagnetic Interference Analysis, preserving 3D full-wave maxwell accuaracy, follow the links below.
Learn more about nWave Request nWave Demo


