1. A method comprising: storing, by a computer processor, a set of source files in a shared storage repository for nodes of a distributed computing environment for software compilation; creating, by the computer processor, an object file based on at least a portion of the set of source files; generating, by the computer processor, a directed acyclic graph (DAG) corresponding to a group of software build tasks and the relationship between the software build tasks based on the set of source files; determining, by the computer processor, a replication factor for the object file based on the number of relationships of the object file identified from the DAG, wherein the replication factor indicates a number of copies of the object file to replicate and store to the local memory cache of each node of the number of nodes; storing, by the computer processor, the object file in a local memory cache of at least one of the number of the nodes, wherein the number of the nodes is based on the replication factor for the object file; receiving, by the computer processors, a first file I/O request for the object file; responsive to determining that the object file is stored in the local memory cache, completing, by the computer processor, the first file I/O request; responsive to determining that the object file is not stored in the local memory cache, transmitting, by the computer processor, a status message to the metadata server indicating that the object file is unavailable in the local memory cache, and determining whether the object file is stored in another local memory cache using the information stored in the metadata server; responsive to determining that the object file is stored in the other local memory cache, transmitting, by the computer processor, the object file from the other local memory cache to the local memory cache; and responsive to determining that the object file is not stored in the other local memory cache, invoking, by the computer processor, the scheduler to assign a software build task for assembling the object file and subsequently transmitting the object file to the local memory cache to complete the first file I/O request.