![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer hardware & operating systems > Computer architecture & logic design > Parallel processing
Focusing on algorithms for distributed-memory parallel architectures, Parallel Algorithms presents a rigorous yet accessible treatment of theoretical models of parallel computation, parallel algorithm design for homogeneous and heterogeneous platforms, complexity and performance analysis, and essential notions of scheduling. The book extracts fundamental ideas and algorithmic principles from the mass of parallel algorithm expertise and practical implementations developed over the last few decades. In the first section of the text, the authors cover two classical theoretical models of parallel computation (PRAMs and sorting networks), describe network models for topology and performance, and define several classical communication primitives. The next part deals with parallel algorithms on ring and grid logical topologies as well as the issue of load balancing on heterogeneous computing platforms. The final section presents basic results and approaches for common scheduling problems that arise when developing parallel algorithms. It also discusses advanced scheduling topics, such as divisible load scheduling and steady-state scheduling. With numerous examples and exercises in each chapter, this text encompasses both the theoretical foundations of parallel algorithms and practical parallel algorithm design.
Since the publication of the first edition, parallel computing technology has gained considerable momentum. A large proportion of this has come from the improvement in VLSI techniques, offering one to two orders of magnitude more devices than previously possible. A second contributing factor in the fast development of the subject is commercialization. The supercomputer is no longer restricted to a few well-established research institutions and large companies. A new computer breed combining the architectural advantages of the supercomputer with the advance of VLSI technology is now available at very attractive prices. A pioneering device in this development is the transputer, a VLSI processor specifically designed to operate in large concurrent systems. Parallel Computers 2: Architecture, Programming and Algorithms reflects the shift in emphasis of parallel computing and tracks the development of supercomputers in the years since the first edition was published. It looks at large-scale parallelism as found in transputer ensembles. This extensively rewritten second edition includes major new sections on the transputer and the OCCAM language. The book contains specific information on the various types of machines available, details of computer architecture and technologies, and descriptions of programming languages and algorithms. Aimed at an advanced undergraduate and postgraduate level, this handbook is also useful for research workers, machine designers, and programmers concerned with parallel computers. In addition, it will serve as a guide for potential parallel computer users, especially in disciplines where large amounts of computer time are regularly used.
A state-of-the-art guide for the implementation of distributed simulation technology.
The Rust programming language is extremely well-suited for concurrency, and its ecosystem has many libraries that include lots of concurrent data structures, locks, and more. But implementing those structures correctly can be very difficult. Even in the most well-used libraries, memory ordering bugs are not uncommon. In this practical book, Mara Bos, leader of the Rust library team, helps Rust programmers of all levels gain a clear understanding of low-level concurrency. You'll learn everything about atomics and memory ordering and how they're combined with basic operating system APIs to build common primitives like mutexes and condition variables. Once you're done, you'll have a firm grasp of how Rust's memory model, the processor, and the roles of the operating system all fit together. With this guide, you'll learn: How Rust's type system works exceptionally well for programming concurrency correctly All about mutexes, condition variables, atomics, and memory ordering What happens in practice with atomic operations on Intel and ARM processors How locks are implemented with support from the operating system How to write correct code that includes concurrency, atomics, and locks How to build your own locking and synchronization primitives correctly
The book discusses some key scientific and technological developments in high performance computing, identifies significant trends, and defines desirable research objectives. It covers general concepts and emerging systems, software technology, algorithms and applications. Coverage includes hardware, software tools, networks and numerical methods, new computer architectures, and a discussion of future trends. Beyond purely scientific/engineering computing, the book extends to coverage of enterprise-wide, commercial applications, including papers on performance and scalability of database servers and Oracle DBM systems. Audience: Most papers are research level, but some are suitable for computer literate managers and technicians, making the book useful to users of commercial parallel computers.
One critical barrier leading to successful implementation of flexible manufacturing and related automated systems is the ever-increasing complexity of their modeling, analysis, simulation, and control. Research and development over the last three decades has provided new theory and graphical tools based on Petri nets and related concepts for the design of such systems. The purpose of this book is to introduce a set of Petri-net-based tools and methods to address a variety of problems associated with the design and implementation of flexible manufacturing systems (FMSs), with several implementation examples.There are three ways this book will directly benefit readers. First, the book will allow engineers and managers who are responsible for the design and implementation of modern manufacturing systems to evaluate Petri nets for applications in their work. Second, it will provide sufficient breadth and depth to allow development of Petri-net-based industrial applications. Third, it will allow the basic Petri net material to be taught to industrial practitioners, students, and academic researchers much more efficiently. This will foster further research and applications of Petri nets in aiding the successful implementation of advanced manufacturing systems.
Digital Signal Processing Algorithms describes computational number theory and its applications to deriving fast algorithms for digital signal processing. It demonstrates the importance of computational number theory in the design of digital signal processing algorithms and clearly describes the nature and structure of the algorithms themselves. The book has two primary focuses: first, it establishes the properties of discrete-time sequence indices and their corresponding fast algorithms; and second, it investigates the properties of the discrete-time sequences and the corresponding fast algorithms for processing these sequences.
Introduces mechanical engineers to high-performance computing using the new generation of computers with vector and parallel processing capabilities that allow the solution to problems beyond the ken of traditional computers. The chapters present an introduction and overview, explain several methodo
Since the publication of the first edition, parallel computing
technology has gained considerable momentum. A large proportion of
this has come from the improvement in VLSI techniques, offering one
to two orders of magnitude more devices than previously possible. A
second contributing factor in the fast development of the subject
is commercialization. The supercomputer is no longer restricted to
a few well-established research institutions and large companies. A
new computer breed combining the architectural advantages of the
supercomputer with the advance of VLSI technology is now available
at very attractive prices. A pioneering device in this development
is the transputer, a VLSI processor specifically designed to
operate in large concurrent systems.
Companies are spending billions on machine learning projects, but it's money wasted if the models can't be deployed effectively. In this practical guide, Hannes Hapke and Catherine Nelson walk you through the steps of automating a machine learning pipeline using the TensorFlow ecosystem. You'll learn the techniques and tools that will cut deployment time from days to minutes, so that you can focus on developing new models rather than maintaining legacy systems. Data scientists, machine learning engineers, and DevOps engineers will discover how to go beyond model development to successfully productize their data science projects, while managers will better understand the role they play in helping to accelerate these projects. Understand the steps to build a machine learning pipeline Build your pipeline using components from TensorFlow Extended Orchestrate your machine learning pipeline with Apache Beam, Apache Airflow, and Kubeflow Pipelines Work with data using TensorFlow Data Validation and TensorFlow Transform Analyze a model in detail using TensorFlow Model Analysis Examine fairness and bias in your model performance Deploy models with TensorFlow Serving or TensorFlow Lite for mobile devices Learn privacy-preserving machine learning techniques
The use of parallel programming and architectures is essential for simulating and solving problems in modern computational practice. There has been rapid progress in microprocessor architecture, interconnection technology and software devel- ment, which are in?uencing directly the rapid growth of parallel and distributed computing. However, in order to make these bene?ts usable in practice, this dev- opment must be accompanied by progress in the design, analysis and application aspects of parallel algorithms. In particular, new approaches from parallel num- ics are important for solving complex computational problems on parallel and/or distributed systems. The contributions to this book are focused on topics most concerned in the trends of today's parallel computing. These range from parallel algorithmics, progr- ming, tools, network computing to future parallel computing. Particular attention is paid to parallel numerics: linear algebra, differential equations, numerical integ- tion, number theory and their applications in computer simulations, which together form the kernel of the monograph. We expect that the book will be of interest to scientists working on parallel computing, doctoral students, teachers, engineers and mathematicians dealing with numerical applications and computer simulations of natural phenomena.
This book constitutes the proceedings of the 5th OpenSHMEM Workshop, held in Baltimore, MD, USA, in August 2018. The 14 full papers presented in this book were carefully reviewed and selected for inclusion in this volume. The papers discuss a variety of ideas for extending the OpenSHMEM specification and discuss a variety of concepts, including interesting use of OpenSHMEM in HOOVER - a distributed, flexible, and scalable streaming graph processor and scaling OpenSHMEM to handle massively parallel processor arrays. The papers are organized in the following topical sections: OpenSHMEM library extensions and implementations; OpenSHMEM use and applications; and OpenSHMEM simulators, tools, and benchmarks.
The four-volume set LNCS 11334-11337 constitutes the proceedings of the 18th International Conference on Algorithms and Architectures for Parallel Processing, ICA3PP 2018, held in Guangzhou, China, in November 2018. The 141 full and 50 short papers presented were carefully reviewed and selected from numerous submissions. The papers are organized in topical sections on Distributed and Parallel Computing; High Performance Computing; Big Data and Information Processing; Internet of Things and Cloud Computing; and Security and Privacy in Computing.
This book constitutes revised selected papers from the workshops held at 24th International Conference on Parallel and Distributed Computing, Euro-Par 2018, which took place in Turin, Italy, in August 2018. The 64 full papers presented in this volume were carefully reviewed and selected from 109 submissions. Euro-Par is an annual, international conference in Europe, covering all aspects of parallel and distributed processing. These range from theory to practice, from small to the largest parallel and distributed systems and infrastructures, from fundamental computational problems to full-edged applications, from architecture, compiler, language and interface design and implementation to tools, support infrastructures, and application performance aspects.
Learn how to institute and implement enterprise architecture in your organisation. You can make a quick start and establish a baseline for your enterprise architecture within ten weeks, then grow and stabilise the architecture over time using the proven Ready, Set, Go Approach. Reading this book will: Give you directions on how to institute and implement enterprise architecture in your organization. You will be able to build close relationships with stakeholders and delivery teams, but you will not need to micromanage the architectures operations; Increase your awareness that enterprise architecture is about business, not information technology; Enable you to initiate and facilitate dramatic business development. The architecture of an enterprise must be tolerant of currently unknown business initiatives; Show you how to get a holistic view of the process of implementing enterprise architecture; Make you aware that information is a key business asset and that information architecture is a key part of the enterprise architecture; Allow you to learn from our experiences. This book is based on our 30 years of work in the enterprise architecture field, colleagues in Europe, customer cases, and students. If your company is about to make a major change and you are looking for a way to reduce the changes into manageable pieces -- and still retain control of how they fit together -- this is your handbook. Maybe you are already acting as an enterprise architect and using a formal method, but you need practical hints. Or maybe you are about to set up an enterprise architect network or group of specialists and need input on how to organise your work. The Ready-Set-Go method for introducing enterprise architecture provides you, the enterprise architect, with an immediate understanding of the basic steps for starting, organising, and operating the entirety of your organisations architecture. Chapter 1 shows how to model and analyse your business operations, assess their current status, construct a future scenario, compare it to the current structure, analyse what you see, and show the result in a city plan. Chapter 2 deals with preparing for the implementation of the architecture with governance, enterprise architecture organisation, staffing, etc. This is the organising step before beginning the actual work. Chapter 3 establishes how to implement a city plan in practice. It deals with the practicalities of working as an enterprise architect and is called the running step. The common thread through all aspects of the enterprise architects work is the architects mastery of a number of tools, such as business models, process models, information models, and matrices. We address how to initiate the architecture process within the organisation in such a way that the overarching enterprise architecture and architecture-driven approach can be applied methodically and gradually improved.
Parallel Computing Architectures and APIs: IoT Big Data Stream Processing commences from the point high-performance uniprocessors were becoming increasingly complex, expensive, and power-hungry. A basic trade-off exists between the use of one or a small number of such complex processors, at one extreme, and a moderate to very large number of simpler processors, at the other. When combined with a high-bandwidth, interprocessor communication facility leads to significant simplification of the design process. However, two major roadblocks prevent the widespread adoption of such moderately to massively parallel architectures: the interprocessor communication bottleneck, and the difficulty and high cost of algorithm/software development. One of the most important reasons for studying parallel computing architectures is to learn how to extract the best performance from parallel systems. Specifically, you must understand its architectures so that you will be able to exploit those architectures during programming via the standardized APIs. This book would be useful for analysts, designers and developers of high-throughput computing systems essential for big data stream processing emanating from IoT-driven cyber-physical systems (CPS). This pragmatic book: Devolves uniprocessors in terms of a ladder of abstractions to ascertain (say) performance characteristics at a particular level of abstraction Explains limitations of uniprocessor high performance because of Moore's Law Introduces basics of processors, networks and distributed systems Explains characteristics of parallel systems, parallel computing models and parallel algorithms Explains the three primary categorical representatives of parallel computing architectures, namely, shared memory, message passing and stream processing Introduces the three primary categorical representatives of parallel programming APIs, namely, OpenMP, MPI and CUDA Provides an overview of Internet of Things (IoT), wireless sensor networks (WSN), sensor data processing, Big Data and stream processing Provides introduction to 5G communications, Edge and Fog computing Parallel Computing Architectures and APIs: IoT Big Data Stream Processing discusses stream processing that enables the gathering, processing and analysis of high-volume, heterogeneous, continuous Internet of Things (IoT) big data streams, to extract insights and actionable results in real time. Application domains requiring data stream management include military, homeland security, sensor networks, financial applications, network management, web site performance tracking, real-time credit card fraud detection, etc.
Exploring new trends in computer technology, Corporal introduces an innovative and exciting concept: Transport Triggered Architecture (TTAs). Unlike most traditional architectures, where programmed operations trigger internal data transports, TTAs function through programming the data transports themselves. As a result the new architecture alleviates bottlenecks, allows for new code-generation optimizations and exploits hardware more efficiently. Founded on the author’s recent research, this book evaluates the attributes of different classes of architectures. It demonstrates how TTAs can be used as a template for automatic generation of application-specific processors and highlights their suitability for embedded system design. Several commercial TTA implementations have proven its concepts and advantages. Features includes:
Microprocessor Architectures is cutting-edge text which will prove invaluable to both industrial hardware and software engineers involved in embedded system design and to postgraduate electrical engineering and computer science students. This clearly-structured reference demonstrates the versatility of TTAs and explores their influential role in the next generation of computer architecture.
Current advances in High Performance Computing (HPC) increasingly impact efficient software development workflows. Programmers for HPC applications need to consider trends such as increased core counts, multiple levels of parallelism, reduced memory per core, and I/O system challenges in order to derive well performing and highly scalable codes. At the same time, the increasing complexity adds further sources of program defects. While novel programming paradigms and advanced system libraries provide solutions for some of these challenges, appropriate supporting tools are indispensable. Such tools aid application developers in debugging, performance analysis, or code optimization and therefore make a major contribution to the development of robust and efficient parallel software. This book introduces a selection of the tools presented and discussed at the 7th International Parallel Tools Workshop, held in Dresden, Germany, September 3-4, 2013.
The papers in this volume are based on lectures given at the IMA workshop on the Parallel Solution of PDE during June 9-13, 1997. The numerical solution of partial differential equations has been of major importance to the development of many technologies and has been the target of much of the development of parallel computer hardware and software. Parallel computer offers the promise of greatly increased performance and the routine calculation of previously intractable problems.This volume contains papers on the development and assessment of new approximation and solution techniques that can take advantage of parallel computers. It will be of interest to applied mathematicians, computer scientists, and engineers concerned with investigating the state of the art and future directions in numerical computing.Topics include domain decomposition methods, parallel multi-grid methods, front tracking methods, sparse matrix techniques, adaptive methods, fictitious domain methods, and novel time and space discretizations. Applications discussed include fluid dynamics, radiative transfer, solid mechanics, and semiconductor simulation.
CUDA for Engineers gives you direct, hands-on engagement with personal, high-performance parallel computing, enabling you to do computations on a gaming-level PC that would have required a supercomputer just a few years ago. The authors introduce the essentials of CUDA C programming clearly and concisely, quickly guiding you from running sample programs to building your own code. Throughout, you'll learn from complete examples you can build, run, and modify, complemented by additional projects that deepen your understanding. All projects are fully developed, with detailed building instructions for all major platforms. Ideal for any scientist, engineer, or student with at least introductory programming experience, this guide assumes no specialized background in GPU-based or parallel computing. In an appendix, the authors also present a refresher on C programming for those who need it. Coverage includes Preparing your computer to run CUDA programs Understanding CUDA's parallelism model and C extensions Transferring data between CPU and GPU Managing timing, profiling, error handling, and debugging Creating 2D grids Interoperating with OpenGL to provide real-time user interactivity Performing basic simulations with differential equations Using stencils to manage related computations across threads Exploiting CUDA's shared memory capability to enhance performance Interacting with 3D data: slicing, volume rendering, and ray casting Using CUDA libraries Finding more CUDA resources and code Realistic example applications include Visualizing functions in 2D and 3D Solving differential equations while changing initial or boundary conditions Viewing/processing images or image stacks Computing inner products and centroids Solving systems of linear algebraic equations Monte-Carlo computations
Study the past, if you would divine the future. -CONFUCIUS A well written, organized, and concise survey is an important tool in any newly emerging field of study. This present text is the first of a new series that has been established to promote the publications of such survey books. A survey serves several needs. Virtually every new research area has its roots in several diverse areas and many of the initial fundamental results are dispersed across a wide range of journals, books, and conferences in many dif ferent sub fields. A good survey should bring together these results. But just a collection of articles is not enough. Since terminology and notation take many years to become standardized, it is often difficult to master the early papers. In addition, when a new research field has its foundations outside of computer science, all the papers may be difficult to read. Each field has its own view of el egance and its own method of presenting results. A good survey overcomes such difficulties by presenting results in a notation and terminology that is familiar to most computer scientists. A good survey can give a feel for the whole field. It helps identify trends, both successful and unsuccessful, and it should point new researchers in the right direction.
Build and use systems that safely automate software delivery from testing through release with this jargon-busting guide to Continuous Delivery pipelines. In Grokking Continuous Delivery you will learn how to: Design effective CD pipelines for new and legacy projects Keep your software projects release-ready Maintain effective tests Scale CD across multiple applications Ensure pipelines give the right signals at the right time Use version control as the source of truth Safely automate deployments with metrics Describe CD in a way that makes sense to your colleagues Grokking Continuous Delivery teaches you the design and purpose of continuous delivery systems that you can use with any language or stack. You'll learn directly from your mentor Christie Wilson, Google engineer and co-creator of the Tekton CI/CD framework. Using crystal-clear, well-illustrated examples, Christie lays out the practical nuts and bolts of continuous delivery for developers and pipeline designers. In each chapter, you'll uncover the proper approaches to solve the real-world challenges of setting up a CD pipeline. With this book as your roadmap, you'll have a clear plan for bringing CD to your team without the need for costly trial-and-error experimentation. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Keep your codebase release-ready. A continuous delivery pipeline automates version control, testing, and deployment with minimal developer intervention. Master the tools and practices of continuous delivery, and you'll be able to add features and push updates quickly and consistently. About the book Grokking Continuous Delivery is a friendly guide to setting up and working with a continuous delivery pipeline. Each chapter takes on a different scenario you'll face when setting up a CD system, with real-world examples like automated scaling and testing legacy applications. Taking a tool-agnostic approach, author Christie Wilson guides you each step of the way with illustrations, crystal-clear explanations, and practical exercises to lock in what you're learning. What's inside Design effective CD pipelines for new and legacy projects Ensure your pipelines give the right signals at the right times Version control as the source of truth Safely automate deployments About the reader For software engineers who want to add CD to their development process. About the author Christie Wilson is a software engineer at Google, where she co-created Tekton, a cloud-native CI/CD platform built on Kubernetes. Table of Contents PART 1 Introducing continuous delivery 1 Welcome to Grokking Continuous Delivery 2 A basic pipeline PART 2 Keeping software in a deliverable state at all times 3 Version control is the only way to roll 4 Use linting effectively 5 Dealing with noisy tests 6 Speeding up slow test suites 7 Give the right signals at the right times PART 3 Making delivery easy 8 Easy delivery starts with version control 9 Building securely and reliably 10 Deploying confidently PART 4 CD design 11 Starter packs: From zero to CD 12 Scripts are code, too 13 Pipeline design
This book constitutes thoroughly refereed post-conference proceedings of the workshops of the 17th International Conference on Parallel Computing, Euro-Par 2011, held in Bordeaux, France, in August 2011. The papers of these 12 workshops CCPI, CGWS, HeteroPar, HiBB, HPCVirt, HPPC, HPSS HPCF, PROPER, CCPI, and VHPC focus on promotion and advancement of all aspects of parallel and distributed computing.
This book constitutes thoroughly refereed post-conference proceedings of the workshops of the 17th International Conference on Parallel Computing, Euro-Par 2011, held in Bordeaux, France, in August 2011. The papers of these 12 workshops CCPI, CGWS, HeteroPar, HiBB, HPCVirt, HPPC, HPSS HPCF, PROPER, CCPI, and VHPC focus on promotion and advancement of all aspects of parallel and distributed computing. |
You may like...
Stochastic Optimization
Johannes Schneider, Scott Kirkpatrick
Hardcover
R4,326
Discovery Miles 43 260
Nonlinear Optimization in Finite…
Hubertus Th. Jongen, P. Jonker, …
Hardcover
R6,104
Discovery Miles 61 040
Optimization of Multilayered Radar…
Vineetha Joy, Vishal G. Padwal, …
Hardcover
R2,672
Discovery Miles 26 720
|