1. A pinball virtual machine (PVM) stored in a memory, to implement simultaneous execution of a plurality of PVM atomic threads within one software program process, implemented by a processor, the PVM comprising: a code transformer to transform computer source code or executable code of the software program process to a plurality of PVM atoms, a plurality of PVM graphs, and a plurality of PVM code segments; wherein each of the plurality of PVM atoms having at least two attributes from the following set of attributes: parent control input, rewind control input, shift potential control output, free fall control output, atom nucleus, parents affect distance and resolved; wherein each of the plurality of PVM atoms having atom nucleus attribute has a reference to one of the plurality of PVM code segments; wherein each of the plurality of PVM code segments is a sequence of bytecode or other executable code instructions corresponding to one or more source code statement of the computer software process; wherein the plurality of PVM atoms are organized in a PVM graph of the plurality of PVM graphs in a form of a bi-directional tree; a PVM atomic thread manager to schedule simultaneous execution of the plurality of PVM atomic threads to execute the plurality of PVM code segments based on the attributes of the plurality of PVM atoms in the PVM graph; and the PVM atomic thread manager to control a run-ahead execution of the PVM atomic threads based on a state of the resolved attributes of PVM atoms of the plurality of PVM atoms that are pointed to by other PVM atoms of the plurality of PVM atoms having the parent affect distance attributes.