PDA

View Full Version : can I run 2 instances of DVD-RB with both instances encoding at the same time?


jarthel
19th February 2005, 16:04
see title.

Main reason for the thread is that I'm getting a dual-CPU setup. I'm just wondering if I can maximized throughput.

Thanks

archaeo
19th February 2005, 18:30
I have thought about this also since I have dual processors (p3 1Ghz xeon's). I think if you have two separate encoders, you could do it. I don't think it's a problem running two instances of RB. However to split the CPU usage you would have to go to the task manager/ processes, and right click on the encoder executables. With dual processors (at least in W2K), you can set the affinity to one or the other CPU. So, what I would do is set the first encoder to CPU 0, and the second to CPU 1. That would split the processors equally to each encoder. Never tried it, but I am curious to see if it would work.

EDIT: another issue is memory, since encoders such as CCE use up quite a bit... probably would need at least 1 Gb.

jptheripper
19th February 2005, 18:56
while only jdobbs can really answer this, i dont think it would work

i believe rebuilder waits for cce and when its done it moves on to next file. I would imagine it would get confused.

archaeo
19th February 2005, 19:04
i believe rebuilder waits for cce and when its done it moves on to next file.

Yes, this is where I think you would need two separate encoders and versions of RB. If you did, you could point each version of RB to a different encoder...

jptheripper
19th February 2005, 19:46
well, if it was quenc and cce sure

but if two cce's (different versions ) you might have issues

archaeo
19th February 2005, 21:07
Well, it worked.
I used two versions of RB (v76), each pointing to separate versions of CCE (2.50 &2.70), all running concurrently. To test I ran the same short .5 Gb segment (using OPV mode) through each at the same time. No issues to report through either prep, encode, or rebuild phases! Interestingly, I found that when I set the affinity for each of the rebuilder instances during the prep stage, it actually kept that affinity for the CCE version it used during the encode stage. So, I didn't have to reset the affinities for CCE in task manager, they were each still assigned to a separate CPU. Memory usage was at a premium however, using close to a full Gb of memory during the encodes. It probably wouldn't work too well if you had anything less than that.

So, did it save time?
Probably some, but I noticed that the encoder speeds were a bit slower (not unexpectedly), about 2/3 of what they are when running only one program through both processors. Encode time was 18 min. I guess I'll need to compare that to what it will be if I run them separately... I'll try that next. However, the cpu usage was pegged at 100%, leaving little extra cpu power for much else. I might be a little wary of pegging my processors at 100% all night long. But it did work, and the dual program mode did not show any conflicts with either RB or CCE :) Once again, RB proves itself to be a robust little program.

rayvt
19th February 2005, 22:03
Since CCE is a compute-bound program, it will consume 100% of the CPU. Actually, 100% of the CPU resources allocated to it. So it will use every compute cycle that the scheduler doesn't give to higher priority programs.
That's why you want to run it at lowered priority--so that other programs (particularly ones that interact with the mouse/keyboard) get the CPU when they are trying to do something.

jptheripper
19th February 2005, 23:26
hmm.. the potential to use rb-farm on a dual processor computer pops into mind.

archaeo
20th February 2005, 03:46
Well, I ran a quick test comparing the times between using dual encoders (1 per cpu) and a single encoder (using 2 cpu's):

CCE 2.50 + 2.70 running together gave a total encode time of 18 min. for a .5 Gb source. (total of 1 Gb processed)
CCE 2.50 (as only encoder) gave me a total encode time of 12 min. (.5 Gb processed)

(Prepare and rebuild times were the same between the tests)

So, to process the same file size (1Gb) the single CCE 2.50 would need 24 minutes, versus 18 minutes when using two encoders at the same time. The speeds were not quite twice as fast with dual processors, but splitting them between two encoders did show a noticeable savings of time over the single encoder by around 25% (6 minutes per 1 Gb)

I'm only running P3's, so someone out there with dual P4's would undoubtedly show even better times.

NaN
20th February 2005, 10:47
Somehow I don't get your point. CCE is a SMP application, it can use both processors. The limiting part is avisynth which is not smp-capable.
I had a dual p3 machine, it worked great with 1 cce instance, so I don't get your point.

If you had a 4 cpu setup, I would understand. Please enlighten me.

Cheers, Nan

Edit: dual p4s are not possible, just dual xeons.

archaeo
20th February 2005, 15:15
The point is simply that I answered jarthel's question as to whether you could use two encoders and RB programs simultaneously on a dual processor machine, to increase output. You can, and it does afford you a modest savings of time. What point is it that you need enlightening on?

NaN
20th February 2005, 17:17
If he wants to try it, he shall do so.

But if he really expects reasonable gains, I'm not so sure wether he will be disappointed. Remember there's additional load on the harddiscs (especially during prepare & rebuild) and the dual p3s were on my machine at 80-90% load with a single cce instance.

Furthermore I don't know wether avisynth is thread-safe, if it's not a lot may happen.

Cheers, Nan

archaeo
20th February 2005, 18:26
Furthermore I don't know wether avisynth is thread-safe, if it's not a lot may happen
Avisynth is not multithreaded and thus will be the weakest link, but no conflicts came up during my tests.

Remember there's additional load on the harddiscs
True - If your PC has only one HDD, it is a bottleneck in whole performance. I typically save a source file and an MPEG file into separate HDD's.

But if he really expects reasonable gains, I'm not so sure wether he will be disappointed
As I said, I saw a modest gain in output, about 25%. Is that reasonable? I guess that's up to you to decide.

NaN
21st February 2005, 09:28
25% is really nice. If he does say 3 pass VBR, he will be satisfied. Maybe it's possible to install a 2nd cce 2.67 so he benefits from it's additional quality (or 2.50 to gain additional speed).

He could try to point 1 dvd-rb to cce1 and the other to the other. If the app calls cce via the complete path, it should work.

Cheers, Nan

jdobbs
1st March 2005, 04:34
Install DVD-RB in two different directories and it should run multiple jobs at the same time fine.