( ESNUG 483 Item 7 ) -------------------------------------------- [11/19/09]
From: [ Mr. Hat from South Park ]
Subject: A Calibre nmDRC 6X speed-up from HyperScaling and Hyper Remote
Hi, John,
Please keep my name out of this for EDA vendor political reasons.
Since we were not required pay anything extra to use Calibre HyperScaling
and Hyper Remote (both you get free with Calibre nmDRC) we started using
them when they were first introduced in 2006 and 2008 respectively. They
use the same hardware configuration as Calibre does, but add increasing
amounts of parallelism and speed up for Calibre's rule checks.
These two options shaved 2 weeks off of the final chip level verification
of our first tapeout, which we otherwise expected to be 6 weeks.
We did not need to change our design flow/process, as both HyperScaling and
Hyper Remote can be initiated in just a few seconds using a simple switch
option when running Calibre.
For Hyper Scaling, you add the: "-hyper" switch.
For Calibre Hyper Remote, specify "-hyper remote -remotedata".
This is how they all fit together:
- Calibre. When you set up Calibre, you define the number of machines
and CPUs or the hardware management system in the configuration
file. Calibre then breaks up the design data into cells and bins
to be processed in parallel.
- HyperScaling. When you turn on Hyper Scaling, it allows Calibre's
operations to be run in parallel, rather than one at a time as with
a standard Calibre run. Because it requires additional memory to
process these tasks in parallel, HyperScaling sets the default for
the number of parallel operations to 5. This limits the additional
memory consumption so the master machine doesn't get stuck going
into swap.
- Hyper Remote. Hyper Remote tweaks HyperScaling's memory consumption.
When you turn on Hyper Remote, Calibre gets an additional speed up by
pushing the data and processes to the remote machines inside your
configuration and the max number of operations which can be run in
parallel is no longer limited by your master machine. Your master
machine uses significantly lower overhead than before because
it now only controls all the processing plus configuring the output.
That is, it no longer needs to hold and manage scheduling of the
parallel operations. This reduces needing a very large master.
After that, the more remote machines you have, the more speed up you get,
but it does plateau with the increase in number of remote machines at
some point. This plateau depends on design size, complexity, rules, etc.
RUNTIME COMPARISONS
Compared to plain Callibre runs, HyperScaling got us 3.5 to 3.9X speed-up
and Hyper Remote got us 3.8X to 6.4X speed-up. Runtime comparison data
on two test cases below.
Case1 Case2
plain Calibre 2 hrs 22 min 9 hrs 10 min
HyperScaling 41 min (3.45X) 2 hrs 20 min (3.94X)
Hyper Remote 38 min (3.77X) 1 hr 26 min (6.42X)
GDS Size 470 MB 3 GB
# of rules 814 1220
CPU/Cores 32 CPUs 52 CPUs
Process Node 45 nm 40 nm
Version 2008.2 2008.2
Warning: Don't think of Hyper Remote runtime performance as linearly
scalable with the number of CPUs in your master. Also be aware that the
gains are greater for longer runs than shorter runs. (For example, with
Hyper Remote we had a greater speed-up for our 9 hour run in Case2, than
we did for our 2 hour run in Case1.)
MASTER MEMORY USAGE COMPARISONS
Hyper Remote off-loads the CPU memory needs from your master host by
drawing on the memories in your remote hosts. With case2 with Hyper
Remote, we got 6.42X speed up using only 57% of the master memory
requirements of the non-Hyper Remote Calibre run.
Case2
plain Calibre 5.4 GB
HyperScaling 17.0 GB (3.1X)
Hyper Remote 3.1 GB (0.57X)
Prior to HyperScaling and Hyper Remote, you had to implement switches to
partition your Calibre run so that you could run the jobs in parallel
to speed up the rule checking. HyperScaling and Hyper Remote now does
that all automatically.
Our biggest gain from all this is that it lets us do 2-4 daily iterations
of Calibre runs at the chip level instead of 1 run. And, as I said before
it cut 2 weeks off our final chip level verification on our first tape-out.
- [ Mr. Hat from South Park ]
Join
Index
Next->Item
|
|