Miraj Kheni Authors: Toyotaro Suzumura, Koji Ueno

Slides:



Advertisements
Similar presentations
Garbage collection David Walker CS 320. Where are we? Last time: A survey of common garbage collection techniques –Manual memory management –Reference.
Advertisements

epiC: an Extensible and Scalable System for Processing Big Data
1 TDD: Topics in Distributed Databases Distributed Query Processing MapReduce Vertex-centric models for querying graphs Distributed query evaluation by.
Distributed Breadth-First Search with 2-D Partitioning Edmond Chow, Keith Henderson, Andy Yoo Lawrence Livermore National Laboratory LLNL Technical report.
Spark: Cluster Computing with Working Sets
APACHE GIRAPH ON YARN Chuan Lei and Mohammad Islam.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
Graph Processing Recap: data-intensive cloud computing – Just database management on the cloud – But scaling it to thousands of nodes – Handling partial.
An introduction to F# (part 2) Bogdan Brinzarea-Iamandi Banca Romaneasca 25 February 2010.
3.5 Interprocess Communication
Paper by: Grzegorz Malewicz, Matthew Austern, Aart Bik, James Dehnert, Ilan Horn, Naty Leiser, Grzegorz Czajkowski (Google, Inc.) Pregel: A System for.
Intel Concurrent Collections (for Haskell) Ryan Newton, Chih-Ping Chen, Simon Marlow Software and Services Group Jul 27, 2010.
Pregel: A System for Large-Scale Graph Processing
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Pregel: A System for Large-Scale Graph Processing Presented by Dylan Davis Authors: Grzegorz Malewicz, Matthew H. Austern, Aart J.C. Bik, James C. Dehnert,
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Daniel J. Abadi · Adam Marcus · Samuel R. Madden ·Kate Hollenbach Presenter: Vishnu Prathish Date: Oct 1 st 2013 CS 848 – Information Integration on the.
Harp: Collective Communication on Hadoop Bingjing Zhang, Yang Ruan, Judy Qiu.
Ronny Krashinsky Erik Machnicki Software Cache Coherent Shared Memory under Split-C.
Pregel Algorithms for Graph Connectivity Problems with Performance Guarantees Da Yan (CUHK), James Cheng (CUHK), Kai Xing (HKUST), Yi Lu (CUHK), Wilfred.
The InfoVis Toolkit Jean-Daniel Fekete INRIA Futurs/LRI, France
Data Structures and Algorithms in Parallel Computing Lecture 4.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Data Structures and Algorithms in Parallel Computing
Pregel: A System for Large-Scale Graph Processing Nov 25 th 2013 Database Lab. Wonseok Choi.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN Randal Burns 14 November 2013.
Resilient Distributed Datasets A Fault-Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
1 Des bulles dans le PaStiX Réunion NUMASIS Mathieu Faverge ScAlApplix project, INRIA Futurs Bordeaux 29 novembre 2006.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
TensorFlow– A system for large-scale machine learning
Last Class: Introduction
Topo Sort on Spark GraphX Lecturer: 苟毓川
Pagerank and Betweenness centrality on Big Taxi Trajectory Graph
Distributed Shared Memory
Parallel Databases.
Cross Platform Development using Software Matrix
Spark Presentation.
Physical Database Design and Performance
Parallel Programming By J. H. Wang May 2, 2017.
Pattern Parallel Programming
PREGEL Data Management in the Cloud
New trends in parallel computing
Relational Algebra Chapter 4, Part A
Operating Systems (CS 340 D)
Data Structures and Algorithms in Parallel Computing
Applying Twister to Scientific Applications
Distributed Garbage Collection
Ch 15 –part 3 -design evaluation
Threads, SMP, and Microkernels
Graph Implementations
Distributed Systems CS
Mihir Awatramani Lakshmi kiran Tondehal Xinying Wang Y. Ravi Chandra
Akshay Tomar Prateek Singh Lohchubh
Carlos Ordonez, Predrag T. Tosic
Relational Algebra Chapter 4, Sections 4.1 – 4.2
2009 AAG Annual Meeting Las Vegas, NV March 25th, 2009
Parallel Analytic Systems
HPML Conference, Lyon, Sept 2018
University of Wisconsin-Madison
Threads and Concurrency
Operating Systems (CS 340 D)
Chapter 5 Architectural Design.
Computational Advertising and
Course Instructor: Supriya Gupta Asstt. Prof
An Implementation of User-level Distributed Shared Memory
Motivation Contemporary big data tools such as MapReduce and graph processing tools have fixed data abstraction and support a limited set of communication.
Call and return architectures
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

Miraj Kheni Authors: Toyotaro Suzumura, Koji Ueno ScaleGraph:A High-Performance Library for Billion-Scale Graph Analytics Miraj Kheni Authors: Toyotaro Suzumura, Koji Ueno

ScaleGraph: Motivations Growing interest in the field of large-scale graph mining Achieving high performance and low software complexity at the same time Harnessing performance and productivity of X10

ScaleGraph: Related Work Parallel Boost Graph Library (PBGL) Google’s Pregel Apache Giraph GraphLab

ScaleGraph: X10 Overview A type-safe, imperative, concurrent, object-oriented language Asynchronous partitioned global address space (APGAS) programming model Key concepts: place: analogous to process activity: analogous to lightweight thread activity can access remote data using at keyword or X10.util.Team class Seamless migration of an activity to different place Supports Clik-style fork-join programming Async, Finish

ScaleGraph: Improved X10 Team Class X10 Team: contains routines for collective communication ScaleGraph proposes a new X10 Team class that optimizes collective communication by not emulating X10RT Implements both blocking and non-blocking collective communication routines that directly uses MPI collective communication routines.

ScaleGraph: New Memory Management System X10 back-end uses Boehm-Demers-Weiser conservative garbage collector (BDWGC) Does not differentiate small and large memory allocation requests Authors proposes EMM (Explicitly Managed Memory) For small memory allocation- use BDWGC and for large memory allocation- explicitly use malloc and free

ScaleGraph 2: Overview Implemented new readers and writes for parallel IO Implemented new X10 Team Implemented XPregel framework Three main components: XPregel framework Basic linear Algebra Subprograms (BLAS) File IO Provides a number of graph algorithms

ScaleGraph: Graph Representation Distributed Graph Object Distributed mutable lists of edges, vertex attributes and edge attributes Does not support query operations on graph Distributed Sparse Matrix Efficient way for storing immutable, sparse, adjacency matrix Supports querying vertex neighbors, vertex attributes and edge attributes

ScaleGraph: Graph Representation Distributions of distributed sparse Matrix on four places: 1D Row wise (R=4, C=1) 1D Column wise (R=1, C=4) 2D Block (R=2, C=2)

ScaleGraph: XPregel Framework Pregel Computation Model Supersteps- during each superstep, a user-defined function is invoked for each vertex Three main interfaces- Message Passing, Combiner and Aggregator XPregel interface:

ScaleGraph: More Optimizations SendAll Optimization Technique Aims at reducing number of messages when a vertex sends the same massage to all of its neighbors If enabled, the vertex will send only one message to destination place, which in turn would duplicate the message before passing it to respective vertices BLAS for Sparse Matrix For graph problems that can be expressed using repeated matrix-vector multiplication

ScaleGraph: Evaluation Updated X10 Team:

ScaleGraph: Evaluation Weak Scaling: Strong Scaling:

ScaleGraph: Evaluation Strong Scaling: ScaleGraph vs Giraph vs PBGL

Conclusion Use of X10 – helps in productivity and performance Use of optimized X10 Team – optimizes collective communications Introduces EMM – better memory management XPregel’s SendAll – Reduces duplication of messages These optimizations helps ScaleGraph in achieving high productivity, scalability and productivity.

Thank You