1. A method of executing a program written for a target instruction set architecture on a host computing system having a plurality of processors designed to process instructions of a second instruction set architecture, comprising: representing each portion of the program designed to run on a processor of a target computing system as one or more program threads to be executed on the host computing system.