1. A method, comprising: determining, at a software update server, a plurality of transfers that are configured to update a binary source image to become a binary target image, wherein at least one transfer of the plurality of transfers comprises a source reference to one or more source memory locations storing the source image and a target reference to one or more target memory locations for the target image; determining a dependency graph based on the plurality of transfers at the software update server, wherein the dependency graph comprises a plurality of edges and a plurality of vertices corresponding to the plurality of transfers, each edge in the plurality of edges is from a first-executed vertex to a second-executed vertex, and wherein the first-executed vertex represents a first-executed transfer to be performed before a second-executed transfer represented by the second-executed vertex; determining whether there are one or more cycles in the dependency graph using the software update server; after determining that there are one or more cycles in the dependency graph, modifying the dependency graph to be an acyclic dependency graph by breaking the one or more cycles using the software update server; ordering the plurality of transfers based on the acyclic dependency graph using the software update server; and sending the ordered plurality of transfers from the software update server.