1. A computer-implemented method for replaying a common resource access operation, the method comprising: selecting a first thread and a second thread from a group of threads configured to execute an instruction in a multi-stage pipeline, wherein neither the first thread nor the second thread has yet executed the instruction; selecting a first set of threads to associate with the first thread; selecting a second set of threads to associate with the second thread; inserting a first replay operation associated with the first thread and the first set of threads into the multi-stage pipeline to execute the instruction; and inserting a second replay operation associated with the second thread and the second set of threads into the multi-stage pipeline to execute the instruction, wherein the second replay operation is inserted into the multi-stage pipeline serially relative to the first replay operation.