Relaxed Synchronization and Eager Scheduling in Mapreduce

Relaxed Synchronization and Eager Scheduling in Mapreduce

Relaxed Synchronization and Eager Scheduling in MapReduce Karthik Kambatla, Naresh Rapolu, Suresh Jagannathan, Ananth Grama Department of Computer Science, Purdue University {kkambatl, nrapolu, suresh, ayg}@cs.purdue.edu Abstract With a view to supporting large-scale distributed applications in unreliable wide-area environments, MapReduce has emerged as a commonly-used programming Dean and Ghemawat proposed a novel program- model for large-scale distributed environments. While the underlying programming model based on maps and reductions has been shown ming model based on map and reduce operations, to be effective in specific domains, significant questions relating to called MapReduce [5]. A map,inaMapReduce performance and application scope remain unresolved. This paper program takes as input a list of key-value pairs targets key questions of performance through relaxed semantics of underlying map and reduce constructs in iterative MapReduce and applies a programmer-specified function, in- applications. Specifically, it investigates the notion of partial syn- dependently, on each pair in the list. A reduce chronizations combined with eager scheduling to overcome global operation takes as input a list indexed by a key, synchronization overheads associated with reduce operations. In addition to presenting semantics for these constructs, the paper of all corresponding values, and applies a reduction describes their application on two illustrative problems — eigen- function on the values. It outputs a list of key- spectra/pagerank computation on web graphs and clustering high- value pairs, where the keys are unique and values dimensional datasets. The proposed constructs yield up to five-fold performance improvements on real graphs and datasets, whileadding are determined by the function applied on all of only minimal program complexity. the values associated with the key. The inherent The following specific contributions are reported in the paper: simplicity of this programming model, combined (i) partial synchronizations combined with eager scheduling are with underlying system support for scheduling, capable of significant performance improvements, (ii) diverse classes of iteratively-structured applications can be efficiently executed in fault tolerance, and application development, make MapReduce on hundreds of distributed hosts, and (iii) a general MapReduce an attractive platform for diverse data- API for partial synchronizations and eager map scheduling holds intensive applications. Indeed, MapReduce has been significant performance potential for other applications with irregular data-access and computation profiles. used effectively in a wide variety of data processing applications. The large volumes of data processed at Google, Yahoo, and Amazon, stand testimony to 1. Introduction the effectiveness and scalability of the MapReduce paradigm. Hadoop1,anopensourceimplementation Motivated by large amounts of data generated of MapReduce, is in wide deployment and use. by web-based applications, scientific experiments, Amajorityoftheapplicationscurrentlyexecuting business transactions, etc., and the need to analyze in the MapReduce framework have a data-parallel, this data in effective, efficient, and scalable ways, uniform access profile, which makes them ideally there has been significant recent activity in develop- suited to map and reduce abstractions. Recent ing suitable programming models, runtime systems, research interest, however, has focused on more un- and development tools. The distributed nature of structured applications that do not lend themselves data sources, coupled with rapid advances in net- naturally to data-parallel formulations. Common ex- working and storage technologies naturally motivate amples of these include sparse unstructured graph abstractions for supporting large-scale distributed operations (as encountered in diverse domains in- applications. The inherent heterogeneity, latencies, cluding social networks, financial transactions, and and unreliability, of underlying platforms makes the development of such systems challenging. 1. Hadoop, http://hadoop.apache.org scientific datasets), discrete optimization and state- ion. This has the important effect of smoothing space search techniques (in business process opti- load imbalances associated with typical applica- mization, planning), and discrete event modeling. tions. This paper combines partial synchronizations, For these applications, there are two major unre- locality enhancement, and eager scheduling, along solved questions: (i) can the existing MapReduce with algorithmic asynchrony to deliver distributed framework effectively support such applications in a performance improvements of 100 to 500% (and be- scalable manner? and (ii) what enhancements to the yond in several cases). The enhanced programming MapReduce framework would significantly enhance semantics resulting in the significant performance its performance and scalability without compromis- improvement do not impact programmability/ pro- ing desirable attributes of programmability and fault gram complexity. tolerance? We demonstrate all of our results on the wide- This paper primarily focuses on the second ques- area Google cluster in the context of Pagerank tion – namely, it seeks to extend MapReduce se- and clustering (K-Means) implementations. The mantics to support specific classes of unstructured applications are representative of a broad set of applications on large-scale distributed environments. application classes. They are selected because of Recognizing that one of the key bottlenecks in their relative simplicity as well as their ubiquitous supporting such applications is the global synchro- interaction pattern. Our extended semantics have a nization associated with the reduce operation, it much broader application scope, including common introduces notions of partial synchronization and data analyses kernels (PCA, dimensionality reduc- eager scheduling. The underlying insight is that tion, PDDP), graph applications (matching through for an important class of applications, algorithms isorank, random walks), and more traditional HPC exist that do not need global synchronization for workloads (iterative linear/non-linear solvers, parti- overall-correctness. (Please note that we use the cle methods). term overall-correctness as being distinct from se- The rest of the paper is organized as follows: in quential semantics. Overall correctness refers to an Section 2, we provide a brief overview of MapRe- accurate solution to a given problem.) For such ap- duce, Hadoop, and motivate the problem;in Section plications, while global synchronizations optimize 3, we outline our primary contributions and their serial operation counts, violating these synchro- significance; in Section 4, we present extended nizations merely increases operation counts without semantics and the corresponding API; in Section 5, impacting correctness of the algorithm. Common we discuss our implementations of Pagerank and K- examples of such algorithms include, computation Means clustering and analyze performance gains of of eigenvectors (pageranks) through (asynchronous) our approach. We outline avenues for ongoing work power methods, branch-and-bound based discrete and conclusions in Sections 8 and 9. optimization with lazy bound updates, and other heuristic state-space search algorithms. For such 2. Background and Motivation algorithms, a global synchronization can be replaced by a partial synchronization. However, this partial The primary design motivation for the functional synchronization must be combined with suitable MapReduce abstractions is to allow programmers to locality enhancing techniques so as to minimize express simple concurrent computations, while hid- the adverse effect on operation counts. These lo- ing low-level details of scheduling, fault-tolerance, cality enhancing techniques take the form of min- and data distribution in a single library [5]. The cut graph partitioning and aggregation into maps simplicity of the API makes programming rela- in graph analyses, periodic quality equalization in tively easy. Programs are expressed as sequences branch-and-bound, and other such operations that (iterations) of map and reduce operations with are well known in parallel and distributed process- intervening synchronizations. The synchronizations ing communities. Replacing global synchroniza- are implicit in the reduce operation, since a reduce tions with partial synchronizations also allows us must wait for all map outputs. Once a reduce to schedule subsequent maps in an eager fash- operation has terminated, the next set of maps can be scheduled. Fault tolerance is achieved by This leads to correspondingly more computation for rescheduling maps that time out. A reduce op- the hubs as compared to the spokes. eration cannot be initiated until all maps have exe- We seek to answer the following key questions cuted. Maps generally correspond to fine-grained relating to the application scope and performance tasks. This allows the scheduler to balance load. of MapReduce (or the general paradigm of maps There are no explicit primitives for localizing data and reduces)inthecontextofapplicationsthat access. Such localization must be achieved by ag- tolerate algorithmic asynchrony: (i) what are suit- gregating fine-grained maps into coarser maps, able abstractions (MapReduce extensions) for dis- using traditional parallel processing techniques. It tributed asynchronous algorithms? (ii) for an appli- is important to remember,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us