Compiler-assisted Workload Consolidation to Efficiently Exploit Dynamic Parallelism for Recursive Applications

Compiler-assisted Workload Consolidation to Efficiently Exploit Dynamic Parallelism for Recursive Applications
Author: Hancheng Wu (Researcher on electrical engineering)
Publisher:
Total Pages: 40
Release: 2015
Genre:
ISBN:

GPUs have been widely used to parallelize and accelerate applications for its high throughput. Traditionally, a GPU function can only be launched from the CPU side. This results in the fact that GPUs are preferable for those application which express a flat data parallelism, a simple data parallelism that is known at compiling time and can be easily distributed to different GPU blocks and threads. However, for those applications that contain nested data parallelism, which is not known a priori and can only be discovered at running time, it is difficult to write a GPU function that achieve high performance on parallelization and acceleration. One can easily end up with either a too coarse-grained or too fine-grained GPU function. Since Kepler architecture, Nvidia introduced a new feature -- Dynamic Parallelism (DP), which enables the initiation of GPU functions from inside a GPU function. This makes the nested parallelism easy to be explored on GPU since one can program in a way that a new GPU function can be launched whenever a local nested parallelism is met during the execution. What is more, DP makes implementing recursion on GPU without the intervention of CPUs possible. Many computations exhibit a pattern of nested data parallelism and among those is parallel recursion. However, preliminary data shows that simple DP-based implementations of recursion result in poor performance. This work focus on how to efficiently exploit DP for parallel recursive applications on GPU. Specifically, the goal is to free the users from programming with the complexity of GPUs' hardware and software and to automatically generate high performance GPU recursive functions implemented with DP given the inputs of simple parallel CPU recursive functions. To this end, first, I propose several DP-based parallel recursive templates that can be generated from a serial CPU recursive function. I compare the parallel recursive templates with non DP-based counterparts (flat kernels) to see if using DP in parallel recursive application can be beneficial or not. Second, to reduce the overhead of DP, I propose compiler techniques that improve the efficiency of simple DP-based parallel recursive functions by performing workload consolidation. My evaluation shows that GPU kernels consolidated with the proposed code transformations achieve an average speedup in the order of 1500x over basic implementations using DP and an average speedup of 3.9x over optimized flat GPU kernels for both tree traversal and graph based applications.

Mastering Cloud Computing

Mastering Cloud Computing
Author: Rajkumar Buyya
Publisher: Newnes
Total Pages: 469
Release: 2013-04-05
Genre: Computers
ISBN: 0124095399

Mastering Cloud Computing is designed for undergraduate students learning to develop cloud computing applications. Tomorrow's applications won't live on a single computer but will be deployed from and reside on a virtual server, accessible anywhere, any time. Tomorrow's application developers need to understand the requirements of building apps for these virtual systems, including concurrent programming, high-performance computing, and data-intensive systems. The book introduces the principles of distributed and parallel computing underlying cloud architectures and specifically focuses on virtualization, thread programming, task programming, and map-reduce programming. There are examples demonstrating all of these and more, with exercises and labs throughout. - Explains how to make design choices and tradeoffs to consider when building applications to run in a virtual cloud environment - Real-world case studies include scientific, business, and energy-efficiency considerations

Optimizing Compilers for Modern Architectures: A Dependence-Based Approach

Optimizing Compilers for Modern Architectures: A Dependence-Based Approach
Author: Randy Allen
Publisher: Morgan Kaufmann Publishers
Total Pages: 790
Release: 2001-10
Genre: Computers
ISBN: 9781493303540

Modern computer architectures designed with high-performance microprocessors offer tremendous potential gains in performance over previous designs. Yet their very complexity makes it increasingly difficult to produce efficient code and to realize their full potential. This landmark text from two leaders in the field focuses on the pivotal role that compilers can play in addressing this critical issue. The basis for all the methods presented in this book is data dependence, a fundamental compiler analysis tool for optimizing programs on high-performance microprocessors and parallel architectures. It enables compiler designers to write compilers that automatically transform simple, sequential programs into forms that can exploit special features of these modern architectures. The text provides a broad introduction to data dependence, to the many transformation strategies it supports, and to its applications to important optimization problems such as parallelization, compiler memory hierarchy management, and instruction scheduling. The authors demonstrate the importance and wide applicability of dependence-based compiler optimizations and give the compiler writer the basics needed to understand and implement them. They also offer cookbook explanations for transforming applications by hand to computational scientists and engineers who are driven to obtain the best possible performance of their complex applications. The approaches presented are based on research conducted over the past two decades, emphasizing the strategies implemented in research prototypes at Rice University and in several associated commercial systems. Randy Allen and Ken Kennedy have provided an indispensable resource for researchers, practicing professionals, and graduate students engaged in designing and optimizing compilers for modern computer architectures. * Offers a guide to the simple, practical algorithms and approaches that are most effective in real-world, high-performance microprocessor and parallel systems. * Demonstrates each transformation in worked examples. * Examines how two case study compilers implement the theories and practices described in each chapter. * Presents the most complete treatment of memory hierarchy issues of any compiler text. * Illustrates ordering relationships with dependence graphs throughout the book. * Applies the techniques to a variety of languages, including Fortran 77, C, hardware definition languages, Fortran 90, and High Performance Fortran. * Provides extensive references to the most sophisticated algorithms known in research.

Handbook of Cloud Computing

Handbook of Cloud Computing
Author: Nayyar Dr. Anand
Publisher: BPB Publications
Total Pages: 420
Release: 2019-09-20
Genre: Computers
ISBN: 9388511506

Great POSSIBILITIES and high future prospects to become ten times folds in the near FUTUREKey features Comprehensively gives clear picture of current state-of-the-art aspect of cloud computing by elaborating terminologies, models and other related terms. Enlightens all major players in Cloud Computing industry providing services in terms of SaaS, PaaS and IaaS. Highlights Cloud Computing Simulators, Security Aspect and Resource Allocation. In-depth presentation with well-illustrated diagrams and simple to understand technical concepts of cloud. Description The book "e;Handbook of Cloud Computing"e; provides the latest and in-depth information of this relatively new and another platform for scientific computing which has great possibilities and high future prospects to become ten folds in near future. The book covers in comprehensive manner all aspects and terminologies associated with cloud computing like SaaS, PaaS and IaaS and also elaborates almost every cloud computing service model.The book highlights several other aspects of cloud computing like Security, Resource allocation, Simulation Platforms and futuristic trend i.e. Mobile cloud computing. The book will benefit all the readers with all in-depth technical information which is required to understand current and futuristic concepts of cloud computing. No prior knowledge of cloud computing or any of its related technology is required in reading this book. What will you learn Cloud Computing, Virtualisation Software as a Service, Platform as a Service, Infrastructure as a Service Data in Cloud and its Security Cloud Computing - Simulation, Mobile Cloud Computing Specific Cloud Service Models Resource Allocation in Cloud Computing Who this book is for Students of Polytechnic Diploma Classes- Computer Science/ Information Technology Graduate Students- Computer Science/ CSE / IT/ Computer Applications Master Class Students-Msc (CS/IT)/ MCA/ M.Phil, M.Tech, M.S. Researcher's-Ph.D Research Scholars doing work in Virtualization, Cloud Computing and Cloud Security Industry Professionals- Preparing for Certifications, Implementing Cloud Computing and even working on Cloud Security Table of contents1. Introduction to Cloud Computing2. Virtualisation3. Software as a Service4. Platform as a Service5. Infrastructure as a Service6. Data in Cloud7. Cloud Security 8. Cloud Computing - Simulation9. Specific Cloud Service Models10. Resource Allocation in Cloud Computing11. Mobile Cloud Computing About the authorDr. Anand Nayyar received Ph.D (Computer Science) in Wireless Sensor Networks and Swarm Intelligence. Presently he is working in Graduate School, Duy Tan University, Da Nang, Vietnam. He has total of fourteen Years of Teaching, Research and Consultancy experience with more than 250 Research Papers in various International Conferences and highly reputed journals. He is certified Professional with more than 75 certificates and member of 50 Professional Organizations. He is acting as "e;ACM DISTINGUISHED SPEAKER"e;

Readings in Database Systems

Readings in Database Systems
Author: Joseph M. Hellerstein
Publisher: MIT Press
Total Pages: 884
Release: 2005
Genre: Computers
ISBN: 9780262693141

The latest edition of a popular text and reference on database research, with substantial new material and revision; covers classical literature and recent hot topics. Lessons from database research have been applied in academic fields ranging from bioinformatics to next-generation Internet architecture and in industrial uses including Web-based e-commerce and search engines. The core ideas in the field have become increasingly influential. This text provides both students and professionals with a grounding in database research and a technical context for understanding recent innovations in the field. The readings included treat the most important issues in the database area--the basic material for any DBMS professional. This fourth edition has been substantially updated and revised, with 21 of the 48 papers new to the edition, four of them published for the first time. Many of the sections have been newly organized, and each section includes a new or substantially revised introduction that discusses the context, motivation, and controversies in a particular area, placing it in the broader perspective of database research. Two introductory articles, never before published, provide an organized, current introduction to basic knowledge of the field; one discusses the history of data models and query languages and the other offers an architectural overview of a database system. The remaining articles range from the classical literature on database research to treatments of current hot topics, including a paper on search engine architecture and a paper on application servers, both written expressly for this edition. The result is a collection of papers that are seminal and also accessible to a reader who has a basic familiarity with database systems.

Practical Statecharts in C/C++

Practical Statecharts in C/C++
Author: Miro Samek
Publisher: CRC Press
Total Pages: 412
Release: 2002-01-07
Genre: Computers
ISBN: 1578201101

'Downright revolutionary... the title is a major understatement... 'Quantum Programming' may ultimately change the way embedded software is designed.' -- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine (Click here

Reconfigurable Computing

Reconfigurable Computing
Author: Joao Cardoso
Publisher: Springer Science & Business Media
Total Pages: 308
Release: 2011-08-17
Genre: Technology & Engineering
ISBN: 1461400619

As the complexity of modern embedded systems increases, it becomes less practical to design monolithic processing platforms. As a result, reconfigurable computing is being adopted widely for more flexible design. Reconfigurable Computers offer the spatial parallelism and fine-grained customizability of application-specific circuits with the postfabrication programmability of software. To make the most of this unique combination of performance and flexibility, designers need to be aware of both hardware and software issues. FPGA users must think not only about the gates needed to perform a computation but also about the software flow that supports the design process. The goal of this book is to help designers become comfortable with these issues, and thus be able to exploit the vast opportunities possible with reconfigurable logic.

Cloud Computing and Software Services

Cloud Computing and Software Services
Author: Syed A. Ahson
Publisher: CRC Press
Total Pages: 458
Release: 2010-07-19
Genre: Computers
ISBN: 9781439803165

Whether you're already in the cloud, or determining whether or not it makes sense for your organization, Cloud Computing and Software Services: Theory and Techniques provides the technical understanding needed to develop and maintain state-of-the-art cloud computing and software services. From basic concepts and recent research findings to fut

z/OS Version 1 Release 11 Implementation

z/OS Version 1 Release 11 Implementation
Author: Paul Rogers
Publisher: IBM Redbooks
Total Pages: 736
Release: 2010-04-07
Genre: Computers
ISBN: 073843387X

This IBM® Redbooks® publication positions the new z/OS® Version 1 Release 11 for migration by discussing many of the new functions that are available. The goal for the z/OS platform is to eliminate, automate, and simplify tasks without sacrificing z/OS strengths, and to deliver a z/OS management facility that is easy to learn and use. z/OS is a highly secure, scalable, high-performance enterprise operating system on which to build and deploy Internet- and JavaTM-enabled applications, providing a comprehensive and diverse application execution environment. This books describes the following new and changed functions: - IBM z/OS Management Facility - Allocation enhancements in z/OS V1R11 - BCPii function enhancements in z/OS V1R11 - JES2 and JES3 enhancements - zFS file sharing enhancements - Extended access volume enhancements - Choosing whether to run zAAP work on zIIP processors - System REXX enhancements in V1R11 - RRS global panel options - Service aids enhancements in V1R11 - GRS ENQ contention notification enhancements and analysis for GRS latches - Basic HyperSwap® support enhancement - Message Flood Automation enhancements - Program Management new Binder IEWPARMS - Predictive failure analysis (PFA) - SMF enhancements in V1R11 - System Logger enhancements - XCF/XES enhancements in V1R11 - AutoIPL support - Displaying PDSE caching statistics - ISPF enhancements - IBM Health Checker for z/OS enhancements

Practical UML Statecharts in C/C++

Practical UML Statecharts in C/C++
Author: Miro Samek
Publisher: CRC Press
Total Pages: 745
Release: 2008-10-03
Genre: Computers
ISBN: 148224926X

Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual cod