Apache Hadoop YARN: yet another resource negotiator

  • Authors:
  • Vinod Kumar Vavilapalli;Arun C. Murthy;Chris Douglas;Sharad Agarwal;Mahadev Konar;Robert Evans;Thomas Graves;Jason Lowe;Hitesh Shah;Siddharth Seth;Bikas Saha;Carlo Curino;Owen O'Malley;Sanjay Radia;Benjamin Reed;Eric Baldeschwieler

  • Affiliations:
  • hortonworks.com;hortonworks.com;microsoft.com;inmobi.com;hortonworks.com;yahoo-inc.com;yahoo-inc.com;yahoo-inc.com;hortonworks.com;hortonworks.com;hortonworks.com;microsoft.com;hortonworks.com;hortonworks.com;facebook.com;hortonworks.com

  • Venue:
  • Proceedings of the 4th annual Symposium on Cloud Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The initial design of Apache Hadoop [1] was tightly focused on running massive, MapReduce jobs to process a web crawl. For increasingly diverse companies, Hadoop has become the data and computational agorá---the de facto place where data and computational resources are shared and accessed. This broad adoption and ubiquitous usage has stretched the initial design well beyond its intended target, exposing two key shortcomings: 1) tight coupling of a specific programming model with the resource management infrastructure, forcing developers to abuse the MapReduce programming model, and 2) centralized handling of jobs' control flow, which resulted in endless scalability concerns for the scheduler. In this paper, we summarize the design, development, and current state of deployment of the next generation of Hadoop's compute platform: YARN. The new architecture we introduced decouples the programming model from the resource management infrastructure, and delegates many scheduling functions (e.g., task fault-tolerance) to per-application components. We provide experimental evidence demonstrating the improvements we made, confirm improved efficiency by reporting the experience of running YARN on production environments (including 100% of Yahoo! grids), and confirm the flexibility claims by discussing the porting of several programming frameworks onto YARN viz. Dryad, Giraph, Hoya, Hadoop MapReduce, REEF, Spark, Storm, Tez.