golemfactory / clay

Golem is creating a global market for computing power.
https://golem.network
GNU General Public License v3.0
2.91k stars 286 forks source link

Cannot create tasks with subtasks counts > 50 #4003

Closed shadeofblue closed 4 years ago

shadeofblue commented 5 years ago

identified on 0.19.0, still present on 0.20 RC

shadeofblue commented 5 years ago

any pull requests related to this issue should go into the b0.20.1 branch for now

etam commented 5 years ago

There is also an open question: if provided subtasks_count is illegal, should creating task be aborted, or subtasks_count corrected? Because right now it looks like different authors of different parts had different answers to this question.

etam commented 5 years ago

Related: https://github.com/golemfactory/golem-electron/issues/253

etam commented 5 years ago

There is also an open question: if provided subtasks_count is illegal, should creating task be aborted, or subtasks_count corrected? Because right now it looks like different authors of different parts had different answers to this question.

So I think it should be like this:

etam commented 5 years ago

more interestingly, RenderingTaskBuilder._calculate_total (overridden in FrameRenderingTaskBuilder) contains some of the same code that's featured in framerenderingtask.calculate_subtasks_count ... is that even used?

The RenderingTask... stuff, that is overridden by FrameRenderingTask... is not used. Currently there is no other use for RenderingTask... than to be derived by FrameRenderingTask.... We can cleanup our code by merging those two into one layer.

etam commented 5 years ago

We can cleanup our code by merging those two into one layer.

I've made an issue for that: #4645

etam commented 4 years ago

Lets get to the second point of this task:

establish what the subtask count limits function should be

@magdasta said that an image should not be cut in stripes thinner than 10 pixels (it should be 8 pixels, but there were some problems with edge cases, so 10 is safe).

I think that this sets quite clearly an upper limit for subtasks. For a 1920x1080 image it would be 108 subtasks. This also scales linearly with the number of frames.