Author Topic: An additionnal PC (cpu node) = double speed?  (Read 4103 times)

2014-06-16, 21:07:16

boumay

  • Active Users
  • **
  • Posts: 96
    • View Profile
Hello,
I would like to know: if I buy a second machine, same cpu as the one I have, will corona be twice as fast in rendering?

2014-06-17, 07:38:37
Reply #1

Tanakov

  • Active Users
  • **
  • Posts: 839
  • Corona is faster than diarrhea
    • View Profile
    • https://www.behance.net/Gringott
Depends on CPU, probably will be %% faster, but not x2.

If its a node, then backbugning it will make the rendering time split in almost half, but Im not really certain if it will be 2x faster.
Using Corona since 2014-01-02
https://www.behance.net/Gringott

2014-06-17, 09:34:50
Reply #2

boumay

  • Active Users
  • **
  • Posts: 96
    • View Profile
Depends on CPU, probably will be %% faster, but not x2.

If its a node, then backbugning it will make the rendering time split in almost half, but Im not really certain if it will be 2x faster.

Yes I have a dual xeon and  I'm aware this is not giving double speed, but my concern here is about a second complete machine and using it with backburner or the like to render along with the first one.

2014-06-17, 12:28:55
Reply #3

crazyman

  • Active Users
  • **
  • Posts: 87
    • View Profile
... will corona be twice as fast in rendering?

TL:DR
It depends.

In very simple scene scenario you actually could get 200% speed. But it may heavily vary depend on scene complexity.
Assuming extra machine will be exactly in same configuration as present machine, usually you will be somewhere close to 200% speed gain,.
Just to give you example I made quick comparison for you:

Every set being rendered 3 times, and best times were taken. All render nodes have exactly same configuration. I made only 4 renders, since I do not have a lot time on my hand, but it should enough to get a picture.

Timing:
Please notice different amount of passes every picture have. I could be wrong (ask Keymaster for technical specifics) but I believe it does happen due the fact when render is finished, all nodes start dumping their work data from last update and render gaining few more passes. As you notices time is shortening for every added node, but gain is start dropping rapidly after 3rd machine were added. It took only 1 extra node to get double speed, 4 to get triple and I reckon to get to quadruple speed you will need 8 machines etc. 16, 32 ... But again do not use those numbers as guidance, since scene I used is extremely simple, and you probably going to get different figures on different scene.
Most benefit from network render gained during long lasting renders or multiple frames. When making short test renders, sometimes extra nodes are not fast enough to participate in render process due various factors. Times could be improved by: adjusting sync interval, changing amount of data transfered, improving physical connection between machines, etc.

Cheers!
« Last Edit: 2014-06-17, 12:33:46 by crazyman »

2014-06-17, 13:03:13
Reply #4

boumay

  • Active Users
  • **
  • Posts: 96
    • View Profile
Thank you for taking time to post those tests, very informative!
That's what I heard, that cpu's don't scale very well, and I heard also that gpu's do scale much better.
That being said, won't it be efficient just to divide the rendering  of the frames and dispatch to the different machines without networking it. Like, said you have an anim of 200 frames, you put the 50 first frames to machine 1, the 50 following ones to machine 2, etc, each machine rendering separately = 4 frames being rendered at the same time instead of 1 if you had only one machine.
It could be a 400% gain in speed, no?

2014-06-17, 14:07:59
Reply #5

crazyman

  • Active Users
  • **
  • Posts: 87
    • View Profile
Scalability is vastly broad topic and this is not a place and time to start such a discussion. Scaling is not strictly but mostly software issue. CPUs are scaling very well as long as communication between them and shared memory is fast enough. Also you have access to huge amount of ECC memory. GPU's on the other hand, are quicker at certain tasks where precision is not main concern BUT, usually limited by on board memory.

It could be a 400% gain in speed, no?

Technically... yes, you can manually split animation in sections, but not sure is this is approach you should take while rendering animations. I am not an expert in this :)