MantisBT - ParaView
View Issue Details
0006773ParaView(No Category)public2008-04-08 13:002011-01-13 17:00
Ken Moreland 
Utkarsh Ayachit 
normalminorhave not tried
closedfixed 
 
3.43.4 
0006773: Use Broadcast to propagate commands from root sever node to other server nodes
As we all know, the PV client connects to node 0 of servers and sends commands to that node. That node propagates commands to the other server nodes (as appropriate).

This is implemented using the ProcessRMIs method in vtkMultiProcessController. This means that each node waits in a MPI_Recv from any command. Node 0 then iteratively sends a message to each of the other nodes.

This is not a very efficient way to broadcast messages. Instead, everyone should use the Broadcast method to propagate the requests. (Broadcast is now part of vtkMultiProcessController.)
When working correctly, the current method isn't a huge deal. However, there is a bug in the buffer management code of OpenMPI that is causing node 0 to eat up a bunch of memory. This is a killer for one of our important uses and the main driver for this bug.
No tags attached.
has duplicate 0006035closed Berk Geveci (MARS-immediate) 0th process using too much memory 
Issue History
2008-04-08 13:00Ken MorelandNew Issue
2008-04-08 13:01Ken MorelandRelationship addedhas duplicate 0006035
2008-04-10 18:21Ken MorelandStatusbacklog => tabled
2008-04-10 18:21Ken MorelandAssigned To => Berk Geveci
2008-07-09 10:23Utkarsh AyachitAssigned ToBerk Geveci => Utkarsh Ayachit
2008-07-09 10:34Utkarsh AyachitNote Added: 0012672
2008-07-16 12:56Utkarsh AyachitStatustabled => @80@
2008-07-16 12:56Utkarsh AyachitResolutionopen => fixed
2008-07-16 12:56Utkarsh AyachitNote Added: 0012723
2008-07-25 13:40Alan ScottStatus@80@ => closed
2008-07-25 13:40Alan ScottNote Added: 0012832
2009-05-13 13:58Utkarsh AyachitTarget Version => 3.4
2009-05-13 13:59Utkarsh AyachitFixed in Version => 3.4
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2011-06-16 13:10Zack GalbreathCategory => (No Category)

Notes
(0012672)
Utkarsh Ayachit   
2008-07-09 10:34   
Add global "use-ssend-for-trigger-RMI" and then set it in paraview since there are complications with broadcast. We should investigate using broadcast after 3.4.
(0012723)
Utkarsh Ayachit   
2008-07-16 12:56   
ParaView now uses Ssend for all TriggerRMI requests.

/cvsroot/ParaView3/ParaView3/Servers/Common/vtkProcessModule.cxx,v <-- Servers
/Common/vtkProcessModule.cxx
new revision: 1.85; previous revision: 1.84
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMPICommunicator.cxx,v <-- VTK/Par
allel/vtkMPICommunicator.cxx
new revision: 1.48; previous revision: 1.47
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMPICommunicator.h,v <-- VTK/Paral
lel/vtkMPICommunicator.h
new revision: 1.37; previous revision: 1.36
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMPIController.cxx,v <-- VTK/Paral
lel/vtkMPIController.cxx
new revision: 1.25; previous revision: 1.24
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMPIController.h,v <-- VTK/Paralle
l/vtkMPIController.h
new revision: 1.24; previous revision: 1.23
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMultiProcessController.cxx,v <--
VTK/Parallel/vtkMultiProcessController.cxx
new revision: 1.30; previous revision: 1.29
/cvsroot/ParaView3/ParaView3/VTK/Parallel/vtkMultiProcessController.h,v <-- VT
K/Parallel/vtkMultiProcessController.h
new revision: 1.37; previous revision: 1.36
(0012832)
Alan Scott   
2008-07-25 13:40   
Accepting utkarsh's word for it...