Multi-Threaded Software Inventory Processing in SMS 2003 SP2

The software inventory processor component of the SMS Executive service is now multi-threaded. This can result in faster performance when a large number of software inventory files are waiting to be processed on a multi-processor site server.

When properly configured, there is a relational increase in software inventory processing, dependent on the number of CPUs in the site system. For dual processor systems, the increased processing gain can be 200%, with four processor systems gaining as much as a 400% increase in software inventory processing performance.

This functionality is controlled in the registry of the site server, through the HKLM\Software\Microsoft\SMS\Components\SMS Software Inventory Processor key.

The Backlog Threading Threshold registry key configures the number of inventory files that must be backlogged before the software inventory processor creates an additional thread. When the backlog has fallen below the configured value, the additional thread is removed. The default value for backlog threading is 1024.

The Max Worker Threads registry key sets the maximum number of threads that the software inventory processor can launch to process backlogs of software inventory files. The default value is 3, and the maximum value is 10. It is suggested that the value be set to the number of processors in the site server. There is no performance gain by setting this to a larger value than the number of processors on the site server.