Most high-performance processors today are able to execute multiple threads of execution simultaneously. Threads share processor resources, like the last-level cache, which may decrease throughput in a non obvious way, depending on threads' characteristics. Computer architects usually study multi-programmed workloads by considering a set of benchmarks and some combinations of these benchmarks. Because detailed micro-architecture simulators are slow, the authors want a subset of combinations that is as small as possible, yet representative. However, there is no standard method for selecting such sample, and different authors have used different methods.