Smart Scheduler

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

In DTM Jobs, testers create jobs to perform a wide variety of common tasks. Some jobs are created to prepare computers to run tests, some are created to cleanup computers after running, some are created to run the tests themselves and some are created to do a combination of the three. These different roles can be classified as setup, cleanup and regular jobs. This distinction is used to help in the organization and the scheduling of jobs.

This approach, however, requires that the correct jobs run in the right order so that the tests may run successfully on a properly prepared computer. Because the setup, regular, and cleanup jobs are not associated with each other, users must use their expert knowledge in order to ensure this. This process is time consuming as well as prone to errors. It also makes sharing tests across teams more difficult.

Additionally, the Smart Scheduler cannot make connections between jobs of different roles and it therefore cannot make optimizations that cut down on the amount of setup and cleanup jobs that get run. For example, two jobs share the same setup and cleanup jobs but run different tests. With an optimized process, these tests could be run one after the other with just one setup and cleanup instead of repeating these steps unnecessarily.

Smart Scheduler addresses such scenarios. Intelligence is built into Smart Scheduler to understand the effect on the dimensions on computers due to running a particular job (known as config jobs). Smart Scheduler understands this information and makes decisions accordingly. If a particular dimension value is required, Smart Scheduler can then try to find a computer that already has that dimension value or to locate a job that produces that dimension value. In the latter case, Smart Scheduler will automatically execute the job on that computer so that the original chosen job is executed. In addition to this, if multiple jobs that require that dimension are queued then the Smart Scheduler can optimize the process by ensuring that the jobs run on the same computer and thus avoid running the same setup job again and again.

The Smart Scheduler uses the config jobs to prepare the computers as per the requirements of the run. The config jobs may be either Set Operations or Delete Operations:

  • Set Operation - A parameter needs to be associated with each dimension. The parameter value passed to the test machine will be the dimension value requested by the job that initiated the setup job. This allows the job itself to dereference the requested value in command lines.

  • Delete Operation - If a dimension is specified, then this job will be run when the dimension needs to be deleted from the computer. This setting is used when for example, after a proprietary application is installed and tests run using it, additional jobs should not be scheduled on that computer until the application has been removed.

Scheduling DTM Jobs

Using Scheduler

Smart Scheduler Considerations

 

 

Build date: 9/14/2012