An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
Programming parallel algorithms
Communications of the ACM
Algebra of programming
Haskell: the craft of functional programming
Haskell: the craft of functional programming
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Communications of the ACM
Fast parallel sorting algorithms
Communications of the ACM
The Gamma Database Machine Project
IEEE Transactions on Knowledge and Data Engineering
Information Sciences—Applications: An International Journal
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Calculating Functional Programs
Revised Lectures from the International Summer School and Workshop on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
Parallelizing Conditional Recurrences
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
Systematic Efficient Parallelization of Scan and Other List Homomorphisms
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing-Volume II
Routing, merging and sorting on parallel models of computation
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
A tutorial on the universality and expressiveness of fold
Journal of Functional Programming
A pointless derivation of radix sort
Journal of Functional Programming
Common Lisp: The Language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interpreting the data: Parallel analysis with Sawzall
Scientific Programming - Dynamic Grids and Worldwide Computing
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Sindice.com: a document-oriented lookup index for open linked data
International Journal of Metadata, Semantics and Ontologies
Proceedings of the 4th workshop on Declarative aspects of multicore programming
Map-reduce programming model and hadoop distributed file system for use in undergraduate curriculum
Journal of Computing Sciences in Colleges
DOULION: counting triangles in massive graphs with a coin
Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining
Implementing Parallel Google Map-Reduce in Eden
Euro-Par '09 Proceedings of the 15th International Euro-Par Conference on Parallel Processing
SETQA-NLP '09 Proceedings of the Workshop on Software Engineering, Testing, and Quality Assurance for Natural Language Processing
Distributed aggregation for data-parallel computing: interfaces and implementations
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Enterprise Cloud Architecture for Chinese Ministry of Railway
CloudCom '09 Proceedings of the 1st International Conference on Cloud Computing
Parallel K-Means Clustering Based on MapReduce
CloudCom '09 Proceedings of the 1st International Conference on Cloud Computing
Distributed Scheduling Extension on Hadoop
CloudCom '09 Proceedings of the 1st International Conference on Cloud Computing
VDB-MR: MapReduce-based distributed data integration using virtual database
Future Generation Computer Systems
The high-activity parallel implementation of data preprocessing based on MapReduce
RSKT'10 Proceedings of the 5th international conference on Rough set and knowledge technology
Static type checking of Hadoop MapReduce programs
Proceedings of the second international workshop on MapReduce and its applications
Clustering very large multi-dimensional datasets with MapReduce
Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining
Spectral analysis for billion-scale graphs: discoveries and implementation
PAKDD'11 Proceedings of the 15th Pacific-Asia conference on Advances in knowledge discovery and data mining - Volume Part II
Towards systematic parallel programming over mapreduce
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part II
Using Coq in specification and program extraction of hadoop mapreduce applications
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
A parallel method for computing rough set approximations
Information Sciences: an International Journal
Data cloud for distributed data mining via pipelined mapreduce
ADMI'11 Proceedings of the 7th international conference on Agents and Data Mining Interaction
A MapReduce-based distributed SVM algorithm for automatic image annotation
Computers & Mathematics with Applications
GigaTensor: scaling tensor analysis up by 100 times - algorithms and discoveries
Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining
Parallel computation skeletons with premature termination property
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Parallel decision tree with application to water quality data analysis
ISNN'12 Proceedings of the 9th international conference on Advances in Neural Networks - Volume Part II
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Parallel max-min ant system using mapreduce
ICSI'12 Proceedings of the Third international conference on Advances in Swarm Intelligence - Volume Part I
Multimedia Applications and Security in MapReduce: Opportunities and Challenges
Concurrency and Computation: Practice & Experience
High performance parallel evolutionary algorithm model based on MapReduce framework
International Journal of Computer Applications in Technology
Representing mapreduce optimisations in the nested relational calculus
BNCOD'13 Proceedings of the 29th British National conference on Big Data
A MapReduce-based distributed SVM ensemble for scalable image classification and annotation
Computers & Mathematics with Applications
Speeding-up codon analysis on the cloud with local MapReduce aggregation
Information Sciences: an International Journal
Hi-index | 0.00 |
Google's MapReduce programming model serves for processing large data sets in a massively parallel manner. We deliver the first rigorous description of the model including its advancement as Google's domain-specific language Sawzall. To this end, we reverse-engineer the seminal papers on MapReduce and Sawzall, and we capture our findings as an executable specification. We also identify and resolve some obscurities in the informal presentation given in the seminal papers. We use typed functional programming (specifically Haskell) as a tool for design recovery and executable specification. Our development comprises three components: (i) the basic program skeleton that underlies MapReduce computations; (ii) the opportunities for parallelism in executing MapReduce computations; (iii) the fundamental characteristics of Sawzall's aggregators as an advancement of the MapReduce approach. Our development does not formalize the more implementational aspects of an actual, distributed execution of MapReduce computations.