Improving performance isolation on chip multiprocessors via an operating system scheduler