1. A method, comprising: receiving a job for computation by a distributed computing system comprising one or more node computing devices in communication with a cache; processing, on one of said node computing devices, said job to create an intermediate result for storage in said cache, wherein said intermediate result comprises data wherein a time required to obtain said data by computation or retrieval from a data storage external to said distributed computer system is at least marginally greater than that of retrieving said intermediate result from said cache; storing said intermediate result in said cache; and accessing said cache by presenting a lookup function to said cache, wherein said lookup function comprises a key and a compute function configured to produce said intermediate result.