thousands of cores, fast context switching, and high memory bandwidth to tolerate ever-increasing