<HTML>
<HEAD>
<TITLE>Re: [Paraview] How to interpret timer log</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Both scenarios are wrong. &nbsp;ParaView will not push out data from process 0 to processes 1-3 unless you explicitly run a filter that does that (or the reader does that internally, but I know of no such reader). &nbsp;What is actually happening is more along the lines of:<BR>
<BR>
</SPAN></FONT><OL><LI><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Processes 0-3 each read in a partition of data from the file.
</SPAN></FONT><LI><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Each process extracts polygonal geometry from their local data.
</SPAN></FONT><LI><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Per your settings, ParaView decides to send the geometry to the client. &nbsp;The data is collected to process 0 and sent to the client.<BR>
</SPAN></FONT></OL><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
The reason you are not seeing vtkFileSeriesReader on all of the servers is that there is a threshold in the timer log to not show anything that executes under a certain amount of time (by default 0.01 seconds). &nbsp;If you change the Time Threshold to Show All, you should be able to see everything that executes, even if it completes immediately.<BR>
<BR>
You should note that how readers read partitions is determined by the reader itself. &nbsp;Many of the readers do not really handle partitioned reading. &nbsp;Thus, the reader will do something na&iuml;ve like read everything on process 0. &nbsp;Based on your timings, that is probably what is happening to you. &nbsp;That is, processes 1-3 probably have empty data. &nbsp;You never specified what format of data you are reader, so I cannot answer the data completely. &nbsp;However, if you want to know how your data is partitioned on the server (at least, before rendering), you can run the Process Ids filter.<BR>
<BR>
-Ken<BR>
<BR>
<BR>
On 9/24/09 9:09 PM, &quot;chew ping&quot; &lt;<a href="lcp81um@msn.com">lcp81um@msn.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT SIZE="2"><FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:10pt'>Hi all,<BR>
&nbsp;<BR>
I'm doing parallel rendering using 1 client (dual core laptop) and 2 cluster servers (dual core desktop)<BR>
below is the timer log result i collected when i run: mpirun -np 4 pvserver<BR>
&nbsp;<BR>
-----------------------------------------------------------------------------------------------<BR>
</SPAN></FONT><SPAN STYLE='font-size:10pt'><FONT FACE="Tahoma, Verdana, Helvetica, Arial">Local Process<BR>
Still Render, 3.029 seconds<BR>
Execute vtkMPIMoveData id: 457, 1.98248 seconds<BR>
&nbsp;<BR>
&nbsp;<BR>
Server, Process 0<BR>
Execute vtkFileSeriesReader id: 176, 0.637821 seconds<BR>
Execute vtkMPIMoveData id: 457, 1.49186 seconds<BR>
Dataserver gathering to 0, 0.829525 seconds<BR>
Dataserver sending to client, 0.661658 seconds<BR>
</FONT><FONT FACE="Verdana, Helvetica, Arial"> <BR>
</FONT><FONT FACE="Tahoma, Verdana, Helvetica, Arial">Server, Process 1<BR>
Execute vtkMPIMoveData id: 457, 0.141821 seconds<BR>
Dataserver gathering to 0, 0.141544 seconds<BR>
</FONT><FONT FACE="Verdana, Helvetica, Arial"> <BR>
</FONT><FONT FACE="Tahoma, Verdana, Helvetica, Arial">Server, Process 2<BR>
Execute vtkMPIMoveData id: 457, 0.243584 seconds<BR>
Dataserver gathering to 0, 0.243318 seconds<BR>
</FONT><FONT FACE="Verdana, Helvetica, Arial"> <BR>
</FONT><FONT FACE="Tahoma, Verdana, Helvetica, Arial">Server, Process 3<BR>
Execute vtkMPIMoveData id: 457, 0.191589 seconds<BR>
Dataserver gathering to 0, 0.191303 seconds<BR>
</FONT><FONT FACE="Verdana, Helvetica, Arial"> <BR>
-----------------------------------------------------------------------------------------------------<BR>
&nbsp;<BR>
i have difficulty interpreting the timer log, my guess is:<BR>
&nbsp;<BR>
Scenario 1: <BR>
Process 0 reads the whole data, disseminate the dats into 4 pieces, then distribute to itself and Process 1&amp;2&amp;3,<BR>
each node will process the data and send it back Process 0,<BR>
Process 0 gather all data and send it back to client,<BR>
client renders the data<BR>
&nbsp;<BR>
Scenario 2:<BR>
Process 0 reads the whole data, distribute the whole data to Process 0&amp;1&amp;2&amp;3,<BR>
each node will 'take' their own piece of data to process, then send it back Process 0,<BR>
Process 0 gather all data and send it back to client,<BR>
client renders the data<BR>
&nbsp;&nbsp;&nbsp;<BR>
Which scenario is the correct one? or both are wrong?<BR>
&nbsp;<BR>
is there any resources i could refer to find what does it mean by: Execute vtkFileSeriesReader, Execute vtkMPIMoveData?<BR>
&nbsp;<BR>
any help / feedback is highly appreciated!<BR>
thanks!<BR>
&nbsp;<BR>
regards,<BR>
chewping<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
</FONT></SPAN></FONT></BLOCKQUOTE><FONT SIZE="2"><SPAN STYLE='font-size:10pt'><FONT FACE="Verdana, Helvetica, Arial"><BR>
</FONT><FONT FACE="Consolas, Courier New, Courier"><BR>
&nbsp;&nbsp;&nbsp;**** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kenneth Moreland<BR>
&nbsp;&nbsp;&nbsp;&nbsp;*** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sandia National Laboratories<BR>
*********** &nbsp;<BR>
*** *** *** &nbsp;email: <a href="kmorel@sandia.gov">kmorel@sandia.gov</a><BR>
** &nbsp;*** &nbsp;** &nbsp;phone: (505) 844-8919<BR>
&nbsp;&nbsp;&nbsp;&nbsp;*** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;web: &nbsp;&nbsp;<a href="http://www.cs.unm.edu/~kmorel">http://www.cs.unm.edu/~kmorel</a><BR>
</FONT></SPAN></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT>
</BODY>
</HTML>