The Multi-threaded feature on binary dump is introduced in OpenEdge 10.1A. When binary dump is run without threading (-thread 0) or when a threaded binary dump determines to use single thread mode for the binary dump, the dumplist file is not produced when only one .bd dump file results.
The -threadnum option is used by default or as specified (unless -thread 0 is used). Even though threaded dump is specified, multi threads will not necessarily be started to dump the table.
The algorithm also checks on the following before permitting a multi-threaded binary dump:
a.) Enterprise Database License
b.) More than one CPU, which defaults the -threadnum to the number of operational CPU's unless otherwise specified.
c.) Threaded binary dumps are created based on the index tree, not on the table size. The number of entries in the root block of the index used (Primary index by default or that specified by the -index parameter). The threaded-dump algorithm splits the root block logically into up to (-threadnum) parts, this will break the index tree in different ranges according to the keys in the root block, each thread works on a range. If there is only one entry in the root block, it cannot be split so a non-threaded (regular) dump will be used.
d.) A special case that affects the number of threads used: if there are duplicate keys in the root block, the duplicate keys are ignored when building the brackets for the number of threads to be used.