<HTML>
<HEAD>
<TITLE>Re: [Paraview] How to interpret timer log</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>The still render measures the time from when the render is initiated to the time when the render completes. &nbsp;In client/server mode, this can include communication and parallel overhead costs.<BR>
<BR>
ParaView has two types of renders: still render and interactive render. &nbsp;Interactive renders occur while you are interacting with the 3D view by moving the mouse. &nbsp;It tries to maintain interactive rendering rates. &nbsp;Still renders happen after interaction stops to give a full resolution view of your data.<BR>
<BR>
The vtkMPIMoveData filter is a special filter that collects poly data on the server and pushes it to the client. &nbsp;ParaView settings determine when this happens. &nbsp;Generally when the size of the data is below a certain threshold, then ParaView will push the data to the client.<BR>
<BR>
-Ken<BR>
<BR>
<BR>
On 9/30/09 5:11 AM, &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'>Dear Ken, <BR>
<BR>
thanks for the reply. i have one more question to ask.<BR>
in the timer log, the first 3 lines:<BR>
<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>
--------------------------------------------------<BR>
<BR>
does these mean that, at the client's end, it took 3.029 seconds to renders the geometry send back from process 0?<BR>
what does still render means? how about the third line? after still render, why does the MPI need to move data? which data? to where?<BR>
<BR>
i tried running the same data using np1 until np10, and i get the following reading for still render, the rest of the readings are quite consistent, which makes me wonder why the time (still render) decrease initially but increase eventually? shouldn't it become much faster when more nodes are used? all my server nodes are identical to each other (intel core 2 duo, 2.66 GHz)<BR>
</FONT><FONT FACE="Verdana, Helvetica, Arial"><BR>
</FONT><FONT FACE="Tahoma, Verdana, Helvetica, Arial"><BR>
----------------------------------------------<BR>
</FONT></SPAN></FONT><FONT SIZE="1"><FONT FACE="Arial"><SPAN STYLE='font-size:8.5pt'>number of process used still render (seconds) <BR>
np1 7.16043 <BR>
np2 3.93390 <BR>
np3 3.05784 <BR>
np4 3.02900 <BR>
np5 3.02851 <BR>
np6 3.04962 <BR>
np7 3.43479 <BR>
np8 3.47883 <BR>
np9 3.71554 <BR>
np10 3.80835 <BR>
</SPAN></FONT></FONT><FONT SIZE="2"><FONT FACE="Tahoma, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:10pt'>----------------------------------------------<BR>
<BR>
&nbsp;<BR>
appreciate your reply!<BR>
<BR>
regards,<BR>
chewping<BR>
<BR>
<BR>
</SPAN></FONT></FONT><FONT SIZE="1"><FONT FACE="Arial"><SPAN STYLE='font-size:8.5pt'><HR ALIGN=CENTER SIZE="3" WIDTH="100%">From: <a href="kmorel@sandia.gov">kmorel@sandia.gov</a><BR>
To: <a href="lcp81um@msn.com">lcp81um@msn.com</a>; <a href="paraview@paraview.org">paraview@paraview.org</a><BR>
CC: <a href="kitware@kitware.com">kitware@kitware.com</a><BR>
Date: Mon, 28 Sep 2009 08:37:08 -0600<BR>
Subject: Re: [Paraview] How to interpret timer log<BR>
<BR>
Re: [Paraview] How to interpret timer log </SPAN></FONT></FONT><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> &lt;<a href="http://msn.com">http://msn.com</a>&gt; &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> &lt;<a href="http://sandia.gov">http://sandia.gov</a>&gt; <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> &lt;<a href="http://www.cs.unm.edu/%7Ekmorel">http://www.cs.unm.edu/%7Ekmorel</a>&gt; <BR>
</FONT></SPAN></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT><FONT SIZE="1"><FONT FACE="Arial"><SPAN STYLE='font-size:8.5pt'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
</SPAN></FONT></FONT></BLOCKQUOTE><FONT SIZE="1"><FONT FACE="Arial"><SPAN STYLE='font-size:8.5pt'><BR>
</SPAN></FONT></FONT><FONT SIZE="2"><FONT FACE="Consolas, Courier New, Courier"><SPAN STYLE='font-size:10pt'><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>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
</SPAN></FONT>
</BODY>
</HTML>