1. A computer-implemented method for replaying a shared resource access operation, the method comprising: selecting a first thread and a second thread from a group of threads configured to simultaneously execute an instruction in a multi-stage pipeline, wherein neither the first thread nor the second thread has yet executed the instruction after one or more execution operations of the instruction for the group of threads, the first thread accesses a first shared resource, the second thread accesses a second shared resource, and the first shared resource and the second shared resource are not retrievable during the same execution operation; 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.