Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th July 2012, 09:37   #661  |  Link
GrandAdmiralThrawn
Registered User
 
GrandAdmiralThrawn's Avatar
 
Join Date: Feb 2011
Posts: 48
Pbs

Hello!

For my own x264 Benchmark project (have already tested Itaniumē shared memory cluster machines) I am looking into testing x264 with a distributed computation cluster.

I have set up a Torque/Maui cluster and I will also get access to another cluster based on the IBM LoadLeveler.

My question now is: These systems use PBS style job control systems with MPI support. In the case of my own setup thats either LAM/MPI or OpenMPI, job control by Torque with the Maui scheduler.

Is there any guide on how to run x264farm with a PBS-style job submission system? Is that even possible? How about other systems like the IBM LoadLeveler, where I might not be allowed to access any computation nodes directly? Any information very much appreciated.

Operating systems are CentOS Linux and (afaik) SuSE Linux Enterprise Server. Hardware is i386 and x86_64. No Windows stuff available in that environment.

Thanks for any input.
__________________

Proud owner of a 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700 prototype
No RISC, no fun!
GrandAdmiralThrawn is offline   Reply With Quote
Old 19th August 2012, 15:45   #662  |  Link
Mounir
Registered User
 
Join Date: Nov 2006
Posts: 773
I am getting started or rather trying to gather infos for distributed encoding accross computers and apparently there is little to no benefit to my big surprise (!).

It seems to me the current concept is flawed and that it would be better this way (i'm not a programmer mind you):
- say you have two computers
- For 1st pass(x264) devide the video in two segments: cpu1 deal with segment 1, cpu2 segment2
- Merge the stats files to make one (not sure if that's possible)

For the second pass i'm not sure but what if cpu1 encode the beginning of the video and the cpu2 encode start by the end (backwards encoding)
- The point being to make one file only not two and merge them later (= less space used)

Also since the two cpu's try to decode the video at the same time, if you decode a HD stream a good GFX card + DgindexNv would be required though i'm not even sure if dgindexNV could read the video backwards correctly
For lossless (huffyuv, lagarith etc..) sources things would be easier i think

I'm just throwin in ideas...

Last edited by Mounir; 19th August 2012 at 15:54.
Mounir is offline   Reply With Quote
Old 19th August 2012, 15:49   #663  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,815
Distributed encoding is now ultra simple
see here -> http://forum.doom9.org/showthread.php?t=127611
Atak_Snajpera is offline   Reply With Quote
Old 4th October 2012, 19:23   #664  |  Link
GrandAdmiralThrawn
Registered User
 
GrandAdmiralThrawn's Avatar
 
Join Date: Feb 2011
Posts: 48
Clusters

Actually, I solved the Problem in a very simple (albeit suboptimal) way. It's not even necessary to merge stats files.

I just split my source video into as many slices as I had nodes in the cluster to be tested (which was actually a Sun GRID Engine, very similar to OpenPBS/torque, running on OpenSuSE Linux). Then I let every node do its pass 1 and pass 2 on its respective slice, and at the end I just merged the final output video. To do this I used the job array feature of the PBS "qsub" command. Quite simple actually, the job script to achieve this was very minimalistic.

If you do this intelligently (which I did not, but doesn't matter) you should be able to avoid artefacts on the joints by making sure that the parts overlap each other a bit, so you can cut the overlapping parts and join the output video smoothly.

With that method you can use pretty much any Linux/Unix cluster that you can compile x264 (+libav/ffmpeg) on. All you need is shared storage for the cluster nodes and a decent enough job submission / portable batch system.

Performance scaling is linear!
__________________

Proud owner of a 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700 prototype
No RISC, no fun!

Last edited by GrandAdmiralThrawn; 4th October 2012 at 19:29.
GrandAdmiralThrawn is offline   Reply With Quote
Old 7th April 2013, 03:23   #665  |  Link
Yiu
Quality Whore
 
Join Date: Dec 2009
Location: Scotland
Posts: 14
I found this thread in my bookmarks and laughed.

My system specs are a bit more grounded now, and I've been doing test with new builds of x264 as well as re-optimizing settings and I still get the same quality encoding @ 2~5 FPS.

My signature is updated too.
__________________
CPU: AMD 8350
RAM: 16GB (2x8GB) Patriot G2 1600MHz
MOB: Asus M5A99X Pro EVO R2.0
PSU: Cooler Master GX 550W +80 Bronze
COL: Corsair H80i
BRD: Samsung 6x BR-R/DVD-RW
GPU: Asus Matrix GTX 580 OC
Yiu is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.