IUBio

performance for simulation and software platform

Pedro Mendes prm at aber.ac.uk
Tue May 27 03:17:30 EST 1997


I just noticed I can answer two different threads on the same message, so 
I've taken the liberty to change the subject line. For those who don't care 
about simulation or software/hardware issues, this article will be 
meaningless and you may skip it.

On 26 May 97 at 16:16, Marc Roussel wrote:
>
> [...]
>      System size can become a problem if the system under study is badly
> behaved.  What do I mean by badly behaved?
> 
>           1. The system is stiff.  [...] However, systems which are 
>              large and have more than three or four distinct 
>              timescales (common in chemical systems of moderate size) 
>              can eat up a lot of CPU cycles.
>           2. Variables need to be accessed randomly from a large array.
>              [...] The memory cache is constantly being missed and CPU 
>              cycles are wasted waiting for appropriate data to be sucked in.
>              It seems to me that large metabolic models are likely
>              to fall into this category (especially if the equations
>              are generated automatically by a computer from a database)
>              unless some special effort is made to order the ODEs to
>              minimize this problem.

Marc, your comments are quite correct. The only technical problem with 
simulating large systems of ODEs (systems with many chemical species for 
those less numerically inclined) is speed and possibly memory size. As you 
say speed is no problem. Hardware is still doubling performance every 18 
months we already have pretty fast hardware being sold as "base systems" 
(eg Pentium Pro). So I don't really consider this an issue. Anyone 
interested in simulating a large (bio)chemical system need to invest in 
fast hardware. The old 486 33Mhz will no longer do for this :)

However I think that the problem of assigning values to the parameters is 
the biggest problem to overcome in such models. It may even be that it is 
impossible to build large reallistic models (but I do have some hope).

>      There are some other hardware and software issues.  One of the
> reasons that I use Unix workstations for my work is that this kind of
> machine generally delivers much better floating-point performance than
> Intel hardware.

The point is correct but you need not invoke unix. I'm writing this message 
on a DEC Alpha XL 266Mhz running Windows NT 4.0. This is very important to 
me: I need a fast machine for the reasons given above and I also need one 
where I can develop software "for the masses" (Herbert I'm getting to 
your point soon, just wait a few more lines). The DEC Alpha running NT is 
the ideal combination. Note that you can run NT on any of the current 
Alphas, this includes the AlphaStation 500 (500Mhz) and the forthcoming 
633Mhz ones. These are the faster hardware platforms available before 
going to the level of supercomputers (HP, Sun and SGI have nothing to 
match this price/performance). Having said this, the Pentium Pros are not 
exactly slow. The 200 Mhz has a performance equivalent to the DEC I use 
(though this Alpha processor is OLD and the PPro is not - tough on you 
Intel!)
                       --

Hardware platforms that most people use. 

Herbert, as you know the latest release of Gepasi is 32-bit only (ie Win95
or WinNT). Since it has been released I have only had one query asking me
if there was a version that ran under OS/2. Nobody asked for Win3.1
versions yet. However I there are still many people that only have access
to computers with limited memory and therefore need Win3.1 software. 
Though I suspect that their number is declining (soon they won't be able to 
buy any software for their machines).

If you want to cover every Windows user, then go ahead and do a Win3.1 
application. It won't hurt those who use 32-bit Windows. You'll be the one 
who'll suffer the most writing the program with those horrible memory 
segmentation problems :( The second best thing in terms of coverage is 
probably to write a 32-bit application that is compatible with Win32s, so 
that those with Win3.1 can still run it. Personally I think this is not 
very good (win32s is buggy and it does not support multi-threading).

But as Marc Roussel wrote:

>      Another option is to buy a cross-platform development toolkit.
> However, that might be fairly costly.

This need not be the case. There is an excellent FREE kit that does this. 
You can build applications that can be compiled on any of Win 3.1, Win95 & 
NT, Mac, unix Motif, linux, etc. This kit is called wxWin and you can get 
it at http://web.ukonline.co.uk/julian.smart/wxwin/
It does require your code to be in C++ though.

Gepasi 4 (yes version 4 is planned already, but there will be a 3.1 before 
that) will probably be done using this kit so that I can supply versions 
for the Mac and also unix.

I hope this helps,
Pedro

Pedro Mendes                                     Inst. Biological Sciences
prm at aber.ac.uk (home: pedro at enzyme.demon.co.uk)  Univ. Wales, Aberystwyth,
http://gepasi.dbs.aber.ac.uk/pedro/prmhome.htm   Ceredigion SY23 3DA, U.K.
http://gepasi.dbs.aber.ac.uk/softw/gepasi.html   FAX: +44 (0)1970 622350



More information about the Btk-mca mailing list

Send comments to us at biosci-help [At] net.bio.net