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.
  • 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
  • GPU-based Parallel Implementation of Swarm Intelligence Algorithms

    • 1st Edition
    • Ying Tan
    • English
    GPU-based Parallel Implementation of Swarm Intelligence Algorithms combines and covers two emerging areas attracting increased attention and applications: graphics processing units (GPUs) for general-purpose computing (GPGPU) and swarm intelligence. This book not only presents GPGPU in adequate detail, but also includes guidance on the appropriate implementation of swarm intelligence algorithms on the GPU platform. GPU-based implementations of several typical swarm intelligence algorithms such as PSO, FWA, GA, DE, and ACO are presented and having described the implementation details including parallel models, implementation considerations as well as performance metrics are discussed. Finally, several typical applications of GPU-based swarm intelligence algorithms are presented. This valuable reference book provides a unique perspective not possible by studying either GPGPU or swarm intelligence alone. This book gives a complete and whole picture for interested readers and new comers who will find many implementation algorithms in the book suitable for immediate use in their projects. Additionally, some algorithms can also be used as a starting point for further research.
  • 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.
  • High Performance Parallelism Pearls Volume Two

    Multicore and Many-core Programming Approaches
    • 1st Edition
    • Jim Jeffers + 1 more
    • English
    High Performance Parallelism Pearls Volume 2 offers another set of examples that demonstrate how to leverage parallelism. Similar to Volume 1, the techniques included here explain how to use processors and coprocessors with the same programming – illustrating the most effective ways to combine Xeon Phi coprocessors with Xeon and other multicore processors. The book includes examples of successful programming efforts, drawn from across industries and domains such as biomed, genetics, finance, manufacturing, imaging, and more. Each chapter in this edited work includes detailed explanations of the programming techniques used, while showing high performance results on both Intel Xeon Phi coprocessors and multicore processors. Learn from dozens of new examples and case studies illustrating "success stories" demonstrating not just the features of Xeon-powered systems, but also how to leverage parallelism across these heterogeneous systems.
  • 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.
  • Service Computing: Concept, Method and Technology

    • 1st Edition
    • Zhaohui Wu
    • English
    Service computing is a cross-disciplinary field that covers science and technology, and represents a promising direction for distributed computing and software development methodologies. It aims to bridge the gap between business services and IT services by supporting the whole lifecycle of services innovation. Over the last ten years applications in industry and academic research have produced considerable progress and success Service Computing: Concept, Method and Technology presents the concept of service computing and a proposed reference architecture for service computing research before proceeding to introduce two underlying technologies: Web services and service-oriented architecture. It also presents the authors’ latest research findings on hot topics such as service discovery, recommendation, composition, verification, service trust, dynamic configuration and big data service. Some new models and methods are proposed including three service discovery methods based on semantics and skyline technologies, two service recommendation methods using graph mining and QoS prediction, two service composition methods with graph planning and one service verification method using π calculus and so on. Moreover, this book introduces JTang, an underlying platform supporting service computing, which is a product of the authors’ last ten years of research and development.
  • 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.
  • High Performance Parallelism Pearls Volume One

    Multicore and Many-core Programming Approaches
    • 1st Edition
    • James Reinders + 1 more
    • English
    High Performance Parallelism Pearls shows how to leverage parallelism on processors and coprocessors with the same programming – illustrating the most effective ways to better tap the computational potential of systems with Intel Xeon Phi coprocessors and Intel Xeon processors or other multicore processors. The book includes examples of successful programming efforts, drawn from across industries and domains such as chemistry, engineering, and environmental science. Each chapter in this edited work includes detailed explanations of the programming techniques used, while showing high performance results on both Intel Xeon Phi coprocessors and multicore processors. Learn from dozens of new examples and case studies illustrating "success stories" demonstrating not just the features of these powerful systems, but also how to leverage parallelism across these heterogeneous systems.
  • 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
  • Heterogeneous Computing with OpenCL

    Revised OpenCL 1.2 Edition
    • 2nd Edition
    • Benedict Gaster + 4 more
    • English
    Heterogeneous Computing with OpenCL, Second Edition teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. It is the first textbook that presents OpenCL programming appropriate for the classroom and is intended to support a parallel programming course. Students will come away from this text with hands-on experience and significant knowledge of the syntax and use of OpenCL to address a range of fundamental parallel algorithms. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, Heterogeneous Computing with OpenCL explores memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. It includes detailed examples throughout, plus additional online exercises and other supporting materials that can be downloaded at http://www.heterogen... This book will appeal to software engineers, programmers, hardware engineers, and students/advanced students.
  • 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.
  • The Art of Multiprocessor Programming, Revised Reprint

    • 1st Edition
    • Maurice Herlihy + 1 more
    • English
    Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues.
  • Distributed and Cloud Computing

    From Parallel Processing to the Internet of Things
    • 1st Edition
    • Kai Hwang + 2 more
    • English
    Distributed and Cloud Computing: From Parallel Processing to the Internet of Things offers complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing. It is the first modern, up-to-date distributed systems textbook; it explains how to create high-performance, scalable, reliable systems, exposing the design principles, architecture, and innovative applications of parallel, distributed, and cloud computing systems. Topics covered by this book include: facilitating management, debugging, migration, and disaster recovery through virtualization; clustered systems for research or ecommerce applications; designing systems as web services; and social networking systems using peer-to-peer computing. The principles of cloud computing are discussed using examples from open-source and commercial applications, along with case studies from the leading distributed computing vendors such as Amazon, Microsoft, and Google. Each chapter includes exercises and further reading, with lecture slides and more available online. This book will be ideal for students taking a distributed systems or distributed computing class, as well as for professional system designers and engineers looking for a reference to the latest distributed technologies including cloud, P2P and grid computing.
  • 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...
  • GPU Computing Gems Emerald Edition

    • 1st Edition
    • Wen-mei W. Hwu
    • English
    GPU Computing Gems Emerald Edition offers practical techniques in parallel computing using graphics processing units (GPUs) to enhance scientific research. The first volume in Morgan Kaufmann's Applications of GPU Computing Series, this book offers the latest insights and research in computer vision, electronic design automation, and emerging data-intensive applications. It also covers life sciences, medical imaging, ray tracing and rendering, scientific simulation, signal and audio processing, statistical modeling, video and image processing. This book is intended to help those who are facing the challenge of programming systems to effectively use GPUs to achieve efficiency and performance goals. It offers developers a window into diverse application areas, and the opportunity to gain insights from others' algorithm work that they may apply to their own projects. Readers will learn from the leading researchers in parallel programming, who have gathered their solutions and experience in one volume under the guidance of expert area editors. Each chapter is written to be accessible to researchers from other domains, allowing knowledge to cross-pollinate across the GPU spectrum. Many examples leverage NVIDIA's CUDA parallel computing architecture, the most widely-adopted massively parallel programming solution. The insights and ideas as well as practical hands-on skills in the book can be immediately put to use. Computer programmers, software engineers, hardware engineers, and computer science students will find this volume a helpful resource. For useful source codes discussed throughout the book, the editors invite readers to the following website: <a href="http://gpugems...
  • Programming Massively Parallel Processors

    A Hands-on Approach
    • 1st Edition
    • David B. Kirk + 1 more
    • English
    Programming Massively Parallel Processors discusses the basic concepts of parallel programming and GPU architecture. Various techniques for constructing parallel programs are explored in detail. Case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This book describes computational thinking techniques that will enable students to think about problems in ways that are amenable to high-performance parallel computing. It utilizes CUDA (Compute Unified Device Architecture), NVIDIA's software development tool created specifically for massively parallel environments. Studies learn how to achieve both high-performance and high-reliability using the CUDA programming model as well as OpenCL. This book is recommended for advanced students, software engineers, programmers, and hardware engineers.
  • 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.
  • 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.