Changes between Version 26 and Version 27 of UsersGuide
- Timestamp:
- Oct 24, 2012 6:12:58 PM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UsersGuide
v26 v27 367 367 === More Sophisticated Packing: Multiple Passes === 368 368 369 The previous examples have all treated packing containers onto physical machines as a single step process with a single parameter - the packing factor. In fact, we can divide containers into sets and pack each set independently using different parameters. For example in an experiment with many containers dedicated only to forwarding packets and a few modeling servers, we could create two sets and pack the forwarders tightly (a high packing factor) and the servers loosely.369 The previous examples have all treated packing containers onto physical machines as a single step process with a single parameter - the packing factor. In fact, we can divide containers into sets and pack each set independently using different parameters. For example in an experiment with many containers dedicated only to forwarding packets and a few to modeling servers, we could create two sets and pack the forwarders tightly (a high packing factor) and the servers loosely. 370 370 371 371 In return for the greater control on packing, there is a price. When a set of containers is packed, the containers system takes into account both the nodes to be packed and their interconnections. When subsets of containers are packed, the system cannot consider the interconnections between subsets. In some cases, the packing of subsets can lead to a DETER experiment that cannot be created successfully. This danger is mitigated by the fact that containers that are packed together are often related in ways that limit the number of connections between that set and another. … … 452 452 These parameters result in this packing, which fits in fewer nodes, but has the slight imbalances of splitting {{{lan-1}}} into 9 and 11 containers and {{{lan-2}}} into 4,5,and 6 container partitions. Again, this asymmetry is an attempt to consider the internode networking costs. 453 453 454 [[Image(example6.2-smaller )]]454 [[Image(example6.2-smaller.png)]] 455 455 456 456 If the packing constraints are exact - 11 containers on {{{lan-1}}} is unacceptable - a second choice is to use the {{{--nodes-only}}} option. This sets the cost of each arc in the graph to 0. Metis ignores such arcs altogether, so the partitions are completely even. This may cause trouble in more complex network topologies. … … 466 466 is 467 467 468 468 [[Image(example6.3-smaller.png)]] 469 470 which has symmetric partitions. 471 472 The {{{--pass-pack}}} option is a per-pass generalization of the {{{--packing}}} option. The options that can be specified per-pass are: 473 474 || __Single-pass__ || __Per-Pass__ || __Per-Pass Format__ || __Per-Pass Example__ || 475 || {{{--packing}}} || {{{--pass-pack}}} || ''pass'':''packing'' (comma-separated) || --pass-pack 0:1,1:20,2:11,3:6 || 476 || {{{--pnode-types}}} || {{{--pass-pnodes}}} || ''pass'':''pnode''[,''pnode''...] (semicolon separated) || --pass-pnodes 0:MicroCloud;1:bpc2133,pc2133 || 477 || {{{--nodes-only}}} || {{{--pass-nodes-only}}} || ''pass'' (comma-separated) || --pass-nodes-only 1,3,5 || 478 479 The single-pass version sets a default so this invocation on [attachment:example6.tcl our 4 pass topology]: 480 481 {{{ 482 users:~$ /share/containers/containerize.py --packing 5 --pass-pack 0:1,1:20 DeterTest example6 ~/example6.tcl 483 }}} 484 485 will pack pass 0 with a factor of 1, pass 1 with a factor of 20 and passes 2 and 3 with factor 5. 486 487 Similarly: 488 489 {{{ 490 users:~$ /share/containers/containerize.py --pass-pack 0:1,1:20,2:10,3:5 --pass-pnodes '0:pc2133,bpc2133;1:MicroCloud' DeterTest example6 ~/example6.tcl 491 }}} 492 493 will allocate either bpc2133 or pc2133 nodes to containers assigned by pass 0 and Microcloud physical nodes to the containers partitioned in pass 1. The rest will be allocated as the [ReferenceGuide#SiteConfigurationFile site configuration] specifies. The single quotes around the {{{--pass-pnodes}}} option protects the semi-colon from the shell. Another choice is to specify the command as: 494 495 {{{ 496 users:~$ /share/containers/containerize.py --pass-pack 0:1,1:20,2:10,3:5 --pass-pnodes 0:pc2133,bpc2133 --pass-pnodes 1:MicroCloud DeterTest example6 ~/example6.tcl 497 }}} 498 499 That formulation avoids the quotes by avoiding the semicolon. All the per-pass options may be specified multiple times on the command line. 500 501 These per-pass variables and user-specified pass specifications give users fine grained control over the paritioning process, even if they do not want to do the partitioning themselves. 502 503 If no {{{containers:PartitionPass}}} attributes are specified in the topology, and no {{{containers:Partition}}} attributes are specified either, {{{containerize.py}} carries out at most two passes. Pass 0 paritions all openvz containers and pass 1 partitions all qemu and process containers. 469 504 470 505 == Further Reading ==