1. A method for decoupling fetching a code segment in a program from execution of the code segment, the method comprising: identifying a first code segment in a program that is capable of being executed by a processor in parallel with the rest of the program; establishing a first corresponding explicit execution instruction for the first code segment; storing the first code segment in a first storage area in a storage system; replacing the first code segment in the program with the first corresponding explicit execution instruction to create a restructured program; storing the restructured program in a second storage area in the storage system that is separately accessible from the first storage area; executing the restructured program, wherein execution of the first code segment is deferred until the first corresponding explicit execution instruction is executed causing the first code segment to be fetched from the first storage area and executed in parallel with execution of the restructured program.