GraphLab: A New Framework For Parallel Machine Learning
arXiv:1408.2041
Abstract
Designing and implementing efficient, provably correct parallel machine learning (ML) algorithms is challenging. Existing high-level parallel abstractions like MapReduce are insufficiently expressive while low-level tools like MPI and Pthreads leave ML experts repeatedly solving the same design challenges. By targeting common patterns in ML, we developed GraphLab, which improves upon abstractions like MapReduce by compactly expressing asynchronous iterative algorithms with sparse computational dependencies while ensuring data consistency and achieving a high degree of parallel performance. We demonstrate the expressiveness of the GraphLab framework by designing and implementing parallel versions of belief propagation, Gibbs sampling, Co-EM, Lasso and Compressed Sensing. We show that using GraphLab we can achieve excellent parallel performance on large scale real-world problems.
Appears in Proceedings of the Twenty-Sixth Conference on Uncertainty in Artificial Intelligence (UAI2010)
References in corpus (1)
Cited by in corpus (75)
- NILMTK: An Open Source Toolkit for Non-intrusive Load Monitoring
- Ray: A Distributed Framework for Emerging AI Applications
- Counting Triangles in Massive Graphs with MapReduce
- NXgraph: An Efficient Graph Processing System on a Single Machine
- Accelerated Mini-Batch Stochastic Dual Coordinate Ascent
- Big Graph Mining: Frameworks and Techniques
- The MADlib Analytics Library or MAD Skills, the SQL
- SybilFrame: A Defense-in-Depth Framework for Structure-Based Sybil Detection
- Graph Processing on FPGAs: Taxonomy, Survey, Challenges
- CONDENSE: A Reconfigurable Knowledge Acquisition Architecture for Future 5G IoT
- MLI: An API for Distributed Machine Learning
- CYCLADES: Conflict-free Asynchronous Machine Learning
- Guided parallelized stochastic gradient descent for delay compensation
- An analysis of the graph processing landscape
- Distributed Edge Partitioning for Graph Processing
- A Survey on Methods and Systems for Graph Compression
- Deep Context-Aware Recommender System Utilizing Sequential Latent Context
- DimmWitted: A Study of Main-Memory Statistical Analytics
- A Hypergraph-Partitioned Vertex Programming Approach for Large-scale Consensus Optimization
- Thinking Like a Vertex: a Survey of Vertex-Centric Frameworks for Distributed Graph Processing
- Probabilistic Graphical Models on Multi-Core CPUs using Java 8
- A Linear Logic Programming Language for Concurrent Programming over Graph Structures
- Big Learning with Bayesian Methods
- Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics
- Ripple: A Practical Declarative Programming Framework for Serverless Compute
- GraphIt: A High-Performance DSL for Graph Analytics
- Sparse Allreduce: Efficient Scalable Communication for Power-Law Data
- To Push or To Pull: On Reducing Communication and Synchronization in Graph Computations
- DwarvesGraph: A High-Performance Graph Mining System with Pattern Decomposition
- Fast Differentially Private Matrix Factorization
- Embarrassingly Parallel Variational Inference in Nonconjugate Models
- BigSparse: High-performance external graph analytics
- Streaming Balanced Graph Partitioning for Random Graphs
- Online Tensor Methods for Learning Latent Variable Models
- The Family of MapReduce and Large Scale Data Processing Systems
- Log(Graph): A Near-Optimal High-Performance Graph Representation
- A Survey on Domain-Specific Languages for Machine Learning in Big Data
- Spinning Fast Iterative Data Flows
- Belief Propagation by Message Passing in Junction Trees: Computing Each Message Faster Using GPU Parallelization
- Purine: A bi-graph based deep learning framework
- Identifying Dwarfs Workloads in Big Data Analytics
- GraphR: Accelerating Graph Processing Using ReRAM
- Model-based Pricing for Machine Learning in a Data Marketplace
- Large Scale Estimation in Cyberphysical Systems using Streaming Data: a Case Study with Smartphone Traces
- Modern Subsampling Methods for Large-Scale Least Squares Regression
- IntersectX: An Efficient Accelerator for Graph Mining
- Processing Data Where It Makes Sense: Enabling In-Memory Computation
- Accelerating Direction-Optimized Breadth First Search on Hybrid Architectures
- gSuite: A Flexible and Framework Independent Benchmark Suite for Graph Neural Network Inference on GPUs
- Time Is of the Essence: Analyzing the Effect of Vertex-Joining Time on Complex Network Evolution
- Kudu: An Efficient and Scalable Distributed Graph Pattern Mining Engine
- Spark-MPI: Approaching the Fifth Paradigm of Cognitive Applications
- clusterNOR: A NUMA-Optimized Clustering Framework
- Differential Data Analysis for Recommender Systems
- PartitionedVC: Partitioned External Memory Graph Analytics Framework for SSDs
- An Efficient System for Subgraph Discovery
- Pruned Landmark Labeling Meets Vertex Centric Computation: A Surprisingly Happy Marriage!
- ELM-Based Distributed Cooperative Learning Over Networks
- Max-Product Belief Propagation for Linear Programming: Applications to Combinatorial Optimization
- Over-Optimization of Academic Publishing Metrics: Observing Goodhart's Law in Action
- Maiter: An Asynchronous Graph Processing Framework for Delta-based Accumulative Iterative Computation
- Distributed Graph Layout for Scalable Small-world Network Analysis
- Utilizing Static Analysis and Code Generation to Accelerate Neural Networks
- Substream-Centric Maximum Matchings on FPGA
- Accelerating Irregular Computations with Hardware Transactional Memory and Active Messages
- Are Key-Foreign Key Joins Safe to Avoid when Learning High-Capacity Classifiers?
- knor: A NUMA-Optimized In-Memory, Distributed and Semi-External-Memory k-means Library
- Recursive SPARQL for Graph Analytics
- GraFS: Graph Analytics Fusion and Synthesis
- Distributed Function Minimization in Apache Spark
- Graphyti: A Semi-External Memory Graph Library for FlashGraph
- Cloud-Based Approximate Constrained Shortest Distance Queries Over Encrypted Graphs With Privacy Protection
- Streaming Graph Partitioning in the Planted Partition Model
- Efficient Two-Level Scheduling for Concurrent Graph Processing
- Cut to Fit: Tailoring the Partitioning to the Computation