Skip to main content

Books in Parallel and distributed computing

  • Mastering Cloud Computing

    Foundations and Applications Programming
    • 2nd Edition
    • Rajkumar Buyya + 4 more
    • English
    Mastering Cloud Computing: Foundations and Applications Programming, Second Edition serves as a comprehensive introduction for readers seeking to develop applications in the ever-evolving world of cloud computing. As technology advances, applications are no longer confined to a single machine but instead operate from virtual servers, accessible globally at any time. This book equips aspiring developers with the essential tools and knowledge to create effective cloud-based applications. Beyond the foundational principles, the book delves into distributed and parallel computing, providing in-depth coverage of virtualization, thread programming, task programming, and map-reduce techniques.It also addresses the development of applications for various cloud architectures, highlighting industrial platforms and critical security considerations. To reinforce learning, the text integrates real-world case studies, practical examples, hands-on exercises, and lab activities throughout, allowing readers to apply concepts directly and build their expertise effectively.
  • High Performance Computing

    Modern Systems and Practices
    • 2nd Edition
    • Thomas Sterling + 2 more
    • English
    Performance Computing: Modern Systems and Practices is a fully comprehensive and easily accessible treatment of high performance computing, covering fundamental concepts and essential knowledge while also providing key skills training. With this book, students will begin their careers with an understanding of possible directions for future research and development in HPC, domain scientists will learn how to use supercomputers as a key tool in their quest for new knowledge, and practicing engineers will discover how supercomputers can employ HPC systems and methods to the design and simulation of innovative products.This new edition has been fully updated, and has been reorganized and restructured to improve accessibility for undergraduate students while also adding trending content such as machine learning and a new chapter on CUDA.
  • Truly Concurrent Process Algebra With Localities

    • 1st Edition
    • Yong Wang
    • English
    Truly Concurrent Process Algebra with Localities introduces localities into truly concurrent process algebras. The book explores all aspects of localities in truly concurrent process algebras, such as Calculus for True Concurrency (CTC), which is a generalization of CCS for true concurrency, Algebra of Parallelism for True Concurrency (APTC), which is a generalization of ACP for true concurrency, and Π Calculus for True Concurrency (Π). Together, these approaches capture the so-called true concurrency based on truly concurrent bisimilarities, such as pomset bisimilarity, step bisimilarity, history-preserving (hp-) bisimilarity and hereditary history-preserving (hhp-) bisimilarity.This book provides readers with all aspects of algebraic theory for localities, including the basis of semantics, calculi for static localities, axiomatization for static localities, as well as calculi for dynamic localities and axiomatization for dynamic localities.
  • Programming Massively Parallel Processors

    A Hands-on Approach
    • 4th Edition
    • Wen-mei W. Hwu + 2 more
    • English
    Programming Massively Parallel Processors: A Hands-on Approach shows both students and professionals alike the basic concepts of parallel programming and GPU architecture. Concise, intuitive, and practical, it is based on years of road-testing in the authors' own parallel computing courses. Various techniques for constructing and optimizing parallel programs are explored in detail, while case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. The new edition includes updated coverage of CUDA, including the newer libraries such as CuDNN. New chapters on frequently used parallel patterns have been added, and case studies have been updated to reflect current industry practices.
  • Cloud Computing

    Theory and Practice
    • 3rd Edition
    • Dan C. Marinescu
    • English
    Cloud Computing: Theory and Practice, Third Edition provides students and IT professionals with an in-depth analysis of the cloud from the ground up. After an introduction to network-centric computing and network-centric content, the book reviews basic concepts of concurrency and parallel and distributed systems, presents critical components of the cloud ecosystem as cloud service providers, cloud access, cloud data storage, and cloud hardware and software, covers cloud applications and cloud security, and presents research topics in cloud computing. Specific topics covered include resource virtualization, resource management and scheduling, and advanced topics like the impact of scale on efficiency, cloud scheduling subject to deadlines, alternative cloud architectures, and vehicular clouds. An included glossary covers terms grouped in several categories, from general to services, virtualization, desirable attributes and security.
  • Multicore and GPU Programming

    An Integrated Approach
    • 2nd Edition
    • Gerassimos Barlas
    • English
    Multicore and GPU Programming: An Integrated Approach, Second Edition offers broad coverage of key parallel computing tools, essential for multi-core CPU programming and many-core "massively parallel" computing. Using threads, OpenMP, MPI, CUDA and other state-of-the-art tools, the book teaches the design and development of software capable of taking advantage of modern computing platforms that incorporate CPUs, GPUs and other accelerators. Presenting material refined over more than two decades of teaching parallel computing, author Gerassimos Barlas minimizes the challenge of transitioning from sequential programming to mastering parallel platforms with multiple examples, extensive case studies, and full source code. By using this book, readers will better understand how to develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting parallel machines.
  • An Introduction to Parallel Programming

    • 2nd Edition
    • Peter Pacheco + 1 more
    • English
    An Introduction to Parallel Programming, Second Edition presents a tried-and-true tutorial approach that shows students how to develop effective parallel programs with MPI, Pthreads and OpenMP.As the first undergraduate text to directly address compiling and running parallel programs on multi-core and cluster architecture, this second edition carries forward its clear explanations for designing, debugging and evaluating the performance of distributed and shared-memory programs while adding coverage of accelerators via new content on GPU programming and heterogeneous programming. New and improved user-friendly exercises teach students how to compile, run and modify example programs.
  • The Art of Multiprocessor Programming

    • 2nd Edition
    • Maurice Herlihy + 3 more
    • English
    The Art of Multiprocessor Programming, Second Edition, provides users with an authoritative guide to multicore programming. This updated edition introduces higher level software development skills relative to those needed for efficient single-core programming, and includes comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. The book is an ideal resource for students and professionals alike who will benefit from its thorough coverage of key multiprocessor programming issues.
  • High Performance Computing

    Modern Systems and Practices
    • 1st Edition
    • Thomas Sterling + 2 more
    • English
    High Performance Computing: Modern Systems and Practices is a fully comprehensive and easily accessible treatment of high performance computing, covering fundamental concepts and essential knowledge while also providing key skills training. With this book, domain scientists will learn how to use supercomputers as a key tool in their quest for new knowledge. In addition, practicing engineers will discover how supercomputers can employ HPC systems and methods to the design and simulation of innovative products, and students will begin their careers with an understanding of possible directions for future research and development in HPC. Those who maintain and administer commodity clusters will find this textbook provides essential coverage of not only what HPC systems do, but how they are used.
  • Parallel Programming

    Concepts and Practice
    • 1st Edition
    • Bertil Schmidt + 3 more
    • English
    Parallel Programming: Concepts and Practice provides an upper level introduction to parallel programming. In addition to covering general parallelism concepts, this text teaches practical programming skills for both shared memory and distributed memory architectures. The authors’ open-source system for automated code evaluation provides easy access to parallel computing resources, making the book particularly suitable for classroom settings.
  • CUDA Programming

    A Developer's Guide to Parallel Computing with GPUs
    • 2nd Edition
    • Shane Cook
    • English
    CUDA Programming: A Developer's Guide to Parallel Computing with GPUs, Second Edition is a fully revised, updated, practical guide that provides a solid foundation for developers learning parallel programming with CUDA. This guide iincludes updates that cover both the Kepler and Maxwell GPUs from NVIDIA, as well as the latest heterogeneous systems from AMD. Suitable for someone without a parallel programming background or previous CUDA experience, as well as those who already have dabbled in GPU programming, the contents range from installation and getting started, to building your own GPU workstation. This revision includes a new chapter on visualizing data, and new content on the latest CUDA features including data caching, shared memory, and dynamic parallelism. Author Shane Cook also covers the latest host systems and changes to the installation process, NVIDIA’s Parallel NSight IDE, and hardware systems that run CUDA applications. The final new chapter looks ahead to future GPU platforms and releases including on-core ARM CPU and NVlink technologies.
  • Embedded Computing for High Performance

    Efficient Mapping of Computations Using Customization, Code Transformations and Compilation
    • 1st Edition
    • João Manuel Paiva Cardoso + 2 more
    • English
    Embedded Computing for High Performance: Design Exploration and Customization Using High-level Compilation and Synthesis Tools provides a set of real-life example implementations that migrate traditional desktop systems to embedded systems. Working with popular hardware, including Xilinx and ARM, the book offers a comprehensive description of techniques for mapping computations expressed in programming languages such as C or MATLAB to high-performance embedded architectures consisting of multiple CPUs, GPUs, and reconfigurable hardware (FPGAs). The authors demonstrate a domain-specific language (LARA) that facilitates retargeting to multiple computing systems using the same source code. In this way, users can decouple original application code from transformed code and enhance productivity and program portability. After reading this book, engineers will understand the processes, methodologies, and best practices needed for the development of applications for high-performance embedded computing systems.
  • Mobile Sensors and Context-Aware Computing

    • 1st Edition
    • Manish J. Gajjar
    • English
    Mobile Sensors and Context-Aware Computing is a useful guide that explains how hardware, software, sensors, and operating systems converge to create a new generation of context-aware mobile applications. This cohesive guide to the mobile computing landscape demonstrates innovative mobile and sensor solutions for platforms that deliver enhanced, personalized user experiences, with examples including the fast-growing domains of mobile health and vehicular networking. Users will learn how the convergence of mobile and sensors facilitates cyber-physical systems and the Internet of Things, and how applications which directly interact with the physical world are becoming more and more compatible. The authors cover both the platform components and key issues of security, privacy, power management, and wireless interaction with other systems.
  • Managing the Web of Things

    Linking the Real World to the Web
    • 1st Edition
    • Michael Sheng + 3 more
    • English
    Managing the Web of Things: Linking the Real World to the Web presents a consolidated and holistic coverage of engineering, management, and analytics of the Internet of Things. The web has gone through many transformations, from traditional linking and sharing of computers and documents (i.e., Web of Data), to the current connection of people (i.e., Web of People), and to the emerging connection of billions of physical objects (i.e., Web of Things). With increasing numbers of electronic devices and systems providing different services to people, Web of Things applications present numerous challenges to research institutions, companies, governments, international organizations, and others. This book compiles the newest developments and advances in the area of the Web of Things, ranging from modeling, searching, and data analytics, to software building, applications, and social impact. Its coverage will enable effective exploration, understanding, assessment, comparison, and the selection of WoT models, languages, techniques, platforms, and tools. Readers will gain an up-to-date understanding of the Web of Things systems that accelerates their research.
  • Programming Massively Parallel Processors

    A Hands-on Approach
    • 3rd Edition
    • David B. Kirk + 1 more
    • English
    Programming Massively Parallel Processors: A Hands-on Approach, Third Edition shows both student and professional alike the basic concepts of parallel programming and GPU architecture, exploring, in detail, various techniques for constructing parallel programs. Case studies demonstrate the development process, detailing computational thinking and ending with effective and efficient parallel programs. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in-depth. For this new edition, the authors have updated their coverage of CUDA, including coverage of newer libraries, such as CuDNN, moved content that has become less important to appendices, added two new chapters on parallel patterns, and updated case studies to reflect current industry practices.
  • Mobile Security and Privacy

    Advances, Challenges and Future Research Directions
    • 1st Edition
    • Man Ho Au + 1 more
    • English
    Mobile Security and Privacy: Advances, Challenges and Future Research Directions provides the first truly holistic view of leading edge mobile security research from Dr. Man Ho Au and Dr. Raymond Choo—leading researchers in mobile security. Mobile devices and apps have become part of everyday life in both developed and developing countries. As with most evolving technologies, mobile devices and mobile apps can be used for criminal exploitation. Along with the increased use of mobile devices and apps to access and store sensitive, personally identifiable information (PII) has come an increasing need for the community to have a better understanding of the associated security and privacy risks. Drawing upon the expertise of world-renowned researchers and experts, this volume comprehensively discusses a range of mobile security and privacy topics from research, applied, and international perspectives, while aligning technical security implementations with the most recent developments in government, legal, and international environments. The book does not focus on vendor-specific solutions, instead providing a complete presentation of forward-looking research in all areas of mobile security. The book will enable practitioners to learn about upcoming trends, scientists to share new directions in research, and government and industry decision-makers to prepare for major strategic decisions regarding implementation of mobile technology security and privacy. In addition to the state-of-the-art research advances, this book also discusses prospective future research topics and open challenges.
  • GPU Programming in MATLAB

    • 1st Edition
    • Nikolaos Ploskas + 1 more
    • English
    GPU programming in MATLAB is intended for scientists, engineers, or students who develop or maintain applications in MATLAB and would like to accelerate their codes using GPU programming without losing the many benefits of MATLAB. The book starts with coverage of the Parallel Computing Toolbox and other MATLAB toolboxes for GPU computing, which allow applications to be ported straightforwardly onto GPUs without extensive knowledge of GPU programming. The next part covers built-in, GPU-enabled features of MATLAB, including options to leverage GPUs across multicore or different computer systems. Finally, advanced material includes CUDA code in MATLAB and optimizing existing GPU applications. Throughout the book, examples and source codes illustrate every concept so that readers can immediately apply them to their own development.
  • Pervasive Computing

    Next Generation Platforms for Intelligent Data Collection
    • 1st Edition
    • Ciprian Dobre + 1 more
    • English
    Pervasive Computing: Next Generation Platforms for Intelligent Data Collection presents current advances and state-of-the-art work on methods, techniques, and algorithms designed to support pervasive collection of data under ubiquitous networks of devices able to intelligently collaborate towards common goals. Using numerous illustrative examples and following both theoretical and practical results the authors discuss: a coherent and realistic image of today’s architectures, techniques, protocols, components, orchestration, choreography, and developments related to pervasive computing components for intelligently collecting data, resource, and data management issues; the importance of data security and privacy in the era of big data; the benefits of pervasive computing and the development process for scientific and commercial applications and platforms to support them in this field. Pervasive computing has developed technology that allows sensing, computing, and wireless communication to be embedded in everyday objects, from cell phones to running shoes, enabling a range of context-aware applications. Pervasive computing is supported by technology able to acquire and make use of the ubiquitous data sensed or produced by many sensors blended into our environment, designed to make available a wide range of new context-aware applications and systems. While such applications and systems are useful, the time has come to develop the next generation of pervasive computing systems. Future systems will be data oriented and need to support quality data, in terms of accuracy, latency and availability. Pervasive Computing is intended as a platform for the dissemination of research efforts and presentation of advances in the pervasive computing area, and constitutes a flagship driver towards presenting and supporting advanced research in this area. Indexing: The books of this series are submitted to EI-Compendex and SCOPUS
  • A Comparative Study of Parallel Programming Languages: The Salishan Problems

    • 1st Edition
    • J.T. Feo
    • English
    As execution speeds reach the physical limits of single cpu computers, the only hope of achieving greater computing power is with parallel systems. Researchers have proposed countless new programming languages, but their differences, similarities, strengths, weaknesses and problem domains are subtle and often not well understood. Informed comparison of parallel languages is difficult.This volume compares eight parallel programming languages based on solutions to four problems. Each chapter includes a description of the language's philosophy, semantics and syntax, and a solution to each problem. By considering solutions rather than language features or theoretical properties, the gap is bridged between the language specialists and users. Both professionals and students in the fields of computer and computational science will find the discussions helpful and understandable.
  • Heterogeneous System Architecture

    A New Compute Platform Infrastructure
    • 1st Edition
    • Wen-mei W. Hwu
    • English
    Heterogeneous Systems Architecture - a new compute platform infrastructure presents a next-generation hardware platform, and associated software, that allows processors of different types to work efficiently and cooperatively in shared memory from a single source program. HSA also defines a virtual ISA for parallel routines or kernels, which is vendor and ISA independent thus enabling single source programs to execute across any HSA compliant heterogeneous processer from those used in smartphones to supercomputers. The book begins with an overview of the evolution of heterogeneous parallel processing, associated problems, and how they are overcome with HSA. Later chapters provide a deeper perspective on topics such as the runtime, memory model, queuing, context switching, the architected queuing language, simulators, and tool chains. Finally, three real world examples are presented, which provide an early demonstration of how HSA can deliver significantly higher performance thru C++ based applications. Contributing authors are HSA Foundation members who are experts from both academia and industry. Some of these distinguished authors are listed here in alphabetical order: Yeh-Ching Chung, Benedict R. Gaster, Juan Gómez-Luna, Derek Hower, Lee Howes, Shih-Hao HungThomas B. Jablin, David Kaeli,Phil Rogers, Ben Sander, I-Jui (Ray) Sung.
  • Shared Memory Application Programming

    Concepts and Strategies in Multicore Application Programming
    • 1st Edition
    • Victor Alessandrini
    • English
    Shared Memory Application Programming presents the key concepts and applications of parallel programming, in an accessible and engaging style applicable to developers across many domains. Multithreaded programming is today a core technology, at the basis of all software development projects in any branch of applied computer science. This book guides readers to develop insights about threaded programming and introduces two popular platforms for multicore development: OpenMP and Intel Threading Building Blocks (TBB). Author Victor Alessandrini leverages his rich experience to explain each platform’s design strategies, analyzing the focus and strengths underlying their often complementary capabilities, as well as their interoperability. The book is divided into two parts: the first develops the essential concepts of thread management and synchronization, discussing the way they are implemented in native multithreading libraries (Windows threads, Pthreads) as well as in the modern C++11 threads standard. The second provides an in-depth discussion of TBB and OpenMP including the latest features in OpenMP 4.0 extensions to ensure readers’ skills are fully up to date. Focus progressively shifts from traditional thread parallelism to modern task parallelism deployed by modern programming environments. Several chapter include examples drawn from a variety of disciplines, including molecular dynamics and image processing, with full source code and a software library incorporating a number of utilities that readers can adapt into their own projects.
  • Problem-solving in High Performance Computing

    A Situational Awareness Approach with Linux
    • 1st Edition
    • Igor Ljubuncic
    • English
    Problem-Solving in High Performance Computing: A Situational Awareness Approach with Linux focuses on understanding giant computing grids as cohesive systems. Unlike other titles on general problem-solving or system administration, this book offers a cohesive approach to complex, layered environments, highlighting the difference between standalone system troubleshooting and complex problem-solving in large, mission critical environments, and addressing the pitfalls of information overload, micro, and macro symptoms, also including methods for managing problems in large computing ecosystems. The authors offer perspective gained from years of developing Intel-based systems that lead the industry in the number of hosts, software tools, and licenses used in chip design. The book offers unique, real-life examples that emphasize the magnitude and operational complexity of high performance computer systems.
  • Topics in Parallel and Distributed Computing

    Introducing Concurrency in Undergraduate Courses
    • 1st Edition
    • Sushil K Prasad + 4 more
    • English
    Topics in Parallel and Distributed Computing provides resources and guidance for those learning PDC as well as those teaching students new to the discipline. The pervasiveness of computing devices containing multicore CPUs and GPUs, including home and office PCs, laptops, and mobile devices, is making even common users dependent on parallel processing. Certainly, it is no longer sufficient for even basic programmers to acquire only the traditional sequential programming skills. The preceding trends point to the need for imparting a broad-based skill set in PDC technology. However, the rapid changes in computing hardware platforms and devices, languages, supporting programming environments, and research advances, poses a challenge both for newcomers and seasoned computer scientists. This edited collection has been developed over the past several years in conjunction with the IEEE technical committee on parallel processing (TCPP), which held several workshops and discussions on learning parallel computing and integrating parallel concepts into courses throughout computer science curricula.
  • Systems Programming

    Designing and Developing Distributed Applications
    • 1st Edition
    • Richard Anthony
    • English
    Systems Programming: Designing and Developing Distributed Applications explains how the development of distributed applications depends on a foundational understanding of the relationship among operating systems, networking, distributed systems, and programming. Uniquely organized around four viewpoints (process, communication, resource, and architecture), the fundamental and essential characteristics of distributed systems are explored in ways which cut across the various traditional subject area boundaries. The structures, configurations and behaviours of distributed systems are all examined, allowing readers to explore concepts from different perspectives, and to understand systems in depth, both from the component level and holistically.
  • Multicore and GPU Programming

    An Integrated Approach
    • 1st Edition
    • Gerassimos Barlas
    • English
    Multicore and GPU Programming offers broad coverage of the key parallel computing skillsets: multicore CPU programming and manycore "massively parallel" computing. Using threads, OpenMP, MPI, and CUDA, it teaches the design and development of software capable of taking advantage of today’s computing platforms incorporating CPU and GPU hardware and explains how to transition from sequential programming to a parallel computing paradigm. Presenting material refined over more than a decade of teaching parallel computing, author Gerassimos Barlas minimizes the challenge with multiple examples, extensive case studies, and full source code. Using this book, you can develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting multicore machines.
  • Control of Distributed Parameter Systems

    Proceedings of the Second IFAC Symposium, Coventry, Great Britain, 28 June - 1 July 1977
    • 1st Edition
    • S. P. Banks + 1 more
    • English
    Control of Distributed Parameter Systems covers the proceedings of the Second IFAC Symposium, Coventry, held in Great Britain from June 28 to July 1, 1977. The book focuses on the methodologies, processes, and techniques in the control of distributed parameter systems, including boundary value control, digital transfer matrix, and differential equations. The selection first discusses the asymptotic methods in the optimal control of distributed systems; applications of distributed parameter control theory of a survey; and dual variational inequalities for external eigenvalue problems. The book also ponders on stochastic differential equations in Hilbert space and their application to delay systems and linear quadratic optimal control problem over an infinite time horizon for a class of distributed parameter systems. The manuscript investigates the semigroup approach to boundary value control and stability of nonlinear distributed parameter systems. Topics include boundary control action implemented through a dynamical system; classical boundary value controls; stability of nonlinear systems; and feedback control on the boundary. The text also focuses on the functional analysis interpretation of Lyapunov stability; method of multipliers for a class distributed parameter systems; and digital transfer matrix approach to distributed system simulation. The selection is a dependable source of data for readers interested in the control of distributed parameter systems.
  • Distributed Computing Through Combinatorial Topology

    • 1st Edition
    • Maurice Herlihy + 2 more
    • English
    Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols. Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a self-contained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and shared-memory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduate-level course for those who wish to explore further.
  • Accelerating MATLAB with GPU Computing

    A Primer with Examples
    • 1st Edition
    • Jung W. Suh + 1 more
    • English
    Beyond simulation and algorithm development, many developers increasingly use MATLAB even for product deployment in computationally heavy fields. This often demands that MATLAB codes run faster by leveraging the distributed parallelism of Graphics Processing Units (GPUs). While MATLAB successfully provides high-level functions as a simulation tool for rapid prototyping, the underlying details and knowledge needed for utilizing GPUs make MATLAB users hesitate to step into it. Accelerating MATLAB with GPUs offers a primer on bridging this gap. Starting with the basics, setting up MATLAB for CUDA (in Windows, Linux and Mac OS X) and profiling, it then guides users through advanced topics such as CUDA libraries. The authors share their experience developing algorithms using MATLAB, C++ and GPUs for huge datasets, modifying MATLAB codes to better utilize the computational power of GPUs, and integrating them into commercial software products. Throughout the book, they demonstrate many example codes that can be used as templates of C-MEX and CUDA codes for readers’ projects. Download example codes from the publisher's website: http://booksite.else...
  • Massively Parallel Processing Applications and Development

    Proceedings of the 1994 EUROSIM Conference on Massively Parallel Processing Applications and Development, Delft, The Netherlands, 21-23 June 1994
    • 1st Edition
    • L. Dekker + 2 more
    • English
    The contributions of a diverse selection of international hardware and software specialists are assimilated in this book's exploration of the development of massively parallel processing (MPP). The emphasis is placed on industrial applications and collaboration with users and suppliers from within the industrial community consolidates the scope of the publication.From a practical point of view, massively parallel data processing is a vital step to further innovation in all areas where large amounts of data must be processed in parallel or in a distributed manner, e.g. fluid dynamics, meteorology, seismics, molecular engineering, image processing, parallel data base processing. MPP technology can make the speed of computation higher and substantially reduce the computational costs. However, to achieve these features, the MPP software has to be developed further to create user-friendly programming systems and to become transparent for present-day computer software.Application of novel electro-optic components and devices is continuing and will be a key for much more general and powerful architectures. Vanishing of communication hardware limitations will result in the elimination of programming bottlenecks in parallel data processing. Standardization of the functional characteristics of a programming model of massively parallel computers will become established. Then efficient programming environments can be developed. The result will be a widespread use of massively parallel processing systems in many areas of application.
  • Cloud Computing

    Theory and Practice
    • 1st Edition
    • Dan C. Marinescu
    • English
    Cloud Computing: Theory and Practice provides students and IT professionals with an in-depth analysis of the cloud from the ground up. Beginning with a discussion of parallel computing and architectures and distributed systems, the book turns to contemporary cloud infrastructures, how they are being deployed at leading companies such as Amazon, Google and Apple, and how they can be applied in fields such as healthcare, banking and science. The volume also examines how to successfully deploy a cloud application across the enterprise using virtualization, resource management and the right amount of networking support, including content delivery networks and storage area networks. Developers will find a complete introduction to application development provided on a variety of platforms.
  • Mastering Cloud Computing

    Foundations and Applications Programming
    • 1st Edition
    • Rajkumar Buyya + 2 more
    • English
    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.
  • Intel Xeon Phi Coprocessor High Performance Programming

    • 1st Edition
    • James Jeffers + 1 more
    • English
    Authors Jim Jeffers and James Reinders spent two years helping educate customers about the prototype and pre-production hardware before Intel introduced the first Intel Xeon Phi coprocessor. They have distilled their own experiences coupled with insights from many expert customers, Intel Field Engineers, Application Engineers and Technical Consulting Engineers, to create this authoritative first book on the essentials of programming for this new architecture and these new products. This book is useful even before you ever touch a system with an Intel Xeon Phi coprocessor. To ensure that your applications run at maximum efficiency, the authors emphasize key techniques for programming any modern parallel computing system whether based on Intel Xeon processors, Intel Xeon Phi coprocessors, or other high performance microprocessors. Applying these techniques will generally increase your program performance on any system, and better prepare you for Intel Xeon Phi coprocessors and the Intel MIC architecture.
  • Web Services, Service-Oriented Architectures, and Cloud Computing

    The Savvy Manager's Guide
    • 2nd Edition
    • Douglas K. Barry
    • English
    Web Services, Service-Oriented Architectures, and Cloud Computing is a jargon-free, highly illustrated explanation of how to leverage the rapidly multiplying services available on the Internet. The future of business will depend on software agents, mobile devices, public and private clouds, big data, and other highly connected technology. IT professionals will need to evaluate and combine online services into service-oriented architectures (SOA), often depending on Web services and cloud computing. This can mean a fundamental shift away from custom software and towards a more nimble use of semantic vocabularies, middle-tier systems, adapters and other standardizing aspects. This book is a guide for the savvy manager who wants to capitalize on this technological revolution. It begins with a high-level example of how an average person might interact with a service-oriented architecture, and progresses to more detail, discussing technical forces driving adoption and how to manage technology, culture and personnel issues that can arise during adoption. An extensive reference section provides quick access to commonly used terms and concepts.
  • Computation and Storage in the Cloud

    Understanding the Trade-Offs
    • 1st Edition
    • Dong Yuan + 2 more
    • English
    Computation and Storage in the Cloud is the first comprehensive and systematic work investigating the issue of computation and storage trade-off in the cloud in order to reduce the overall application cost. Scientific applications are usually computation and data intensive, where complex computation tasks take a long time for execution and the generated datasets are often terabytes or petabytes in size. Storing valuable generated application datasets can save their regeneration cost when they are reused, not to mention the waiting time caused by regeneration. However, the large size of the scientific datasets is a big challenge for their storage. By proposing innovative concepts, theorems and algorithms, this book will help bring the cost down dramatically for both cloud users and service providers to run computation and data intensive scientific applications in the cloud. Covers cost models and benchmarking that explain the necessary tradeoffs for both cloud providers and users Describes several novel strategies for storing application datasets in the cloud Includes real-world case studies of scientific research applications
  • CUDA Programming

    A Developer's Guide to Parallel Computing with GPUs
    • 1st Edition
    • Shane Cook
    • English
    If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A Developer's Introduction offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, then delving into CUDA installation. Chapters on core concepts including threads, blocks, grids, and memory focus on both parallel and CUDA-specific issues. Later, the book demonstrates CUDA in practice for optimizing applications, adjusting to new hardware, and solving common problems.
  • Structured Parallel Programming

    Patterns for Efficient Computation
    • 1st Edition
    • Michael McCool + 2 more
    • English
    Structured Parallel Programming offers the simplest way for developers to learn patterns for high-performance parallel programming. Written by parallel computing experts and industry insiders Michael McCool, Arch Robison, and James Reinders, this book explains how to design and implement maintainable and efficient parallel algorithms using a composable, structured, scalable, and machine-independent approach to parallel computing. It presents both theory and practice, and provides detailed concrete examples using multiple programming models. The examples in this book are presented using two of the most popular and cutting edge programming models for parallel programming: Threading Building Blocks, and Cilk Plus. These architecture-indepen... models enable easy integration into existing applications, preserve investments in existing code, and speed the development of parallel applications. Examples from realistic contexts illustrate patterns and themes in parallel algorithm design that are widely applicable regardless of implementation technology. Software developers, computer programmers, and software architects will find this book extremely helpful.
  • GPU Computing Gems Jade Edition

    • 1st Edition
    • Wen-mei W. Hwu
    • English
    GPU Computing Gems, Jade Edition, offers hands-on, proven techniques for general purpose GPU programming based on the successful application experiences of leading researchers and developers. One of few resources available that distills the best practices of the community of CUDA programmers, this second edition contains 100% new material of interest across industry, including finance, medicine, imaging, engineering, gaming, environmental science, and green computing. It covers new tools and frameworks for productive GPU computing application development and provides immediate benefit to researchers developing improved programming environments for GPUs. Divided into five sections, this book explains how GPU execution is achieved with algorithm implementation techniques and approaches to data structure layout. More specifically, it considers three general requirements: high level of parallelism, coherent memory access by threads within warps, and coherent control flow within warps. Chapters explore topics such as accelerating database searches; how to leverage the Fermi GPU architecture to further accelerate prefix operations; and GPU implementation of hash tables. There are also discussions on the state of GPU computing in interactive physics and artificial intelligence; programming tools and techniques for GPU computing; and the edge and node parallelism approach for computing graph centrality metrics. In addition, the book proposes an alternative approach that balances computation regardless of node degree variance. Software engineers, programmers, hardware engineers, and advanced students will find this book extremely usefull. For useful source codes discussed throughout the book, the editors invite readers to the following website: <a href="http://gpugems...
  • An Introduction to Parallel Programming

    • 1st Edition
    • Peter Pacheco
    • English
    An Introduction to Parallel Programming is the first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture. It explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. The author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP, starting with small programming examples and building progressively to more challenging ones. The text is written for students in undergraduate parallel programming or parallel computing courses designed for the computer science major or as a service course to other departments; professionals with no background in parallel computing.
  • The Art of Multiprocessor Programming

    • 1st Edition
    • Maurice Herlihy + 1 more
    • English
    The Art of Multiprocessor Programming promises to be the first comprehensive presentation of the principles and tools available for programming multiprocessor machines. As the computer industry changes from single-processor to multiprocessor architectures, this revolution requires a fundamental change in how programs are written. To leverage the performance and power of multiprocessor programming, also known as multicore programming, programmers need to learn the new principles, algorithms, and tools. The book will be of immediate use to programmers working with the new architectures. For example, the next generation of computer game consoles will all be multiprocessor-based... and the game industry is currently struggling to understand how to address the programming challenges presented by these machines. This change in the industry is so fundamental that it is certain to require a significant response by universities, and courses on multicore programming will become a staple of computer science curriculums. This book includes fully-developed Java examples detailing data structures, synchronization techniques, transactional memory, and more. Students in multiprocessor and multicore programming courses and engineers working with multiprocessor and multicore systems will find this book quite useful.
  • Parallel Computational Fluid Dynamics 2006

    Parallel Computing and its Applications
    • 1st Edition
    • Jang-Hyuk Kwon + 4 more
    • English
    The proceedings from Parallel CFD 2006 covers all aspects of parallel computings and its applications. Although CFD is one of basic tools for design procedures to produce machineries, such as automobiles, ships, aircrafts, etc., large scale parallel computing has been realized very recently, especially for the manufactures. Various applications in many areas could be experienced including acoustics, weather prediction and ocean modeling, flow control, turbine flow, fluid-structure interaction, optimization, heat transfer, hydrodynamics.
  • Parallel Computational Fluid Dynamics 2005

    Theory and Applications
    • 1st Edition
    • A. Deane + 7 more
    • English
    The proceedings from Parallel CFD 2005 covering all aspects of the theory and applications of parallel computational fluid dynamics from the traditional to the more contemporary issues.
  • Distributed Systems Architecture

    A Middleware Approach
    • 1st Edition
    • Arno Puder + 2 more
    • English
    Middleware is the bridge that connects distributed applications across different physical locations, with different hardware platforms, network technologies, operating systems, and programming languages. This book describes middleware from two different perspectives: from the viewpoint of the systems programmer and from the viewpoint of the applications programmer. It focuses on the use of open source solutions for creating middleware and the tools for developing distributed applications. The design principles presented are universal and apply to all middleware platforms, including CORBA and Web Services. The authors have created an open-source implementation of CORBA, called MICO, which is freely available on the web. MICO is one of the most successful of all open source projects and is widely used by demanding companies and institutions, and has also been adopted by many in the Linux community.
  • Grid Computing: The New Frontier of High Performance Computing

    • 1st Edition
    • Volume 14
    • Lucio Grandinetti
    • English
    The book deals with the most recent technology of distributed computing.As Internet continues to grow and provide practical connectivity between users of computers it has become possible to consider use of computing resources which are far apart and connected by Wide Area Networks.Instead of using only local computing power it has become practical to access computing resources widely distributed. In some cases between different countries in other cases between different continents.This idea of using computer power is similar to the well known electric power utility technology. Hence the name of this distributed computing technology is the Grid Computing.Initially grid computing was used by technologically advanced scientific users.They used grid computing to experiment with large scale problems which required high performance computing facilities and collaborative work.In the next stage of development the grid computing technology has become effective and economically attractive for large and medium size commercial companies.It is expected that eventually the grid computing style of providing computing power will become universal reaching every user in industry and business.
  • Reaction-Diffusion Computers

    • 1st Edition
    • Andrew Adamatzky + 2 more
    • English
    The book introduces a hot topic of novel and emerging computing paradigms and architectures -computation by travelling waves in reaction-diffusion media. A reaction-diffusion computer is a massively parallel computing device, where the micro-volumes of the chemical medium act as elementary few-bit processors, and chemical species diffuse and react in parallel. In the reaction-diffusion computer both the data and the results of the computation are encoded as concentration profiles of the reagents, or local disturbances of concentrations, whilst the computation per se is performed via the spreading and interaction of waves caused by the local disturbances. The monograph brings together results of a decade-long study into designing experimental and simulated prototypes of reaction-diffusion computing devices for image processing, path planning, robot navigation, computational geometry, logics and artificial intelligence. The book is unique because it gives a comprehensive presentation of the theoretical and experimental foundations, and cutting-edge computation techniques, chemical laboratory experimental setups and hardware implementation technology employed in the development of novel nature-inspired computing devices.Key Features:- Non-classical and fresh approach to theory of computation.- In depth exploration of novel and emerging paradigms of nature-inspired computing.- Simple to understand cellular-automata models will help readers/students to design their own computational experiments to advance ideas and concepts described in the book .- Detailed description of receipts and experimental setups of chemical laboratory reaction-diffusion processors will make the book an invaluable resource in practical studies of non-classical and nature-inspired computing architectures .- Step by step explanations of VLSI reaction-diffusion circuits will help students to design their own types of wave-based processors.
  • Location-Based Services

    • 1st Edition
    • Jochen Schiller + 1 more
    • English
    Location-based services (LBS) are a new concept integrating a user’s geographic location with the general notion of services, such as dialing an emergency number from a cell phone or using a navigation system in a car. Incorporating both mobile communication and spatial data, these applications represent a novel challenge both conceptually and technically. The purpose of this book is to describe, in an accessible fashion, the various concepts underlying mobile location-based services. These range from general application-related ideas to technical aspects. Each chapter starts with a high level of abstraction and drills down to the technical details. Contributors examine each application from all necessary perspectives, namely, requirements, services, data, and scalability. An illustrative example begins early in the book and runs throughout, serving as a reference.
  • The Grid 2

    Blueprint for a New Computing Infrastructure
    • 2nd Edition
    • Ian Foster + 1 more
    • English
    "The Grid is an emerging infrastructure that will fundamentally change the way we think about-and use-computing. The word Grid is used by analogy with the electric power grid, which provides pervasive access to electricity and has had a dramatic impact on human capabilities and society. Many believe that by allowing all components of our information technology infrastructure-compu... capabilities, databases, sensors, and people-to be shared flexibly as true collaborative tools the Grid will have a similar transforming effect, allowing new classes of applications to emerge." --From the Preface In 1998, Ian Foster and Carl Kesselman introduced a whole new concept in computing with the first edition of this book. Today there is a broader and deeper understanding of the nature of the opportunities offered by Grid computing and the technologies needed to realize those opportunities. In Grid 2, the editors reveal the revolutionary impact of large-scale resource sharing and virtualization within science and industry, the intimate relationships between organization and resource sharing structures and the new technologies required to enable secure, reliable, and efficient resource sharing on large scale. Foster and Kesselman have once again assembled a team of experts to present an up-to-date view of Grids that reports on real experiences and explains the available technologies and new technologies emerging from labs, companies and standards bodies. Grid 2, like its predecessor, serves as a manifesto, design blueprint, user guide and research agenda for future Grid systems.
  • Java Web Services Architecture

    • 1st Edition
    • James McGovern + 3 more
    • English
    Written by industry thought leaders, Java Web Services Architecture is a no-nonsense guide to web services technologies including SOAP, WSDL, UDDI and the JAX APIs. This book is useful for systems architects and provides many of the practical considerations for implementing web services including authorization, encryption, transactions and the future of Web Services.
  • The Sourcebook of Parallel Computing

    • 1st Edition
    • Jack Dongarra + 6 more
    • English
    Parallel Computing is a compelling vision of how computation can seamlessly scale from a single processor to virtually limitless computing power. Unfortunately, the scaling of application performance has not matched peak speed, and the programming burden for these machines remains heavy. The applications must be programmed to exploit parallelism in the most efficient way possible. Today, the responsibility for achieving the vision of scalable parallelism remains in the hands of the application developer.This book represents the collected knowledge and experience of over 60 leading parallel computing researchers. They offer students, scientists and engineers a complete sourcebook with solid coverage of parallel computing hardware, programming considerations, algorithms, software and enabling technologies, as well as several parallel application case studies. The Sourcebook of Parallel Computing offers extensive tutorials and detailed documentation of the advanced strategies produced by research over the last two decades application case studies. The Sourcebook of Parallel Computing offers extensive tutorials and detailed documentation of the advanced strategies produced by research over the last two decades
  • Implicit Parallel Programming in <i>pH</i>

    • 1st Edition
    • Rishiyur Nikhil + 1 more
    • English
    Parallel machines are now affordable and available to many users in the form of small symmetric shared-memory multiprocessors (SMPs). Unfortunately, programming practices have not kept pace with this hardware advance. The vast majority of developers still write applications in sequential programming languages that do not exploit multiple processors. The traditional approaches for adding parallelism to applications are prone to introducing new, strange, and difficult-to-elimina... bugs.In this important new text, the authors offer a completely different vision of the future, where parallel programming is the default and sequential programming is a special case. The foundation of this vision is an implicitly parallel programming language, pH, which is the result of two decades of research by the authors. A dialect and extension of the standard nonstrict and purely functional language Haskell, pH is essentially Haskell with implicitly parallel semantics. pH's extensions to Haskell comprise a disciplined approach to shared parallel state, so that a pH program-even a beginner's program-is implicitly parallel.The authors have developed this text over ten years while teaching implicit parallel programming to graduate students at MIT and specialized short courses to undergraduates and software professionals in the U.S., Japan, and India.
  • Parallel I/O for High Performance Computing

    • 1st Edition
    • John M. May
    • English
    Scientific and technical programmers can no longer afford to treat I/O as an afterthought. The speed, memory size, and disk capacity of parallel computers continue to grow rapidly, but the rate at which disk drives can read and write data is improving far less quickly. As a result, the performance of carefully tuned parallel programs can slow dramatically when they read or write files-and the problem is likely to get far worse.Parallel input and output techniques can help solve this problem by creating multiple data paths between memory and disks. However, simply adding disk drives to an I/O system without considering the overall software design will not significantly improve performance. To reap the full benefits of a parallel I/O system, application programmers must understand how parallel I/O systems work and where the performance pitfalls lie. Parallel I/O for High Performance Computing directly addresses this critical need by examining parallel I/O from the bottom up. This important new book is recommended to anyone writing scientific application codes as the best single source on I/O techniques and to computer scientists as a solid up-to-date introduction to parallel I/O research.