1. A method for reducing garbage collection overhead, comprising: representing, by a hardware processor, an application program by a Directed Acyclic Graph having a set of nodes, each of the nodes representing a respective one of a plurality of computation tasks; specifying, by the hardware processor from the set of nodes, any of the nodes which store a respective computation result for at least a threshold period of time as cache nodes; and allocating, by the hardware processor, the respective computation result of each of the cache nodes into a tenure area of a memory.