Subscribe to EDN

Synopsys tries to organize its efforts in EDA multiprocessing

March 10, 2008

It’s hard to imagine a set of applications that need computing resources more than the chain of EDA tools for a 65 nm chip design. (OK, searching for extraterrestrials, maybe, but the economics are a bit different there.) And yet, unlike some other massive applications such as finite-element analysis or Web searching, the majority of EDA applications are blessed by neither embarrassingly parallel data structures nor obviously parallelizable algorithms. Progress has been made on exploiting data parallelism on simulations, and on parallelizing some specific algorithms such as matrix inversions. But these are special cases. No single, sweeping initiative has unleashed massively-parallel computing on the EDA world. Yet as data sets and processing loads escalate faster than the dollar/Euro exchange rate, something must be done.

Synopsys has decided to take a pragmatic approach. Given that no sweeping, dramatic solution seems feasible, the company has attempted to group all of its individual efforts—some of them of long standing—into a single initiative, so that they can at least be coordinated. The initiative will include bringing in assistance from outside, in the form of parallelizing compilers and algorithmic advice from such experts as Intel and AMD—who have a lot invested in the transition to multicore computing. And it will involve coordinating for the first time the many prior parallelizing projects done in various Synopsys groups.

A couple of examples might be helpful. First, there is HSPICE for multicore processors. According to Geoffrey Ying, director of marketing on the project, there are two major computing chunks in HSPICE: model evaluation and a matrix solver. The two operate largely sequentially with respect to each other, but each can be parallelized, and Synopsys has done so. Work on the model evaluation algorithm has been going on for some time, Ying says, but the matrix solver work is fresh.

Interestingly, parallelizing these two codes resulted in rather tightly-coupled threads in each case. This, according to Ying, makes the performance of the multithreaded code very dependent on the speed of the link between the processors. Hence the parallelized HSPICE is really intended for single-machine multithreading, with several multi-core CPUs on one motherboard. Crossing backplanes or optical networks is not the best use of the approach.

In contrast, the company has taken an entirely different approach to parallelizing another huge processing load, the flow that starts with GDS-II and performs optical proximity correction and the early stages of mask data preparation. Here the workload is huge not so much because of the complexity of the algorithms—although the move to model-based OPC is causing nightmares, one suspects—but because of the sheer size of the data files: terabytes.

Accordingly, the company has taken a rather different approach to this part of the problem—an approach they call the Proteus Pipeline. They have found a way not to heavily parallelize each task, but to pipeline the entire set of tasks, so that the enormous data sets flow through a server farm, creating very high CPU utilization and spreading out mass storage utilization. “Our customers typically dedicate tens of CPUs to this stage of the EDA flow,” explains Synopsys group director for manufacturing products Tracy Weed. “Large customers may use thousands of CPUs. We needed an approach that was scalable across such a range.”

So Synopsys, rather than trying to force very different problems into one solution, is trying to coordinate many different solutions across a varied product line. Proteus, not Procustus, if you will.

Posted by Ron Wilson on March 10, 2008 | Comments (2)

March 11, 2008
In response to: Synopsys tries to organize its efforts in EDA multiprocessing
Grant Martin commented:

This is an excellent example of the interrelationship between the application and the type of parallelism or concurrency that is appropriate for it, and the nature of the underlying architecture on which the speedup will occur. The first example - HSPICE - with tightly coupled threads (that presumably all need access to a common view of memory) is tailor made for the multicore SMP machines that Ron is describing, where all the cores will have approximately the same latency out to system memory and presumably hardware support for cache coherency for maximum SMP flexibility. The second example is a perfect one of large scale coarse grained pipelined concurrency(one of the "conveniently concurrent" class of problems), where building something like a dataflow of tasks that process large chunks of data and hand it off to the next task in a pipeline is a natural match to the many machines in the server farm. The idea of matching the solution and architecture to the problem is the essence of taking an application-oriented view to concurrency rather than trying to fit every application into one solution. As Shakespeare said, "There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy." (Hamlet, scene v).


March 11, 2008
In response to: Synopsys tries to organize its efforts in EDA multiprocessing
Daniel Payne commented:

Intel first started shipping multicore in 2005, so it's about time that EDA companies start exploiting all that processing power. I'm always curious if the compute power of GPUs from Nvidia and ATI (AMD) could be used to further speed up SPICE simulations. www.marketingeda.com

POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2011 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows