Specifying Which Computers a Job Can Run On

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.

Dimensions specify characteristics of a client computer, such as the computer having an x86-based processor, or that it is running the Microsoft Windows XP operating system. When you define a job, you can constrain it to run only on client computers whose dimensions match certain conditions. For example, you can specify that a job that runs a multi-processor test can execute only on client computers that have more than one processor. You indicate that a job can run only on certain types of client computers by specifying constraints for the job. A set of constraints is called a context.

When you execute a job, DTM searches for an available client computer that matches the job's constraints and "pushes" the job to the client computer. For example, assume that there are three client computers with the following values for their dimensions:

Computer name WTT\Processor WTT\OS WTT\ProcCount

Client1

X86

Windows XP

1

Client2

X86

Windows XP

2

Client3

X64

Windows Server 2003

2

 

Consider a job with the following two constraints:

WTT\Processor equals x86

WTT\OS equals Windows XP

Both Client1 and Client2 satisfy the job's constraints. If only Client1 had a status of Ready, the scheduler would push the job to Client1 to execute. If both Client1 and Client2 had a status of Ready, the scheduler would choose either Client1 or Client2 and push the job to that computer to execute.

You can create a single job that runs in multiple contexts by defining a mix for the job. A mix is a set of contexts. Each context describes one type of client computer that the job should run on. When you execute the job, one instance of the job is created for each context in the mix.

To continue the previous example with Client1, Client2, and Client3, consider a job with the following mix:

Context1:

WTT\Processor equals x86

WTT\ProcCount equals 1

Context2:

WTT\Processor equals x64

WTT\ProcCount equals 2

When you execute this job, the scheduler will create two instances of the job: one instance for Context1 and one instance for Context2. The scheduler will then search for client computers to execute the job instances. Since Client1 is the only client computer that satisfies the constraints of Context1, the scheduler will push the Context1 instance of the job to Client1 if Client1 has a status of Ready. Since Client3 is the only client computer that satisfies the constraints of Context2, the scheduler will push the Context2 instance of the job to Client2 if Client2 has a status of Ready.

Some jobs require more than one client computer to execute. For example, a job that runs a network test might require one client computer to send packets across the network, and a second client computer to receive the packets. Logical Machine Sets (LMSes) allow you to specify contexts for the different roles that client computers play in a single job. To continue the example, if the client computer that sent the packets had to be running a server version of the operating system, and the client computer that received the packets had to be running a client version of the operating system, you could create an LMS to constrain the client computers. The LMS would have two contexts: a server context that constrained the operating system to be a server version, and a client context that constrained the operating system to be a client version.

You can also add constraints or restrict the job to execute on specific client computers when you schedule the job to execute. For more information about adding constraints and restricting client computers when you schedule a job, see Executing a Job.

This section includes the following topics:

Using Constraints in a Job

Using a Mix in a Job

Using a Logical Machine Set in a Job

 

 

Build date: 9/14/2012