REEF: retainable evaluator execution framework

  • Authors:
  • Byung-Gon Chun;Tyson Condie;Carlo Curino;Chris Douglas;Sergiy Matusevych;Brandon Myers;Shravan Narayanamurthy;Raghu Ramakrishnan;Sriram Rao;Josh Rosen;Russell Sears;Markus Weimer

  • Affiliations:
  • Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory;Microsoft Cloud Information Services Laboratory

  • Venue:
  • Proceedings of the VLDB Endowment
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this demo proposal, we describe REEF, a framework that makes it easy to implement scalable, fault-tolerant runtime environments for a range of computational models. We will demonstrate diverse workloads, including extract-transform-load MapReduce jobs, iterative machine learning algorithms, and ad-hoc declarative query processing. At its core, REEF builds atop YARN (Apache Hadoop 2's resource manager) to provide retainable hardware resources with lifetimes that are decoupled from those of computational tasks. This allows us to build persistent (cross-job) caches and cluster-wide services, but, more importantly, supports high-performance iterative graph processing and machine learning algorithms. Unlike existing systems, REEF aims for composability of jobs across computational models, providing significant performance and usability gains, even with legacy code. REEF includes a library of interoperable data management primitives optimized for communication and data movement (which are distinct from storage locality). The library also allows REEF applications to access external services, such as user-facing relational databases. We were careful to decouple lower levels of REEF from the data models and semantics of systems built atop it. The result was two new standalone systems: Tang, a configuration manager and dependency injector, and Wake, a state-of-the-art event-driven programming and data movement framework. Both are language independent, allowing REEF to bridge the JVM and .NET.