Share
Distributed Graph Analytics: Programming, Languages, and Their Compilation
Unnikrishnan Cheramangalath; Rupesh Nasre; Y. N. Srikant (Author)
·
Springer
· Hardcover
Distributed Graph Analytics: Programming, Languages, and Their Compilation - Unnikrishnan Cheramangalath; Rupesh Nasre; Y. N. Srikant
Choose the list to add your product or create one New List
✓ Product added successfully to the Wishlist.
Go to My Wishlists
Origin: U.S.A.
(Import costs included in the price)
It will be shipped from our warehouse between
Tuesday, May 28 and
Thursday, June 13.
You will receive it anywhere in United Kingdom between 1 and 3 business days after shipment.
Synopsis "Distributed Graph Analytics: Programming, Languages, and Their Compilation"
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.