A procedure identifies a program image and generates a basic block flow
graph associated with the program image. Execution of the program image
is benchmarked and the basic block flow graph is annotated with the
results of the benchmarking of the program image. Basic blocks of the
program are then grouped into bins. When the program image is executed, a
drafting scheduler stops threads before they leave a bin and schedules
any threads queued for the same bin.