Andrew V. Goldberg

Learn More
This paper addresses the problem of scheduling concurrent jobs on clusters where application data is stored on the computing nodes. This setting, in which scheduling computations close to their data is crucial for performance, is increasingly common and arises in systems such as MapReduce, Hadoop, and Dryad as well as many grid-computing environments. We(More)
We conduct an extensive computational study of shortest paths algorithms, including some very recent algorithms. We also suggest new algorithms motivated by the experimental results and prove interesting theoretical results suggested by the experimental data. Our computational study is based on several natural problem classes which identify strengths and(More)
We introduce a new approach to the maximum flow problem. This approach is based on assigning arc lengths based on the residual flow value and the residual arc capacities. Our approach leads to an <italic>O</italic>(min(<italic>n</italic><supscrpt>2/3</supscrpt>, <italic>m</italic><supscrpt>1/2</supscrpt>)<italic>m</italic>(More)
A classical algorithm for finding a minimum-cost circulation consists of repeatedly finding a residual cycle of negative cost and <italic>canceling</italic> it by pushing enough flow around the cycle to saturate an arc. We show that a judicious choice of cycles for canceling leads to a polynomial bound on the number of iterations in this algorithm. This(More)
We study a class of single-round, sealed-bid auctions for items in unlimited supply, such as digital goods. We introduce the notion of competitive auctions. A competitive auction is truthful (i.e., encourages buyers to bid their utility) and yields profit that is roughly within a constant factor of the profit of optimal fixed pricing for all inputs. We(More)
We study efficient implementations of the push—relabel method for the maximum flow problem. The resulting codes are faster than the previous codes, and much faster on some problem families. The speedup is due to the combination of heuristics used in our implementations: we show that the highest-level selection strategy gives better results when combined(More)