2013 · 1.8K citations · 22 references
ComputingComputer ScienceComputer SystemsData ManagementDistributed SystemsParallel ComputingCluster ManagementData OrchestrationDistributed ComputingDistributed Data ProcessingJob SchedulingWorkload SchedulingControl Flow ControlDistributed Job ExecutionLarge-scale Data ProcessingMapreduceMapreduce AlgorithmsScalabilityScalable Data ManagementScalable Resource Management
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.
22
Sanjay Ghemawat · Communications of the ACM · 2008 · 18.5K citations · Full text
The Hadoop Distributed File System
Konstantin V. Shvachko, Hairong Kuang, Sanjay Radia et al. · 2010 · 4.8K citations
Spark: cluster computing with working sets
Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin et al. · 2010 · 4.2K citations
Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik et al. · 2010 · 3.5K citations
Michael Isard, Mihai Budiu, Yuan Yu et al. · 2007 · 2.5K citations