GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » FutureDAQ » FutureDAQ - Simulation » Ptolemy II perfomance
Ptolemy II perfomance [message #369] Mon, 26 April 2004 10:13 Go to previous message
Sergey Linev is currently offline  Sergey Linev
Messages: 13
Registered: April 2004
Location: GSI Darmstadt
occasional visitor
From: depc150.gsi.de
Hello everybody

I want to discuss here some questions about Ptolemy II and its performance.

Just few days ago I install it and try to use it. First impression – it is very good. It installs and runs under Linux without any problem. All examples are perfectly working.

Then I created my own actor to test such possibility. This is also not a big problem. I just use several Ptolemy II classes as template (not in sense of C++) and was able to produce actors like network switch or packets buffer. Finally I create scheme for Barrel shift algorithm with 4 buffers and 4 event builders. It works.

Next my step was to test performance of such setup. From my point of view, the main characteristic of performance should be transaction rate or how many data transfers between different entities (actors) are happened during 1 sec of real time (not a simulated time). With my simple setup 4+4 (4 buffers, 4 event builders) I get transaction rate of about 50000 transactions/sec. But when I increase number of nodes to 100+100, transaction rate degrade to about 3000 transactions/sec. My suspicion that decrease was caused by larger buffer depth, needed for Barrel-shift algorithm in case of 100 nodes.

Therefore I modify my actors in the way that I perform only pure data transfer without any buffering and without any modification of tokens (transferring entities in Ptolemy). In the beginning I just create single token and periodically sends it to all buffers. Each buffer immediately forwards it to switch. And switch distributes uniformly all incoming data to outputs without any address analysis.

I test such data transfer network with different number of nodes. Results are:

2+2: ~70000 trans./sec.
10+10: ~60000 trans./sec.
100+100: ~13000 trans./sec.
1000+1000: ~900 trans./sec
10000+10000: out of memory exception

I test it on GSI installation of Debian 3.0 linux, Athlon 1800+, 512 Mb RAM.

My observation was, that 1000+1000 model consumes about 68 Mbytes of memory while 100+100 model requires only 25 Mbytes. Probably, there is a limitation in Java, which is not allows to allocate so much space in memory and starts to use swapping space.

Therefore I want to know from Ptolemy II users, what is a way to specify bigger memory space to Java? Probably, there are other aspects, which should be taken into account.

If it is interesting, I can provide here all my Ptolemy II code and generated xml files.
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message icon14.gif
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Ptolemy Classic
Goto Forum:
  


Current Time: Tue Mar 19 07:27:52 CET 2024

Total time taken to generate the page: 0.00946 seconds