Detailed design and evaluation of redundant multithreading alternatives | Synapse