# How does the paraview distribute tasks to each node during parallel rendering?

**URL:** https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886
**Category:** ParaView Support
**Created:** [November 25, 2020, 12:23pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886 "2020-11-25T12:23:13Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![jone](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jone/32/9307_2.png) [@jone](https://discourse.paraview.org/u/jone)
#### Post date: [November 25, 2020, 12:23pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/1 "2020-11-25T12:23:13Z")

</div>

Recently, I have been using the function of Paraview parallel rendering. I am very interested in the distribution of parallel tasks. I am currently reading the source code, but I want to understand this aspect accurately.  
Thank you in advance for telling me.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [November 25, 2020, 1:16pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/2 "2020-11-25T13:16:57Z")

</div>

[https://www.paraview.org/Wiki/Setting\_up\_a\_ParaView\_Server](https://www.paraview.org/Wiki/Setting_up_a_ParaView_Server)  
[https://vtk.org/Wiki/VTK/MultiPass\_Rendering\_With\_IceT](https://vtk.org/Wiki/VTK/MultiPass_Rendering_With_IceT)

You will have to be more specific if you want a specific answer.

---

<div class="post-metadata">

### Author: ![jone](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jone/32/9307_2.png) [@jone](https://discourse.paraview.org/u/jone)
#### Post date: [November 25, 2020, 1:28pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/3 "2020-11-25T13:28:48Z")

</div>

I want to know how Paraview divides model data during parallel rendering and distributes them to each parallel rendering core, which should be responsible for part of the final rendered image.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [November 25, 2020, 1:44pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/4 "2020-11-25T13:44:19Z")

</div>

It depends if your data is structured or unstructured.

For structured data, the extent or simply distributed spatially  
For unstructured data, nothing is done by default, so it depends of the reader you are using or if you are using filters to redistribute data.

---

<div class="post-metadata">

### Author: ![jone](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jone/32/9307_2.png) [@jone](https://discourse.paraview.org/u/jone)
#### Post date: [November 25, 2020, 2:47pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/5 "2020-11-25T14:47:57Z")

</div>

So paraview uses IceT to distribute data to a rendering server for parallel rendering? I don’t know if my understanding is wrong.

---

<div class="post-metadata">

### Author: ![Kenneth\_Moreland](https://discourse.paraview.org/user_avatar/discourse.paraview.org/kenneth_moreland/32/15033_2.png) [@Kenneth\_Moreland](https://discourse.paraview.org/u/Kenneth_Moreland)
#### Post date: [November 25, 2020, 3:28pm UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/6 "2020-11-25T15:28:36Z")

</div>

Like @mwestphal said, you are asking very general questions about a complex system that can behave differently depending on the circumstances.

I note that you said “distribute data to a rendering server”. That is implying that there is a separate data server and render server. Although you can set up ParaView servers in this way, this is a very archaic feature that almost no one uses (with the possible exception of using tiled displays). Usually, there is just one “paraview server” that functions for reading data, running filters, and parallel rendering.

IceT _usually_ does not distribute data. The data distribution is _usually_ determined by the reader, and the reader _usually_ bases the distribution on the layout of the data in files. IceT just renders data locally where it has been partitioned and then combines images together.

That said, there are filters that can explicitly change the distribution of the data. Also, if you render something transparent (like a volume rendering), then the rendering might redistribute the data using a k-d tree.

If you haven’t yet, I suggest reading through the chapter in _The ParaView Guide_ on remote and parallel visualization (Chapter 14 in the latest version). The most relevant part starts in the “Understanding parallel processing” section (14.5) to the end of that chapter.

---

<div class="post-metadata">

### Author: ![lijian\_cug](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/l/838e76/32.png) [@lijian\_cug](https://discourse.paraview.org/u/lijian_cug)
#### Post date: [February 28, 2025, 12:17am UTC](https://discourse.paraview.org/t/how-does-the-paraview-distribute-tasks-to-each-node-during-parallel-rendering/5886/7 "2025-02-28T00:17:30Z")

</div>

Interesting!
