You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
4.9 KiB
193 lines
4.9 KiB
4 years ago
|
|
||
|
Configuring PVM modules for transcode
|
||
|
=====================================
|
||
|
|
||
|
Revision 0.1 - 20070808 Francesco Romani
|
||
|
fromani at gmail dot com
|
||
|
|
||
|
~~~
|
||
|
|
||
|
Introduction
|
||
|
============
|
||
|
|
||
|
From years, transcode supports clustering via PVM infrastructure.
|
||
|
Clustering is one of trancode's peculiar features, and starting with 1.1.0
|
||
|
release, is being rethinked, redesigned and rewrote from groundup.
|
||
|
First user-visible change is some small but important incompatibilities
|
||
|
in configuration file syntax from 1.0.x to 1.1.x released.
|
||
|
|
||
|
This document outlines those changes and explain how to port 1.0.x
|
||
|
configuration file to 1.1.x release.
|
||
|
|
||
|
See docs/pvm3/pvm_10x.cfg and docs/pvm3/pvm_11x.cfg for valid example
|
||
|
configuration files.
|
||
|
|
||
|
|
||
|
Changes between 1.0.x and 1.1.x
|
||
|
===============================
|
||
|
|
||
|
|
||
|
1. Important changes
|
||
|
|
||
|
In a nutshell:
|
||
|
* Number of cluster nodes must be now provided explicitely
|
||
|
* Each cluster node has it's own configuration section, and can be
|
||
|
disabled independentely
|
||
|
* Listing section can now contain only list data, so some section
|
||
|
are been split.
|
||
|
|
||
|
|
||
|
2. Node configuration
|
||
|
|
||
|
Node configuration was significantly changed. Each node has now
|
||
|
a separate section with the name `NodeX', where `X' is a progressive
|
||
|
index with no special meaning. So, node configuration are NO LONGER
|
||
|
subsections of `PvmHostCapability' section.
|
||
|
`PvmHostCapability' section MUST now explicitely provide the expected
|
||
|
number of nodes in cluster using the new
|
||
|
|
||
|
Nodes = NUM
|
||
|
|
||
|
option, where `NUM' is of course the number of nodes avalaible;
|
||
|
A minimum of 1 (one) node must be present in the cluster, and
|
||
|
a maximum of 8 (eight) nodes must be present.
|
||
|
|
||
|
Each node configuration section has now an
|
||
|
`Enabled' = BOOL {yes,no}
|
||
|
section that permit to disable current node.
|
||
|
|
||
|
An important thing to notice is that nodes MUST be configured in order.
|
||
|
If you configure, say, three nodes in a cluster, those nodes MUST
|
||
|
be configured in `Node1', `Node2' and `Node3' section, otherwise
|
||
|
PVM configuration parser will complain. This is a techincal limitation
|
||
|
of the configuration parser and it will go away as soon as is possible.
|
||
|
|
||
|
If you want to temporary disable a node, just set `Enabled = no' for it.
|
||
|
|
||
|
Example (Configuring nodes):
|
||
|
|
||
|
1.0.x: ...
|
||
|
1.0.x:
|
||
|
1.0.x: [PvmHostCapability]
|
||
|
1.0.x: NumProcMaxForHost = 1
|
||
|
1.0.x: MaxProcForCluster = 10
|
||
|
1.0.x: NumElabFrameForTask = 100
|
||
|
1.0.x: (Host)
|
||
|
1.0.x: Hostname = foo.buz.lan
|
||
|
1.0.x: NumProcMax = 2
|
||
|
1.0.x: (Host)
|
||
|
1.0.x: Hostname = bar.buz.lan
|
||
|
1.0.x: NumProcMax = 2
|
||
|
1.0.x:
|
||
|
1.0.x: ...
|
||
|
|
||
|
1.1.x: ...
|
||
|
1.1.x:
|
||
|
1.1.x: [PvmHostCapability]
|
||
|
1.1.x: NumProcMaxForHost = 1
|
||
|
1.1.x: MaxProcForCluster = 10
|
||
|
1.1.x: NumElabFrameForTask = 100
|
||
|
1.1.x: Nodes = 4
|
||
|
1.1.x:
|
||
|
1.1.x: [Node1]
|
||
|
1.1.x: Hostname = foo.buz.lan
|
||
|
1.1.x: NumProcMax = 2
|
||
|
1.1.x: Enabled = yes
|
||
|
1.1.x:
|
||
|
1.1.x: [Node2]
|
||
|
1.1.x: Hostname = bar.buz.lan
|
||
|
1.1.x: NumProcMax = 2
|
||
|
1.1.x: Enabled = yes
|
||
|
1.1.x:
|
||
|
1.1.x: ...
|
||
|
|
||
|
|
||
|
Example (Disabling a node):
|
||
|
|
||
|
1.0.x: ...
|
||
|
1.0.x:
|
||
|
1.0.x: [PvmHostCapability]
|
||
|
1.0.x: NumProcMaxForHost = 1
|
||
|
1.0.x: MaxProcForCluster = 10
|
||
|
1.0.x: NumElabFrameForTask = 100
|
||
|
1.0.x: (Host)
|
||
|
1.0.x: Hostname = foo.buz.lan
|
||
|
1.0.x: NumProcMax = 2
|
||
|
1.0.x: #(Host)
|
||
|
1.0.x: #Hostname = bar.buz.lan
|
||
|
1.0.x: #NumProcMax = 2
|
||
|
1.0.x:
|
||
|
1.0.x: ...
|
||
|
|
||
|
1.1.x: ...
|
||
|
1.1.x:
|
||
|
1.1.x: [PvmHostCapability]
|
||
|
1.1.x: NumProcMaxForHost = 1
|
||
|
1.1.x: MaxProcForCluster = 10
|
||
|
1.1.x: NumElabFrameForTask = 100
|
||
|
1.1.x: Nodes = 4
|
||
|
1.1.x:
|
||
|
1.1.x: [Node1]
|
||
|
1.1.x: Hostname = foo.buz.lan
|
||
|
1.1.x: NumProcMax = 2
|
||
|
1.1.x: Enabled = yes
|
||
|
1.1.x:
|
||
|
1.1.x: [Node2]
|
||
|
1.1.x: Hostname = bar.buz.lan
|
||
|
1.1.x: NumProcMax = 2
|
||
|
1.1.x: Enabled = no
|
||
|
1.1.x:
|
||
|
1.1.x: ...
|
||
|
|
||
|
|
||
|
3. File listing
|
||
|
|
||
|
Former AddVideoList and AddAudioList are been split respectively in
|
||
|
AddVideo,AddVideoList pair and AddAudio and AddAudioList pair.
|
||
|
AddAudio and AddVideo will just contain the "Destination" and "Codec"
|
||
|
parameters, while the AddVideoList and AddAudioList contain just the
|
||
|
file list.
|
||
|
It is now considered an error to interleave parameters and list.
|
||
|
|
||
|
Example:
|
||
|
|
||
|
1.0.x: ...
|
||
|
1.0.x:
|
||
|
1.0.x: [AddVideoList]
|
||
|
1.0.x: Destination = /my/dest/file.m1v
|
||
|
1.0.x: Codec = mpeg2enc
|
||
|
1.0.x: /tmp/file1.m1v
|
||
|
1.0.x: /tmp/file2.m1v
|
||
|
1.0.x: /tmp/file3.m1v
|
||
|
1.0.x: /tmp/file4.m1v
|
||
|
1.0.x: /tmp/file5.m1v
|
||
|
1.0.x:
|
||
|
1.0.x: ...
|
||
|
|
||
|
1.1.x: ...
|
||
|
1.1.x:
|
||
|
1.1.x: [AddVideo]
|
||
|
1.1.x: Destination = /my/dest/file.m1v
|
||
|
1.1.x: Codec = mpeg2enc
|
||
|
1.1.x:
|
||
|
1.1.x: ...
|
||
|
1.1.x:
|
||
|
1.1.x: [AddVideoList]
|
||
|
1.1.x: /tmp/file1.m1v
|
||
|
1.1.x: /tmp/file2.m1v
|
||
|
1.1.x: /tmp/file3.m1v
|
||
|
1.1.x: /tmp/file4.m1v
|
||
|
1.1.x: /tmp/file5.m1v
|
||
|
1.1.x:
|
||
|
1.1.x: ...
|
||
|
|
||
|
|
||
|
4. Miscelanous
|
||
|
|
||
|
The limitation of 8 cluster nodes is arbitrary and will be relaxed or just
|
||
|
dropped in next transcode versions.
|
||
|
Same as above for the need to explicitely provide the number of cluster
|
||
|
nodes and for the need to configure nodes in order.
|
||
|
|
||
|
---------------------------------------------------------------------------
|