Buckets of commands in a multiprocessor-based verification environment
AssigneeInternational Business Machines Corporation
InventorsDavid M. Atoji, Ruchi Chandra, Robert B. Likovich, Jr.
Life of this patent
Estimating the term…
Abstract
The present invention provides a method and system for providing a legal sequential combination of commands for verification testing of a computer system. Executable test commands are used to form sequentially ordered “buckets” of commands, wherein each bucket command sequence is legal under at least one rule. The buckets may be arranged in any sequential order, wherein a composite command sequence of the combined commands remains legal under the at least one rule. A further advantage of the invention is that wait/noop commands may be inserted within and between the buckets, extending the testing capabilities of the present invention into corner cases.
Claims8
A method for ordered commands verification testing of a multiprocessor computer system comprising multiple parallel processor threads, comprising:
- providing at least one rule for forming a legal ordered sequence of semaphore test commands;
- forming a plurality of buckets of semaphore commands each comprising a plurality of the commands arranged in different sequentially ordered command sequences legal under the at least one rule;
- randomly selecting, ordering and combining a plurality of the buckets in a sequential bucket test combination having a test sequential order, the sequential bucket test combination having an ordered composite test command sequence, wherein an order of any of the buckets relative to another of the buckets within the test sequential order may be changed within the test sequential order, the test sequential order legal under the at least one rule and thereby generating a predictable result when executed by the threads;
- a semaphore manager sequentially distributing at least one of the composite test sequence commands to a first plurality of the processor threads in a first thread distribution;
- and
- observing the performance of each of the first plurality of threads in response to the distributed test commands.
Dependencies are inferred from the claim text.