1. A method for accessing resources in a distributed computing system, the system comprising a plurality of servers, each server having a plurality of resources, each server having a plurality of threads, and each server detecting occasions on which a thread needs access to a resource residing on a different server, the method comprising the steps of: a. on a first said occasion, hopping the thread execution to the server where a needed resource is located; b. on a second said occasion, reassigning the resource to the server on which the thread resides; c. on a third said occasion, caching the resource to the server on which the thread resides.