The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Nov 10th, 2024, 11:43am
Pages: 1 2 
Send Topic Print
Multi-thread Circuit Simulator (Read 5573 times)
schehrazi
Community Member
***
Offline



Posts: 45
University of CA, LA
Multi-thread Circuit Simulator
Jul 17th, 2007, 9:52am
 
Is any of the major CAD tool companies going to introduce a multi-thread simulator? It looks hard if possible to make a SPICE type multi-thread simulator but since multi-core looks to be the future of computing systems, something has to be done.

Back to top
 
 
View Profile   IP Logged
byang
Community Member
***
Offline



Posts: 46

Re: Multi-thread Circuit Simulator
Reply #1 - Jul 18th, 2007, 10:08pm
 
Not sure about Cadence, Synopsys, and Mentor. I agree with schehrazi that "real" multi-threaded circuit simulator is not that easy. For traditional Spice guys, only SmartSpice has a multi-threaded version. However, benchmark posted on their website shows parallel speedup as low as 2.7 on a 16-core computer (8 dual-core CPUs).

Our company has an excellent multi-threaded circuit simulator. It is called gsim, Gemini simulator, where Gemini (twin star) has the meaning of parallel. Though gsim is still in beta now, it is already a robust parallel circuit simulator. Members of the gsim team had years of experience with almost all the industry leading circuit simulators, both Spice and FastSpice, before they started the gsim project. They wanted to implement a next-generation circuit simulator, certainly multi-threaded, from ground up, where both accuracy and speed are treated as equally important.

If anyone has a multi-core computer on Linux64 platform and wants to speed up circuit simulation, we can certainly help. You can send a message to    info   AT    gemini-da      DOT  com

Baolin Yang, Ph.D.
Founder and President
Gemini Design Technology, Inc.
Back to top
 
 
View Profile   IP Logged
didac
Senior Member
****
Offline

There's a million
ways to see the
things in life

Posts: 247
manresa,spain
Re: Multi-thread Circuit Simulator
Reply #2 - Jul 19th, 2007, 12:57pm
 
Hi,
I agree that a multi-thread simulator will be good but at my case I will rather prefer a grid computing solution. In my lab we connect to a multicore processor that has the software and licenses installed, so we didn't use the local computer for simulations. Having multicore processor at the server allows several users/process to work simultaneusly but the simulations only have the RAM and disk space of one computer, instead in a grid computing network the computational load will be distributed along the machines at the workplace taking into account the state of each machine thus reducing the simulation times. Just my thoughts.
Back to top
 
 
View Profile WWW   IP Logged
byang
Community Member
***
Offline



Posts: 46

Re: Multi-thread Circuit Simulator
Reply #3 - Jul 19th, 2007, 1:55pm
 
Hi, Didac,

I am not sure whether I understand your points completely. Do you prefer a solution that uses a luster of computers or grid?

In your lab you connect to a multicore processor. That is fine for running a multi-threaded simulator. You don't need to run it on a local computer. I used to run simulations on non-local computers all the time. I think you just need to ask your IT department to properly set up the network and filesystem sharing.

Now back to the comprison of multi-threaded and distributed simulators, I think multi-threaded simulator is certainly much more important in the future. Now one can easily afford computers with 8 to 16 cores (multiple dual-core or quad-core CPUs). And the number gets doubled every two years. It is extremely rare that one wants to occupy many computers of this type to run some circuit simulation.

Baolin Yang, Ph.D.
Founder and President
Gemini Design Technology, Inc.
Back to top
 
 
View Profile   IP Logged
didac
Senior Member
****
Offline

There's a million
ways to see the
things in life

Posts: 247
manresa,spain
Re: Multi-thread Circuit Simulator
Reply #4 - Jul 19th, 2007, 11:09pm
 
Hi byang,
My point is that if you connect to via ssh or similar to a computer(say a multicore processor that contains the software) and say that are 5 or 6 more guys doing the same, the local computer will be practically idle(the local cpu uses little resources because the work is done in the remote server), in this situation a grid application can distribute the simulation between the local PC's of the users and the server thus fastening simulation times. Of course if you combine it with a multithread simulator running on the server(and if the local PC is also multicore) then you will go faster. Just I think that it depends on the situation a multithread simulator it's a very good solution, but depending on the situation I think that it's more optimum a grid computing solution, or maybe a combination of both solutions.
Back to top
 
 
View Profile WWW   IP Logged
Unique
Junior Member
**
Offline



Posts: 13
Russian Federation
Re: Multi-thread Circuit Simulator
Reply #5 - Jul 23rd, 2007, 5:55am
 
The challenge of multithreaded programming is very acute. Though multithreading isn’t new, it’s suddenly receiving a lot of attention with the widespread distribution of multicore processors. And the main worry is how to exploit this new, potentially very interesting technology, which promises to multiply available computing power by a very large factor.

So the new generation of  CAD systems should appear which can exploit potential of new hardware. Actually to adopt effectively widely used numerical methods for multi-processing systems is not an easy task. And the main problem here is that many methods are oriented to using with one-core computer. Some of these methods cannot be either redesigned at all or directly redesigned.

In our company we are developing simulation program AVOSpice where proprietory speeding up algorithms were applied from the very beginning to provide program usage on multicore systems. For example, using 4-core architecture you can reach up to three times acceleration for most of practically used circuits.

I think. that multithreading is a new tendency and very soon a lot of attention will be drawn to it
Back to top
 
 
View Profile Unique 200831583   IP Logged
byang
Community Member
***
Offline



Posts: 46

Re: Multi-thread Circuit Simulator
Reply #6 - Jul 23rd, 2007, 7:32am
 
Another point to add. One severe problem for FastMOS simulator, also called timing simulator for a caregory of this Forum, is that its event-driven scheme is fundamentally bad for multi-threading and parallel simulation. Why?

To put it simple without technical details:

1. "event" in FastMOS simulators doesn't have much computation by design and is hard to parallelize.

2. "driven" means one after another and is fundamentally serial.

It is my opinion that FastMOS / timing simulation technology is basically yesterday's technology. If one doesn't change it soon, one will be lagging behind their competitors who use a true parallel simulator. I worked on a commercial FastMOS simulator for several years. So my claim is based on true knowledge.

byang
http://www.gemini-da.com                               (newly designed)
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: Multi-thread Circuit Simulator
Reply #7 - Aug 27th, 2007, 1:52pm
 
To reply to the original question, Spectre from Cadence has multithreading capability, both for device model evaluation, and also in the harmonic balance engine in SpectreRF.

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
schehrazi
Community Member
***
Offline



Posts: 45
University of CA, LA
Re: Multi-thread Circuit Simulator
Reply #8 - Aug 27th, 2007, 2:01pm
 
A few month ago, some of my collegues used that feature and they were not very happy with it. I have never used it myself. Maybe they have fixed the problems in new releases though.
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2386
Silicon Valley
Re: Multi-thread Circuit Simulator
Reply #9 - Aug 27th, 2007, 2:07pm
 
Perhaps you can be more specific? Otherwise comments like this have the feel of an unsubstantiated rumor, which is to be avoided.

-Ken
Back to top
 
« Last Edit: Aug 27th, 2007, 7:06pm by Ken Kundert »  
View Profile WWW   IP Logged
schehrazi
Community Member
***
Offline



Posts: 45
University of CA, LA
Re: Multi-thread Circuit Simulator
Reply #10 - Aug 27th, 2007, 3:38pm
 
Those guys are out of town now, I will post as soon as I ask about the specifics from them.
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: Multi-thread Circuit Simulator
Reply #11 - Aug 27th, 2007, 9:41pm
 
Also, please make sure you are specific about which of the two multi-threading modes you are talking about. I've had cases where people get confused about the two. One is a simulator option (controlled via the multithread/nthreads parameters to the options analysis - and affects model equation evaluation for bsim3v3/bsim4), and one is specifically for harmonic balance in SpectreRF (controlled by the unix environment variable $CDS_SPECTRERF_MULTITHREAD ).

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
schehrazi
Community Member
***
Offline



Posts: 45
University of CA, LA
Re: Multi-thread Circuit Simulator
Reply #12 - Aug 28th, 2007, 6:36am
 
My friend used the multi-threading option on a Sun Machine and these are the problems he had:

1. Spectre uses only around 30% of the second processor power.
2. When using multi-threading, Spectre crashes very often.

Back to top
 
 
View Profile   IP Logged
Geoffrey_Coram
Senior Fellow
******
Offline



Posts: 1999
Massachusetts, USA
Re: Multi-thread Circuit Simulator
Reply #13 - Aug 28th, 2007, 11:36am
 
If the multi-threading only applies to BSIM3/4 evaluation (as Andrew indicated), then 30% of the second CPU is probably reasonable; it's quite hard to have a multithreaded matrix solver, so the second CPU utilization and the speed-up is dependent on the circuit size: whether it's dominated by matrix solving or device evaluation.

On the other hand, I don't know what to say about the frequent crashing.
Back to top
 
 

If at first you do succeed, STOP, raise your standards, and stop wasting your time.
View Profile WWW   IP Logged
byang
Community Member
***
Offline



Posts: 46

Re: Multi-thread Circuit Simulator
Reply #14 - Sep 2nd, 2007, 11:12pm
 
A real multi-threaded circuit simulator should consider both parallel matrix computation and parallel device model evaluation. Moreover, the simulator circuit database or infrastructure should consider parallel circuit simulation from the beginning. Otherwise, if one can only get a little bit of speedup on 2 CPU/cores, one will have no advantage at all if he goes to 4 CPU/cores or 8 CPU/cores.

Freuqent crash is the worst nightmare one could have with a multi-threaded circuit simulator. That is the first hurdle a multi-threaded simulator should get over with. After that, one should check whether a multi-threaded simulator gives "random" result, i.e. result varying from one run to another. Any randomness tells user that the simulator has thread synchronization problem.

Anyway, it is not as easy as it appears to claim that one has a multi-threaded circuit simulator.

Baolin Yang, Ph.D.
Founder and President
Gemini Design Technology, Inc.
http://www.gemini-da.com
Back to top
 
 
View Profile   IP Logged
Pages: 1 2 
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.