[Paraview] d3 poor domain decomposition

Burlen Loring bloring at lbl.gov
Fri May 10 13:49:37 EDT 2013


Hi Ken,

Thanks for the help, you're right D3 is dividing each "dataset". looking 
at the vtm file for this dataset, which was produced by saving from an 
extract surface filter that was run on a grouped set of 8 vts datasets 
while running pv in client-server with 8 ranks. In the vtm file each 
"piece" has 8 vtu "datasets". So d3 is seeing what appears in the gui to 
be an 8 block multiblock dataset as 64 items to divide individually, so 
running with 4 ranks this produces 256 regions. When the surface data is 
generated in serial with only one "dataset" per "piece" in the vtm file 
it works wonderfully.

While exploring this I've noticed that sometimes after d3 some geometry 
is being dropped, not sure if that's occuring in d3 or some point after, 
filed a bug report about that. http://paraview.org/Bug/view.php?id=14061

Burlen


On 05/10/2013 07:52 AM, Moreland, Kenneth wrote:
> I am guessing that this has to do with the blocks in your multiblock 
> dataset.  The D3 filter will partition each block independently.  This 
> means that each process will have a small region in each partition, 
> which will be spread throughout the dataset.
>
> Although not a good solution, one way around the problem would be to 
> first run the merge blocks filters to construct a monolithic 
> unstructured grid, and then run D3.
>
> -Ken
>
> From: Burlen Loring <bloring at lbl.gov <mailto:bloring at lbl.gov>>
> Date: Thursday, May 9, 2013 5:36 PM
> To: "paraview at paraview.org <mailto:paraview at paraview.org>" 
> <paraview at paraview.org <mailto:paraview at paraview.org>>
> Subject: [EXTERNAL] [Paraview] d3 poor domain decomposition
>
>     I wanted to report a situation where D3 is generating really poor
>     domain decomposition. In this case it's taking decent data
>     locality and destroying it. This is a multiblock with 8 polydata
>     surfaces. Screen shot shows result with 4 mpi ranks, 8 produces a
>     similar result. D3 usually does a great job, so maybe this has hit
>     some of its weak spots. I'm surprised that there are so many
>     disconnected regions on each rank and that it doesn't retain any
>     of the initial data locality. Although here I was just
>     experimenting trying to get a more even data distribution by using
>     d3, I think similar use cases arise frequently. for example the
>     need to re-balancing the data distribution after an iso-surface in
>     parallel. Should this be considered a bug?
>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130510/b53d4d17/attachment.htm>
-------------- next part --------------
<VTKFile type="vtkMultiBlockDataSet" version="1.0" byte_order="LittleEndian">
  <vtkMultiBlockDataSet>
    <Piece index="0">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_0_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_0_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_0_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_0_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_0_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_0_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_0_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_0_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="1">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_1_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_1_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_1_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_1_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_1_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_1_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_1_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_1_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="2">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_2_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_2_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_2_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_2_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_2_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_2_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_2_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_2_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="3">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_3_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_3_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_3_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_3_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_3_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_3_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_3_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_3_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="4">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_4_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_4_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_4_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_4_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_4_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_4_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_4_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_4_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="5">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_5_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_5_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_5_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_5_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_5_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_5_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_5_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_5_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="6">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_6_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_6_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_6_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_6_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_6_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_6_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_6_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_6_7.vtu">
        
      </DataSet>
      
    </Piece>
    <Piece index="7">
      <DataSet index="0" file="shuttle-surf/shuttle-surf_7_0.vtu">
        
      </DataSet>
      <DataSet index="1" file="shuttle-surf/shuttle-surf_7_1.vtu">
        
      </DataSet>
      <DataSet index="2" file="shuttle-surf/shuttle-surf_7_2.vtu">
        
      </DataSet>
      <DataSet index="3" file="shuttle-surf/shuttle-surf_7_3.vtu">
        
      </DataSet>
      <DataSet index="4" file="shuttle-surf/shuttle-surf_7_4.vtu">
        
      </DataSet>
      <DataSet index="5" file="shuttle-surf/shuttle-surf_7_5.vtu">
        
      </DataSet>
      <DataSet index="6" file="shuttle-surf/shuttle-surf_7_6.vtu">
        
      </DataSet>
      <DataSet index="7" file="shuttle-surf/shuttle-surf_7_7.vtu">
        
      </DataSet>
      
    </Piece>
    
  </vtkMultiBlockDataSet>
</VTKFile>


More information about the ParaView mailing list