1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
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.
---------------------------------------------------------------------------
|