Advertisement

© 2020

Distributed Graph Analytics

Programming, Languages, and Their Compilation

Book
  • 2.7k Downloads

Table of contents

  1. Front Matter
    Pages i-xi
  2. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 1-29
  3. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 31-60
  4. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 61-97
  5. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 99-122
  6. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 123-136
  7. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 137-151
  8. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 153-179
  9. Unnikrishnan Cheramangalath, Rupesh Nasre, Y. N. Srikant
    Pages 181-193
  10. Back Matter
    Pages 195-208

About this book

Introduction

This book brings together two important trends: graph algorithms and high-performance computing. Efficient and scalable execution of graph processing applications in data or network analysis requires innovations at multiple levels: algorithms, associated data structures, their implementation and tuning to a particular hardware. Further, programming languages and the associated compilers play a crucial role when it comes to automating efficient code generation for various architectures. This book discusses the essentials of all these aspects.

The book is divided into three parts: programming, languages, and their compilation. The first part examines the manual parallelization of graph algorithms, revealing various parallelization patterns encountered, especially when dealing with graphs. The second part uses these patterns to provide language constructs that allow a graph algorithm to be specified. Programmers can work with these language constructs without worrying about their implementation, which is the focus of the third part. Implementation is handled by a compiler, which can specialize code generation for a backend device. The book also includes suggestive results on different platforms, which illustrate and justify the theory and practice covered. Together, the three parts provide the essential ingredients for creating a high-performance graph application. The book ends with a section on future directions, which offers several pointers to promising topics for future research.

This book is intended for new researchers as well as graduate and advanced undergraduate students. Most of the chapters can be read independently by those familiar with the basics of parallel programming and graph algorithms. However, to make the material more accessible, the book includes a brief background on elementary graph algorithms, parallel computing and GPUs.  Moreover it presents a case study using Falcon, a domain-specific language for graph algorithms, to illustrate the concepts.

Keywords

Graph Algorithms Software Engineering Model-Driven Software Engineering Domain-Specific Languages Compilers

Authors and affiliations

  1. 1.Department of Computer Science and EngineeringIndian Institute of Technology PalakkadPalakkadIndia
  2. 2.Department of Computer Science and EngineeringIndian Institute of Technology MadrasChennaiIndia
  3. 3.Department of Computer Science and AutomationIndian Institute of ScienceBangaloreIndia

About the authors

Unnikrishnan Cheramangalath is an Assistant Professor at the Indian Institute of Technology, Palakkad.  His research interests include domain-specific languages, compilation for distributed heterogeneous systems, and high-performance computing.

Rupesh Nasre is an Assistant Professor at the Department of Computer Science and Engineering at the Indian Institute of Technology, Madras. His research focuses on compilers and parallelization. He is a recipient of the Young Faculty Recognition Award at IIT Madras and the Cray HPC Award 2018.

Y.N. Srikant is Dean of the Faculty of Engineering and a Professor of Computer Science at the Indian Institute of Science, Bangalore. He was the recipient of the Indian National Science Academy’s Young Scientist Medal in 1988.  His general areas of interest are compiler design and programming languages, and most recently he has focused on compiler design, domain-specific languages for graph processing and information retrieval, type systems, formal models of Android, and machine learning techniques for compiler optimizations. His two video courses on compiler design produced by NPTEL are used in courses at several universities in India.

Bibliographic information

  • Book Title Distributed Graph Analytics
  • Book Subtitle Programming, Languages, and Their Compilation
  • Authors Unnikrishnan Cheramangalath
    Rupesh Nasre
    Y. N. Srikant
  • DOI https://doi.org/10.1007/978-3-030-41886-1
  • Copyright Information Springer Nature Switzerland AG 2020
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science Computer Science (R0)
  • Hardcover ISBN 978-3-030-41885-4
  • Softcover ISBN 978-3-030-41888-5
  • eBook ISBN 978-3-030-41886-1
  • Edition Number 1
  • Number of Pages XI, 207
  • Number of Illustrations 44 b/w illustrations, 0 illustrations in colour
  • Topics Software Engineering
    Discrete Mathematics in Computer Science
  • Buy this book on publisher's site
Industry Sectors
Pharma
Automotive
Chemical Manufacturing
Biotechnology
IT & Software
Telecommunications
Consumer Packaged Goods
Engineering
Finance, Business & Banking
Electronics
Energy, Utilities & Environment
Aerospace