{"title":"Parallel processing Books","description":"","products":[{"product_id":"using-mpi-portable-parallel-programming-with-the-messagepassing-interface-scientific-and-engineering-computation-9780262527392","title":"Using MPI Portable Parallel Programming with the","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cb\u003eThe thoroughly updated edition of a guide to parallel programming with MPI, reflecting the latest specifications, with many detailed examples. \u003c\/b\u003e\u003cp\u003eThis book offers a thoroughly updated guide to the MPI (Message-Passing Interface) standard library for writing programs for parallel computers. Since the publication of the previous edition of \u003ci\u003eUsing MPI\u003c\/i\u003e, parallel computing has become mainstream. Today, applications run on computers with millions of processors; multiple processors sharing memory and multicore processors with multiple hardware threads per core are common. The MPI-3 Forum recently brought the MPI standard up to date with respect to developments in hardware capabilities, core language evolution, the needs of applications, and experience gained over the years by vendors, implementers, and users. This third edition of \u003ci\u003eUsing MPI \u003c\/i\u003ereflects these changes in both text and example code. \u003c\/p\u003e\u003cp\u003eThe book takes an informal, tutorial approach, introducing each concept t\u003c\/p\u003e","brand":"MIT Press Ltd","offers":[{"title":"Default Title","offer_id":48733465018711,"sku":"9780262527392","price":999.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"multiagent-systems-9780262533874","title":"Multiagent Systems","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"MIT Press Ltd","offers":[{"title":"Default Title","offer_id":48733466788183,"sku":"9780262533874","price":48.0,"currency_code":"GBP","in_stock":true}]},{"product_id":"parallel-algorithms-9789811252976","title":"Parallel Algorithms","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eThis book is an introduction to the field of parallel algorithms and the underpinning techniques to realize the parallelization. The emphasis is on designing algorithms within the timeless and abstracted context of a high-level programming language. The focus of the presentation is on practical applications of the algorithm design using different models of parallel computation. Each model is illustrated by providing an adequate number of algorithms to solve some problems that quite often arise in many applications in science and engineering.The book is largely self-contained, presuming no special knowledge of parallel computers or particular mathematics. In addition, the solutions to all exercises are included at the end of each chapter.The book is intended as a text in the field of the design and analysis of parallel algorithms. It includes adequate material for a course in parallel algorithms at both undergraduate and graduate levels.","brand":"World Scientific Publishing Co Pte Ltd","offers":[{"title":"Default Title","offer_id":48743284572503,"sku":"9789811252976","price":108.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9789811252976.jpg?v=1720064921"},{"product_id":"cuda-for-engineers-9780134177410","title":"CUDA for Engineers","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp style=\"margin:0px;\"\u003e\u003cb\u003eDuane Storti\u003c\/b\u003e is a professor of mechanical engineering at the University of Washington in Seattle. He has thirty-five years of experience in teaching and research in the areas of engineering mathematics, dynamics and vibrations, computer-aided design, 3D printing, and applied GPU computing.\u003c\/p\u003e \u003cp style=\"margin:0px;\"\u003e \u003c\/p\u003e \u003cp style=\"margin:0px;\"\u003e\u003cb\u003eMete Yurtoglu\u003c\/b\u003e is currently pursuing an M.S. in applied mathematics and a Ph.D. in mechanical engineering at the University of Washington in Seattle. His research interests include GPU-based methods for computer vision and machine learning.\u003c\/p\u003e \u003cp style=\"margin:0px;\"\u003e \u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003c\/p\u003e \u003cb\u003e\u003ci\u003e\u003c\/i\u003e\u003c\/b\u003e\u003cp\u003e\u003cb\u003e\u003ci\u003eAcknowledgments            xvii\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eAbout the Authors             xix\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eIntroduction          1\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eWhat Is CUDA?     1\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eWhat Does “Need-to-Know” Mean for Learning CUDA?     2\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eWhat Is Meant by “for Engineers”?     3\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eWhat Do You Need to Get Started with CUDA?      4\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eHow Is This Book Structured?      4\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eConventions Used in This Book      8\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eCode Used in This Book      8\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eUser’s Guide      9\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eHistorical Context      10\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences      12\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 1: First Steps            13\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eRunning CUDA Samples      13\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eRunning Our Own Serial Apps      19\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      22\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      23\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 2: CUDA Essentials           25\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eCUDA’s Model for Parallelism     25\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eNeed-to-Know CUDA API and C Language Extensions     28\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      31\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      31\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences      31\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 3: From Loops to Grids           33\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eParallelizing dist_v1    33\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eParallelizing dist_v2      38\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eStandard Workflow      42\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSimplified Workflow      43\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      47\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      48\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences      48\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 4: 2D Grids and Interactive Graphics           49\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eLaunching 2D Computational Grids      50\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eLive Display via Graphics Interop     56\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eApplication: Stability      66\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      76\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      76\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences      77\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 5: Stencils and Shared Memory           79\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eThread Interdependence      80\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eComputing Derivatives on a 1D Grid      81\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary     117\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      118\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences      119\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 6: Reduction and Atomic Functions          121\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eThreads Interacting Globally      121\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eImplementing parallel_dot      123\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eComputing Integral Properties: centroid_2d      130\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      138\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects      138\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences       138\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 7: Interacting with 3D Data           141\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eLaunching 3D Computational Grids: dist_3d     144\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eViewing and Interacting with 3D Data: vis_3d      146\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      171\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects     171\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences     171\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 8: Using CUDA Libraries           173\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eCustom versus Off-the-Shelf      173\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eThrust      175\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003ecuRAND      190\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eNPP      193\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eLinear Algebra Using cuSOLVER and cuBLAS      . 201\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003ecuDNN      207\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eArrayFire      207\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      207\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested       208\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences     209\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eChapter 9: Exploring the CUDA Ecosystem            211\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eThe Go-To List of Primary Sources      211\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eFurther Sources      217\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSummary      218\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSuggested Projects     219\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eAppendix A: Hardware Setup           221\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eChecking for an NVIDIA GPU: Windows      221\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eChecking for an NVIDIA GPU: OS X     222\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eChecking for an NVIDIA GPU: Linux     223\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eDetermining Compute Capability      223\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eUpgrading Compute Capability      225\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eAppendix B: Software Setup            229\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eWindows Setup     229\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eOS X Setup      238\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eLinux Setup      240\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eAppendix C: Need-to-Know C Programming          245\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eCharacterization of C     245\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eC Language Basics      246\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eData Types, Declarations, and Assignments      248\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eDefining Functions      250\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eBuilding Apps: Create, Compile, Run, Debug      251\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eArrays, Memory Allocation, and Pointers      262\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eControl Statements: for, if      263\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eSample C Programs     267\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences     277\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003cb\u003eAppendix D: CUDA Practicalities: Timing, Profiling, Error Handling, and Debugging            279\u003c\/b\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eExecution Timing and Profiling      279\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eError Handling     292\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eDebugging in Windows      298\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eDebugging in Linux     305\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eCUDA-MEMCHECK     308\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eUsing Visual Studio Property Pages      309\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003eReferences     312\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e\u003ci\u003e\u003cb\u003eIndex            313\u003c\/b\u003e\u003c\/i\u003e\u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/b\u003e\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48864169754967,"sku":"9780134177410","price":31.82,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780134177410.jpg?v=1722270717"},{"product_id":"openacc-for-programmers-9780134694283","title":"OpenACC for Programmers","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cstrong\u003eSunita Chandrasekaran\u003c\/strong\u003e is assistant professor in the Computer and Information Sciences Department at the University of Delaware. Her research interests include exploring the suitability of high-level programming models and runtime systems for HPC and embedded platforms, and migrating scientific applications to heterogeneous computing systems. Dr. Chandrasekaran was a post-doctoral fellow at the University of Houston and holds a Ph.D. from Nanyang Technological University, Singapore. She is a member of OpenACC, OpenMP, MCA and SPEC HPG. She has served on the program committees of various conferences and workshops including SC, ISC, ICPP, CCGrid, Cluster, and PACT, and has co-chaired parallel programming workshops co-located with SC, ISC, IPDPS, and SIAM.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eGuido Juckeland\u003c\/strong\u003e is head of the Computational Science Group, Department for Information Services and Computing, Helmholtz-Zentrum Dresden-Rossendorf, and coordinates the work of the GPU Center \u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eForeword xv\u003c\/p\u003e \u003cp\u003ePreface xxi\u003c\/p\u003e \u003cp\u003eAcknowledgments xxiii\u003c\/p\u003e \u003cp\u003eAbout the Contributors xxv\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 1: OpenACC in a Nutshell 1\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e1.1 OpenACC Syntax 3\u003c\/p\u003e \u003cp\u003e1.2 Compute Constructs 6\u003c\/p\u003e \u003cp\u003e1.3 The Data Environment 11\u003c\/p\u003e \u003cp\u003e1.4 Summary 15\u003c\/p\u003e \u003cp\u003e1.5 Exercises 15\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 2: Loop-Level Parallelism 17\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e2.1 Kernels Versus Parallel Loops 18\u003c\/p\u003e \u003cp\u003e2.2 Three Levels of Parallelism 21\u003c\/p\u003e \u003cp\u003e2.3 Other Loop Constructs 24\u003c\/p\u003e \u003cp\u003e2.4 Summary 30\u003c\/p\u003e \u003cp\u003e2.5 Exercises 31\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 3: Programming Tools for OpenACC 33\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e3.1 Common Characteristics of Architectures 34\u003c\/p\u003e \u003cp\u003e3.2 Compiling OpenACC Code 35\u003c\/p\u003e \u003cp\u003e3.3 Performance Analysis of OpenACC Applications 36\u003c\/p\u003e \u003cp\u003e3.4 Identifying Bugs in OpenACC Programs 51\u003c\/p\u003e \u003cp\u003e3.5 Summary 53\u003c\/p\u003e \u003cp\u003e3.6 Exercises 54\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 4: Using OpenACC for Your First Program 59\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e4.1 Case Study 59\u003c\/p\u003e \u003cp\u003e4.2 Creating a Naive Parallel Version 68\u003c\/p\u003e \u003cp\u003e4.3 Performance of OpenACC Programs 71\u003c\/p\u003e \u003cp\u003e4.4 An Optimized Parallel Version 73\u003c\/p\u003e \u003cp\u003e4.5 Summary 78\u003c\/p\u003e \u003cp\u003e4.6 Exercises 79\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 5: Compiling OpenACC 81\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e5.1 The Challenges of Parallelism 82\u003c\/p\u003e \u003cp\u003e5.2 Restructuring Compilers 88\u003c\/p\u003e \u003cp\u003e5.3 Compiling OpenACC 92\u003c\/p\u003e \u003cp\u003e5.4 Summary 97\u003c\/p\u003e \u003cp\u003e5.5 Exercises 97\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 6: Best Programming Practices 101\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e6.1 General Guidelines 102\u003c\/p\u003e \u003cp\u003e6.2 Maximize On-Device Compute 105\u003c\/p\u003e \u003cp\u003e6.3 Optimize Data Locality 108\u003c\/p\u003e \u003cp\u003e6.4 A Representative Example 112\u003c\/p\u003e \u003cp\u003e6.5 Summary 118\u003c\/p\u003e \u003cp\u003e6.6 Exercises 119\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 7: OpenACC and Performance Portability 121\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e7.1 Challenges 121\u003c\/p\u003e \u003cp\u003e7.2 Target Architectures 123\u003c\/p\u003e \u003cp\u003e7.3 OpenACC for Performance Portability 124\u003c\/p\u003e \u003cp\u003e7.4 Code Refactoring for Performance Portability126\u003c\/p\u003e \u003cp\u003e7.5 Summary 132\u003c\/p\u003e \u003cp\u003e7.6 Exercises133\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 8: Additional Approaches to Parallel Programming 135\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e8.1 Programming Models135\u003c\/p\u003e \u003cp\u003e8.2 Programming Model Components142\u003c\/p\u003e \u003cp\u003e8.3 A Case Study 155\u003c\/p\u003e \u003cp\u003e8.4 Summary170\u003c\/p\u003e \u003cp\u003e8.5 Exercises170\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 9: OpenACC and Interoperability 173\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e9.1 Calling Native Device Code from OpenACC 174\u003c\/p\u003e \u003cp\u003e9.2 Calling OpenACC from Native Device Code 181\u003c\/p\u003e \u003cp\u003e9.3 Advanced Interoperability Topics 182\u003c\/p\u003e \u003cp\u003e9.4 Summary185\u003c\/p\u003e \u003cp\u003e9.5 Exercises185\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 10: Advanced OpenACC 187\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e10.1 Asynchronous Operations 187\u003c\/p\u003e \u003cp\u003e10.2 Multidevice Programming 204\u003c\/p\u003e \u003cp\u003e10.3 Summary 213\u003c\/p\u003e \u003cp\u003e10.4 Exercises 213\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 11: Innovative Research Ideas Using OpenACC, Part I 215\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e11.1 Sunway OpenACC 215\u003c\/p\u003e \u003cp\u003e11.2 Compiler Transformation of Nested Loops for Accelerators 224\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 12: Innovative Research Ideas Using OpenACC, Part II 237\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e12.1 A Framework for Directive-Based High-Performance Reconfigurable Computing 237\u003c\/p\u003e \u003cp\u003e12.2 Programming Accelerated Clusters Using XcalableACC 253\u003c\/p\u003e \u003cp\u003e\u003cem\u003eIndex 269\u003c\/em\u003e\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48864171524439,"sku":"9780134694283","price":35.14,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780134694283.jpg?v=1722270724"},{"product_id":"foundations-of-scalable-systems-9781098106065","title":"Foundations of Scalable Systems","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eThis practical book covers design approaches and technologies that make it possible to scale an application quickly and cost-effectively. Author Ian Gorton takes software architects and developers through the principles of foundational distributed systems.","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":48866330902871,"sku":"9781098106065","price":39.74,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781098106065.jpg?v=1722278164"},{"product_id":"functional-and-concurrent-programming-9780137466542","title":"Functional and Concurrent Programming","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cstrong\u003eMichel Charpentier\u003c\/strong\u003e is an associate professor with the Computer Science department at the University of New Hampshire (UNH). His interests over the years have ranged from distributed systems to formal verification and mobile sensor networks. He has been with UNH since 1999 and currently teaches courses in programming languages, concurrency, formal verification, and model-checking.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cem\u003eForeword by Cay Horstmann\u003c\/em\u003e   xxiii\u003c\/p\u003e \u003cp\u003e\u003cem\u003ePreface\u003c\/em\u003e    xxv\u003c\/p\u003e \u003cp\u003e\u003cem\u003eAcknowledgments\u003c\/em\u003e    xxxv\u003c\/p\u003e \u003cp\u003e\u003cem\u003eAbout the Author\u003c\/em\u003e    xxxvii\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart I. Functional Programming\u003c\/strong\u003e    1\u003c\/p\u003e \u003cp\u003eChapter 1: Concepts of Functional Programming    3\u003c\/p\u003e \u003cp\u003e     1.1 What Is Functional Programming?     3\u003c\/p\u003e \u003cp\u003e     1.2 Functions    4\u003c\/p\u003e \u003cp\u003e     1.3 From Functions to Functional Programming Concepts    6\u003c\/p\u003e \u003cp\u003e     1.4 Summary    7\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 2: Functions in Programming Languages     9\u003c\/p\u003e \u003cp\u003e     2.1 Defining Functions     9\u003c\/p\u003e \u003cp\u003e     2.2 Composing Functions     10\u003c\/p\u003e \u003cp\u003e     2.3 Functions Defined as Methods     12\u003c\/p\u003e \u003cp\u003e     2.4 Operators Defined as Methods     12\u003c\/p\u003e \u003cp\u003e     2.5 Extension Methods   13\u003c\/p\u003e \u003cp\u003e     2.6 Local Functions     14\u003c\/p\u003e \u003cp\u003e     2.7 Repeated Arguments     15\u003c\/p\u003e \u003cp\u003e     2.8 Optional Arguments     16\u003c\/p\u003e \u003cp\u003e     2.9 Named Arguments     16\u003c\/p\u003e \u003cp\u003e     2.10 Type Parameters     17\u003c\/p\u003e \u003cp\u003e     2.11 Summary     19\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 3: Immutability     21\u003c\/p\u003e \u003cp\u003e     3.1 Pure and Impure Functions     21\u003c\/p\u003e \u003cp\u003e     3.2 Actions     23\u003c\/p\u003e \u003cp\u003e     3.3 Expressions Versus Statements     25\u003c\/p\u003e \u003cp\u003e     3.4 Functional Variables     26\u003c\/p\u003e \u003cp\u003e     3.5 Immutable Objects     28\u003c\/p\u003e \u003cp\u003e     3.6 Implementation of Mutable State     29\u003c\/p\u003e \u003cp\u003e     3.7 Functional Lists     31\u003c\/p\u003e \u003cp\u003e     3.8 Hybrid Designs     32\u003c\/p\u003e \u003cp\u003e     3.9 Updating Collections of Mutable\/Immutable Objects     35\u003c\/p\u003e \u003cp\u003e     3.10 Summary     36\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 4: Case Study: Active–Passive Sets     39\u003c\/p\u003e \u003cp\u003e     4.1 Object-Oriented Design     39\u003c\/p\u003e \u003cp\u003e     4.2 Functional Values     41\u003c\/p\u003e \u003cp\u003e     4.3 Functional Objects     43\u003c\/p\u003e \u003cp\u003e     4.4 Summary     44\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 5: Pattern Matching and Algebraic Data Types     47\u003c\/p\u003e \u003cp\u003e     5.1 Functional Switch     47\u003c\/p\u003e \u003cp\u003e     5.2 Tuples     48\u003c\/p\u003e \u003cp\u003e     5.3 Options     50\u003c\/p\u003e \u003cp\u003e     5.4 Revisiting Functional Lists     51\u003c\/p\u003e \u003cp\u003e     5.5 Trees     53\u003c\/p\u003e \u003cp\u003e     5.6 Illustration: List Zipper     56\u003c\/p\u003e \u003cp\u003e     5.7 Extractors     59\u003c\/p\u003e \u003cp\u003e     5.8 Summary     60\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 6: Recursive Programming     63\u003c\/p\u003e \u003cp\u003e     6.1 The Need for Recursion     63\u003c\/p\u003e \u003cp\u003e     6.2 Recursive Algorithms     65\u003c\/p\u003e \u003cp\u003e     6.3 Key Principles of Recursive Algorithms     67\u003c\/p\u003e \u003cp\u003e     6.4 Recursive Structures     69\u003c\/p\u003e \u003cp\u003e     6.5 Tail Recursion     71\u003c\/p\u003e \u003cp\u003e     6.6 Examples of Tail Recursive Functions     73\u003c\/p\u003e \u003cp\u003e     6.7 Summary     77\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 7: Recursion on Lists     79\u003c\/p\u003e \u003cp\u003e     7.1 Recursive Algorithms as Equalities     79\u003c\/p\u003e \u003cp\u003e     7.2 Traversing Lists     80\u003c\/p\u003e \u003cp\u003e     7.3 Returning Lists     82\u003c\/p\u003e \u003cp\u003e     7.4 Building Lists from the Execution Stack     84\u003c\/p\u003e \u003cp\u003e     7.5 Recursion on Multiple\/Nested Lists     85\u003c\/p\u003e \u003cp\u003e     7.6 Recursion on Sublists Other Than the Tail     88\u003c\/p\u003e \u003cp\u003e     7.7 Building Lists in Reverse Order     90\u003c\/p\u003e \u003cp\u003e     7.8 Illustration: Sorting     92\u003c\/p\u003e \u003cp\u003e     7.9 Building Lists Efficiently     94\u003c\/p\u003e \u003cp\u003e     7.10 Summary     96\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 8: Case Study: Binary Search Trees     99\u003c\/p\u003e \u003cp\u003e     8.1 Binary Search Trees     99\u003c\/p\u003e \u003cp\u003e     8.2 Sets of Integers as Binary Search Trees     100\u003c\/p\u003e \u003cp\u003e     8.3 Implementation Without Rebalancing     102\u003c\/p\u003e \u003cp\u003e     8.4 Self-Balancing Trees     107\u003c\/p\u003e \u003cp\u003e     8.5 Summary     113\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 9: Higher-Order Functions     115\u003c\/p\u003e \u003cp\u003e     9.1 Functions as Values     115\u003c\/p\u003e \u003cp\u003e     9.2 Currying     118\u003c\/p\u003e \u003cp\u003e     9.3 Function Literals     120\u003c\/p\u003e \u003cp\u003e     9.4 Functions Versus Methods     123\u003c\/p\u003e \u003cp\u003e     9.5 Single-Abstract-Method Interfaces     124\u003c\/p\u003e \u003cp\u003e     9.6 Partial Application     125\u003c\/p\u003e \u003cp\u003e     9.7 Closures     130\u003c\/p\u003e \u003cp\u003e     9.8 Inversion of Control     133\u003c\/p\u003e \u003cp\u003e     9.9 Summary     133\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 10: Standard Higher-Order Functions     137\u003c\/p\u003e \u003cp\u003e     10.1 Functions with Predicate Arguments     137\u003c\/p\u003e \u003cp\u003e     10.2 map and foreach     140\u003c\/p\u003e \u003cp\u003e     10.3 atMap     141\u003c\/p\u003e \u003cp\u003e     10.4 fold and reduce     146\u003c\/p\u003e \u003cp\u003e     10.5 iterate, tabulate, and unfold     148\u003c\/p\u003e \u003cp\u003e     10.6 sortWith, sortBy, maxBy, and minBy     149\u003c\/p\u003e \u003cp\u003e     10.7 groupBy and groupMap     150\u003c\/p\u003e \u003cp\u003e     10.8 Implementing Standard Higher-Order Functions     152\u003c\/p\u003e \u003cp\u003e     10.9 foreach, map, atMap, and for-Comprehensions     152\u003c\/p\u003e \u003cp\u003e     10.10 Summary     155\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 11: Case Study: File Systems as Trees     157\u003c\/p\u003e \u003cp\u003e     11.1 Design Overview     157\u003c\/p\u003e \u003cp\u003e     11.2 A Node-Searching Helper Function     158\u003c\/p\u003e \u003cp\u003e     11.3 String Representation     158\u003c\/p\u003e \u003cp\u003e     11.4 Building Trees     160\u003c\/p\u003e \u003cp\u003e     11.5 Querying     164\u003c\/p\u003e \u003cp\u003e     11.6 Navigation     168\u003c\/p\u003e \u003cp\u003e     11.7 Tree Zipper     169\u003c\/p\u003e \u003cp\u003e     11.8 Summary     172\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 12: Lazy Evaluation     173\u003c\/p\u003e \u003cp\u003e     12.1 Delayed Evaluation of Arguments     173\u003c\/p\u003e \u003cp\u003e     12.2 By-Name Arguments     174\u003c\/p\u003e \u003cp\u003e     12.3 Control Abstraction     176\u003c\/p\u003e \u003cp\u003e     12.4 Internal Domain-Specifc Languages     179\u003c\/p\u003e \u003cp\u003e     12.5 Streams as Lazily Evaluated Lists     180\u003c\/p\u003e \u003cp\u003e     12.6 Streams as Pipelines     182\u003c\/p\u003e \u003cp\u003e     12.7 Streams as Infinite Data Structures     184\u003c\/p\u003e \u003cp\u003e     12.8 Iterators     184\u003c\/p\u003e \u003cp\u003e     12.9 Lists, Streams, Iterators, and Views     187\u003c\/p\u003e \u003cp\u003e     12.10 Delayed Evaluation of Fields and Local Variables     190\u003c\/p\u003e \u003cp\u003e     12.11 Illustration: Subset-Sum     191\u003c\/p\u003e \u003cp\u003e     12.12 Summary     193\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 13: Handling Failures     195\u003c\/p\u003e \u003cp\u003e     13.1 Exceptions and Special Values     195\u003c\/p\u003e \u003cp\u003e     13.2 Using Option     197\u003c\/p\u003e \u003cp\u003e     13.3 Using Try     198\u003c\/p\u003e \u003cp\u003e     13.4 Using Either     199\u003c\/p\u003e \u003cp\u003e     13.5 Higher-Order Functions and Pipelines     201\u003c\/p\u003e \u003cp\u003e     13.6 Summary     204\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 14: Case Study: Trampolines     205\u003c\/p\u003e \u003cp\u003e     14.1 Tail-Call Optimization     205\u003c\/p\u003e \u003cp\u003e     14.2 Trampolines for Tail-Calls     206\u003c\/p\u003e \u003cp\u003e     14.3 Tail-Call Optimization in Java     207\u003c\/p\u003e \u003cp\u003e     14.4 Dealing with Non-Tail-Calls     209\u003c\/p\u003e \u003cp\u003e     14.5 Summary     213\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eA Brief Interlude \u003c\/strong\u003e    215\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 15: Types (and Related Concepts)      217\u003c\/p\u003e \u003cp\u003e     15.1 Typing Strategies     217\u003c\/p\u003e \u003cp\u003e     15.2 Types as Sets     222\u003c\/p\u003e \u003cp\u003e     15.3 Types as Services     223\u003c\/p\u003e \u003cp\u003e     15.4 Abstract Data Types     224\u003c\/p\u003e \u003cp\u003e     15.5 Type Inference     225\u003c\/p\u003e \u003cp\u003e     15.6 Subtypes     229\u003c\/p\u003e \u003cp\u003e     15.7 Polymorphism     232\u003c\/p\u003e \u003cp\u003e     15.8 Type Variance     235\u003c\/p\u003e \u003cp\u003e     15.9 Type Bounds     241\u003c\/p\u003e \u003cp\u003e     15.10 Type Classes     245\u003c\/p\u003e \u003cp\u003e     15.11 Summary     250\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart II. Concurrent Programming\u003c\/strong\u003e     253\u003c\/p\u003e \u003cp\u003eChapter 16: Concepts of Concurrent Programming     255\u003c\/p\u003e \u003cp\u003e     16.1 Non-sequential Programs     255\u003c\/p\u003e \u003cp\u003e     16.2 Concurrent Programming Concepts     258\u003c\/p\u003e \u003cp\u003e     16.3 Summary     259\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 17: Threads and Nondeterminism     261\u003c\/p\u003e \u003cp\u003e     17.1 Threads of Execution     261\u003c\/p\u003e \u003cp\u003e     17.2 Creating Threads Using Lambda Expressions     263\u003c\/p\u003e \u003cp\u003e     17.3 Nondeterministic Behavior of Multithreaded Programs     263\u003c\/p\u003e \u003cp\u003e     17.4 Thread Termination     264\u003c\/p\u003e \u003cp\u003e     17.5 Testing and Debugging Multithreaded Programs     266\u003c\/p\u003e \u003cp\u003e     17.6 Summary     268\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 18: Atomicity and Locking     271\u003c\/p\u003e \u003cp\u003e     18.1 Atomicity     271\u003c\/p\u003e \u003cp\u003e     18.2 Non-atomic Operations     273\u003c\/p\u003e \u003cp\u003e     18.3 Atomic Operations and Non-atomic Composition     274\u003c\/p\u003e \u003cp\u003e     18.4 Locking     278\u003c\/p\u003e \u003cp\u003e     18.5 Intrinsic Locks     279\u003c\/p\u003e \u003cp\u003e     18.6 Choosing Locking Targets     281\u003c\/p\u003e \u003cp\u003e     18.7 Summary     283\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 19: Thread-Safe Objects     285\u003c\/p\u003e \u003cp\u003e     19.1 Immutable Objects     285\u003c\/p\u003e \u003cp\u003e     19.2 Encapsulating Synchronization Policies     286\u003c\/p\u003e \u003cp\u003e     19.3 Avoiding Reference Escape     288\u003c\/p\u003e \u003cp\u003e     19.4 Public and Private Locks     289\u003c\/p\u003e \u003cp\u003e     19.5 Leveraging Immutable Types     290\u003c\/p\u003e \u003cp\u003e     19.6 Thread-Safety     293\u003c\/p\u003e \u003cp\u003e     19.7 Summary     295\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 20: Case Study: Thread-Safe Queue     297\u003c\/p\u003e \u003cp\u003e     20.1 Queues as Pairs of Lists     297\u003c\/p\u003e \u003cp\u003e     20.2 Single Public Lock Implementation     298\u003c\/p\u003e \u003cp\u003e     20.3 Single Private Lock Implementation     301\u003c\/p\u003e \u003cp\u003e     20.4 Applying Lock Splitting     303\u003c\/p\u003e \u003cp\u003e     20.5 Summary     305\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 21: Thread Pools     307\u003c\/p\u003e \u003cp\u003e     21.1 Fire-and-Forget Asynchronous Execution     307\u003c\/p\u003e \u003cp\u003e     21.2 Illustration: Parallel Server     309\u003c\/p\u003e \u003cp\u003e     21.3 Different Types of Thread Pools     312\u003c\/p\u003e \u003cp\u003e     21.4 Parallel Collections     314\u003c\/p\u003e \u003cp\u003e     21.5 Summary     318\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 22: Synchronization     321\u003c\/p\u003e \u003cp\u003e     22.1 Illustration of the Need for Synchronization     321\u003c\/p\u003e \u003cp\u003e     22.2 Synchronizers     324\u003c\/p\u003e \u003cp\u003e     22.3 Deadlocks     325\u003c\/p\u003e \u003cp\u003e     22.4 Debugging Deadlocks with Thread Dumps     328\u003c\/p\u003e \u003cp\u003e     22.5 The Java Memory Model     330\u003c\/p\u003e \u003cp\u003e     22.6 Summary     335\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 23: Common Synchronizers     337\u003c\/p\u003e \u003cp\u003e     23.1 Locks     337\u003c\/p\u003e \u003cp\u003e     23.2 Latches and Barriers     339\u003c\/p\u003e \u003cp\u003e     23.3 Semaphores     341\u003c\/p\u003e \u003cp\u003e     23.4 Conditions     343\u003c\/p\u003e \u003cp\u003e     23.5 Blocking Queues     349\u003c\/p\u003e \u003cp\u003e     23.6 Summary     353\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 24: Case Study: Parallel Execution     355\u003c\/p\u003e \u003cp\u003e     24.1 Sequential Reference Implementation     355\u003c\/p\u003e \u003cp\u003e     24.2 One New Thread per Task     356\u003c\/p\u003e \u003cp\u003e     24.3 Bounded Number of Threads     357\u003c\/p\u003e \u003cp\u003e     24.4 Dedicated Thread Pool     359\u003c\/p\u003e \u003cp\u003e     24.5 Shared Thread Pool     360\u003c\/p\u003e \u003cp\u003e     24.6 Bounded Thread Pool     361\u003c\/p\u003e \u003cp\u003e     24.7 Parallel Collections     362\u003c\/p\u003e \u003cp\u003e     24.8 Asynchronous Task Submission Using Conditions     362\u003c\/p\u003e \u003cp\u003e     24.9 Two-Semaphore Implementation     367\u003c\/p\u003e \u003cp\u003e     24.10 Summary     368\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 25: Futures and Promises     369\u003c\/p\u003e \u003cp\u003e     25.1 Functional Tasks     369\u003c\/p\u003e \u003cp\u003e     25.2 Futures as Synchronizers     371\u003c\/p\u003e \u003cp\u003e     25.3 Timeouts, Failures, and Cancellation     374\u003c\/p\u003e \u003cp\u003e     25.4 Future Variants     375\u003c\/p\u003e \u003cp\u003e     25.5 Promises     375\u003c\/p\u003e \u003cp\u003e     25.6 Illustration: Thread-Safe Caching     377\u003c\/p\u003e \u003cp\u003e     25.7 Summary     379\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 26: Functional-Concurrent Programming     381\u003c\/p\u003e \u003cp\u003e     26.1 Correctness and Performance Issues with Blocking     381\u003c\/p\u003e \u003cp\u003e     26.2 Callbacks     384\u003c\/p\u003e \u003cp\u003e     26.3 Higher-Order Functions on Futures     385\u003c\/p\u003e \u003cp\u003e     26.4 Function atMap on Futures     388\u003c\/p\u003e \u003cp\u003e     26.5 Illustration: Parallel Server Revisited     390\u003c\/p\u003e \u003cp\u003e     26.6 Functional-Concurrent Programming Patterns     393\u003c\/p\u003e \u003cp\u003e     26.7 Summary     397\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 27: Minimizing Thread Blocking     399\u003c\/p\u003e \u003cp\u003e     27.1 Atomic Operations     399\u003c\/p\u003e \u003cp\u003e     27.2 Lock-Free Data Structures     402\u003c\/p\u003e \u003cp\u003e     27.3 Fork\/Join Pools     405\u003c\/p\u003e \u003cp\u003e     27.4 Asynchronous Programming     406\u003c\/p\u003e \u003cp\u003e     27.5 Actors     407\u003c\/p\u003e \u003cp\u003e     27.6 Reactive Streams     411\u003c\/p\u003e \u003cp\u003e     27.7 Non-blocking Synchronization     412\u003c\/p\u003e \u003cp\u003e     27.8 Summary     414\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eChapter 28: Case Study: Parallel Strategies     417\u003c\/p\u003e \u003cp\u003e     28.1 Problem Definition     417\u003c\/p\u003e \u003cp\u003e     28.2 Sequential Implementation with Timeout     419\u003c\/p\u003e \u003cp\u003e     28.3 Parallel Implementation Using invokeAny     420\u003c\/p\u003e \u003cp\u003e     28.4 Parallel Implementation Using CompletionService     421\u003c\/p\u003e \u003cp\u003e     28.5 Asynchronous Implementation with Scala Futures     422\u003c\/p\u003e \u003cp\u003e     28.6 Asynchronous Implementation with CompletableFuture     426\u003c\/p\u003e \u003cp\u003e     28.7 Caching Results from Strategies     427\u003c\/p\u003e \u003cp\u003e     28.8 Summary     431\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eAppendix A. Features of Java and Kotlin     433\u003c\/p\u003e \u003cp\u003e     A.1 Functions in Java and Kotlin     433\u003c\/p\u003e \u003cp\u003e     A.2 Immutability     436\u003c\/p\u003e \u003cp\u003e     A.3 Pattern Matching and Algebraic Data Types     437\u003c\/p\u003e \u003cp\u003e     A.4 Recursive Programming     439\u003c\/p\u003e \u003cp\u003e     A.5 Higher-Order Functions     440\u003c\/p\u003e \u003cp\u003e     A.6 Lazy Evaluation     446\u003c\/p\u003e \u003cp\u003e     A.7 Handling Failures     449\u003c\/p\u003e \u003cp\u003e     A.8 Types     451\u003c\/p\u003e \u003cp\u003e     A.9 Threads     453\u003c\/p\u003e \u003cp\u003e     A.10 Atomicity and Locking     454\u003c\/p\u003e \u003cp\u003e     A.11 Thread-Safe Objects     455\u003c\/p\u003e \u003cp\u003e     A.12 Thread Pools     457\u003c\/p\u003e \u003cp\u003e     A.13 Synchronization     459\u003c\/p\u003e \u003cp\u003e     A.14 Futures and Functional-Concurrent Programming     460\u003c\/p\u003e \u003cp\u003e     A.15 Minimizing Thread Blocking     461\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cem\u003eGlossary\u003c\/em\u003e     463\u003c\/p\u003e \u003cp\u003e\u003cem\u003eIndex\u003c\/em\u003e    465\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48883799753047,"sku":"9780137466542","price":37.79,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780137466542.jpg?v=1722529098"},{"product_id":"advanced-parallel-distributed-computing-evaluation-improvement-practice-9781600212024","title":"Advanced Parallel \u0026 Distributed Computing:","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"Nova Science Publishers Inc","offers":[{"title":"Default Title","offer_id":48886588178775,"sku":"9781600212024","price":999.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"performance-modelling-techniques-for-parallel-supercomputing-applications-9781606922699","title":"Performance Modelling Techniques for Parallel","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"Nova Science Publishers Inc","offers":[{"title":"Default Title","offer_id":48886688088407,"sku":"9781606922699","price":39.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781606922699.jpg?v=1722541185"},{"product_id":"grokking-concurrency-9781633439771","title":"Grokking Concurrency","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eThis easy-to-read, hands-on guide demystifies concurrency concepts like threading, asynchronous programming, and parallel processing in any language. \u003cp\u003eFor readers who know the basics of programming.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eGrokking Concurrency\u003c\/strong\u003e is the ultimate guide to effective concurrency practices that will help you leverage multiple cores, excel with high loads, handle terabytes of data, and continue working after hardware and software failures. The core concepts in this guide will remain eternally relevant, whether you are building web apps, IoT systems, or handling big data.\u003c\/p\u003e \u003cp\u003eSpecifically, you will:\u003c\/p\u003e \u003cul\u003e\n\u003cli\u003eGet up to speed with the core concepts of concurrency, asynchrony, and parallel programming\u003c\/li\u003e\n\u003cli\u003eLearn the strengths and weaknesses of different hardware architectures\u003c\/li\u003e\n\u003cli\u003eImprove the sequential performance characteristics of your software\u003c\/li\u003e\n\u003cli\u003eSolve common problems for concurrent programming\u003c\/li\u003e\n\u003cli\u003eCompose patterns into a series of practices for writing scalable systems\u003c\/li\u003e\n\u003cli\u003eWrite and implement concurrency systems that scale to any size\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003e\u003cstrong\u003eGrokking Concurrency\u003c\/strong\u003e demystifies writing high-performance concurrent code through clear explanations of core concepts, interesting illustrations, insightful examples, and detailed techniques you can apply to your own projects.\u003c\/p\u003e About the technology \u003cp\u003eMicroservices, big data, real-time systems, and other performance-intensive applications can all slow your systems to a crawl. You know the solution is “concurrency.” Now what? How do you choose among concurrency approaches? How can you be sure you will actually reduce latency and complete your jobs faster? This entertaining, fully illustrated guide answers all of your concurrency questions so you can start taking full advantage of modern multicore processors.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTrade Review\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eDon't be afraid about concurrency, learn from Grokking Concurrency!\u003cbr\u003e \u003cstrong\u003eEddu Melendez\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eThis book is a model of clarity. It clearly puts back not-so-well-known concepts in context.\u003cbr\u003e \u003cstrong\u003eLuc Rogge\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eThe Manning Grokking series has a well deserved good reputation and this book will not let the series down.\u003cbr\u003e \u003cstrong\u003ePatrick Regan\u003c\/strong\u003e\u003c\/p\u003e","brand":"Manning Publications","offers":[{"title":"Default Title","offer_id":48887150739799,"sku":"9781633439771","price":37.04,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781633439771.jpg?v=1722543245"},{"product_id":"parallel-computing-9781906574208","title":"Parallel Computing","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"New Age International (UK) Ltd","offers":[{"title":"Default Title","offer_id":48888406868311,"sku":"9781906574208","price":30.0,"currency_code":"GBP","in_stock":true}]},{"product_id":"parallel-algorithms-9780471251828","title":"Parallel Algorithms","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eParallel algorithms Made Easy\u003cbr\u003e \u003cbr\u003e The complexity of today''s applications coupled with the widespread use of parallel computing has made the design and analysis of parallel algorithms topics of growing interest. This volume fills a need in the field for an introductory treatment of parallel algorithms-appropriate even at the undergraduate level, where no other textbooks on the subject exist. It features a systematic approach to the latest design techniques, providing analysis and implementation details for each parallel algorithm described in the book. Introduction to Parallel Algorithms covers foundations of parallel computing; parallel algorithms for trees and graphs; parallel algorithms for sorting, searching, and merging; and numerical algorithms. This remarkable book:\u003cbr\u003e * Presents basic concepts in clear and simple terms\u003cbr\u003e * Incorporates numerous examples to enhance students'' understanding\u003cbr\u003e * Shows how to develop parallel algorithms for all classical problems in compu\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTrade Review\u003c\/b\u003e\u003cbr\u003e\"...an introduction to parallel algorithms...\" (Zentralblatt fur Mathematik, Vol. 948, No. 23)\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eFOUNDATIONS OF PARALLEL COMPUTING.\u003cbr\u003e \u003cbr\u003e Elements of Parallel Computing.\u003cbr\u003e \u003cbr\u003e Data Structures for Parallel Computing.\u003cbr\u003e \u003cbr\u003e Paradigms for Parallel Algorithm.\u003cbr\u003e \u003cbr\u003e Simple Algorithms.\u003cbr\u003e \u003cbr\u003e ALGORITHMS FOR GRAPH MODELS.\u003cbr\u003e \u003cbr\u003e Tree Algorithms.\u003cbr\u003e \u003cbr\u003e Graph Algorithms.\u003cbr\u003e \u003cbr\u003e NC Algorithms for Chordal Graphs.\u003cbr\u003e \u003cbr\u003e ARRAY MANIPULATION ALGORITHMS.\u003cbr\u003e \u003cbr\u003e Searching and Merging.\u003cbr\u003e \u003cbr\u003e Sorting Algorithms.\u003cbr\u003e \u003cbr\u003e NUMERICAL ALGORITHMS.\u003cbr\u003e \u003cbr\u003e Algebraic Equations and Matrices.\u003cbr\u003e \u003cbr\u003e Differentiation and Integration.\u003cbr\u003e \u003cbr\u003e Differential Equations.\u003cbr\u003e \u003cbr\u003e Answers to Selected Exercises.\u003cbr\u003e \u003cbr\u003e Index.","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":49402541015383,"sku":"9780471251828","price":144.85,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780471251828.jpg?v=1730480712"},{"product_id":"parallel-and-distributed-computing-a-survey-of-models-paradigms-and-approaches-12-wiley-series-on-parallel-and-distributed-computing-9780471358312","title":"Parallel and Distributed Computing A Survey of","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eFocuses on the area of parallel and distributed computing, and considers the diverse approaches. Covering a comprehensive set of models and paradigms, this book serves as both an introduction and a survey. It is suitable for students and can be used as a foundation for parallel and distributed computing courses.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTrade Review\u003c\/b\u003e\u003cbr\u003e\"A supplemental text providing a framework within which individual topics can be elaborated on in...courses...or a survey that researchers can consult before choosing a set of models and paradigms for the overlapping approaches to programming.\" (SciTech Book News, Vol. 25, No. 3, September 2001)\u003cbr\u003e \"an excellent introduction to the field of parallel computing ..\" (CVu - Jnl of the Association C \u0026amp; C++ Users, February 2002)\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eArchitectures.\u003cbr\u003e \u003cbr\u003e Data Parallelism.\u003cbr\u003e \u003cbr\u003e Shared-Memory Programming.\u003cbr\u003e \u003cbr\u003e Message Passing.\u003cbr\u003e \u003cbr\u003e Client\/Server Computing.\u003cbr\u003e \u003cbr\u003e Code Mobility.\u003cbr\u003e \u003cbr\u003e Coordination Models.\u003cbr\u003e \u003cbr\u003e Object-Oriented Models.\u003cbr\u003e \u003cbr\u003e High-Level Programming Models.\u003cbr\u003e \u003cbr\u003e Abstract Models.\u003cbr\u003e \u003cbr\u003e Final Comparison.\u003cbr\u003e \u003cbr\u003e References.\u003cbr\u003e \u003cbr\u003e Index.","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":49402572800343,"sku":"9780471358312","price":131.35,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780471358312.jpg?v=1730480799"},{"product_id":"parallel-processing-and-applied-mathematics-14th-international-conference-ppam-2022-gdansk-poland-september-11-14-2022-revised-selected-papers-part-i-9783031304415","title":"Parallel Processing and Applied Mathematics: 14th","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eThis two-volume set, LNCS 13826 and LNCS 13827, constitutes the proceedings of the 14th International Conference on Parallel Processing and Applied Mathematics, PPAM 2022, held in Gdansk, Poland, in September 2022.\u003cp\u003eThe 77 regular papers presented in these volumes were selected from 132 submissions. For regular tracks of the conference, 33 papers were selected from 62 submissions.\u003c\/p\u003e\u003cp\u003eThe papers were organized in topical sections named as follows:\u003c\/p\u003e\u003cp\u003ePart I: numerical algorithms and parallel scientific computing; parallel non-numerical algorithms; GPU computing; performance analysis and prediction in HPC systems; scheduling for parallel computing; environments and frameworks for parallel\/cloud computing; applications of parallel and distributed computing; soft computing with applications and special session on parallel EVD\/SVD and its application in matrix computations.\u003c\/p\u003e\u003cp\u003ePart II: 9th Workshop on Language-Based Parallel Programming (WLPP 2022); 6th Workshop on Models, Algorithms and Methodologies for Hybrid Parallelism in New HPC Systems (MAMHYP 2022); first workshop on quantum computing and communication; First Workshop on Applications of Machine Learning and Artificial Intelligence in High Performance Computing (WAML 2022); 4th workshop on applied high performance numerical algorithms for PDEs; 5th minisymposium on HPC applications in physical sciences; 8th minisymposium on high performance computing interval methods; 7th workshop on complex collective systems.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cb\u003e​Numerical Algorithms and Parallel Scientific Computing.-\u003c\/b\u003e How accurate does Newton have to be?.- General framework for deriving reproducible Krylov subspace algorithms: BiCGStab case.- A generalized parallel prefix sums algorithm for arbitrary size array.- Infinite-Precision Inner Product and Sparse Matrix-Vector Multiplication Using Ozaki Scheme with Dot2 on Manycore Processors.- Advanced Stochastic Approaches for Applied Computing in Environmental Modeling.- \u003cb\u003eParallel Non-numerical Algorithms.-\u003c\/b\u003e Parallel Suffix Sorting for Large String Analytics.- Parallel Extremely Randomized Decision Forests on Graphics Processors for Text Classification.- RDBMS speculative support improvement by the use of the query hypergraph representation.- \u003cb\u003eGPU Computing.-\u003c\/b\u003e Mixed Precision Algebraic Multigrid on GPUs.- Compact in-memory representation of decision trees in GPU-accelerated evolutionary induction.- Neural Nets with a Newton Conjugate Gradient Method on Multiple GPUs.- \u003cb\u003ePerformance Analysis and Prediction in HPC \u003c\/b\u003e\u003cb\u003eSystems.-\u003c\/b\u003e Exploring Techniques for the Analysis of Spontaneous Asynchronicity in MPI-Parallel Applications.- Cost and Performance Analysis of MPI-based SaaS on the Private Cloud Infrastructure.- Building a Fine-Grained Analytical Performance Model for Complex Scientific Simulations.- Evaluation of machine learning techniques for predicting run times of scientific workflow jobs.- Smart clustering of HPC applications using similar job detection methods.- \u003cb\u003eScheduling for Parallel Computing.-\u003c\/b\u003e Distributed Work Stealing in a Task-Based Dataflow Runtime.- Task Scheduler for Heterogeneous Data Centres based on Deep Reinforcement Learning.- Shisha: Online scheduling of CNN pipelines on heterogeneous architectures.- Proactive Task Offloading for Load Balancing in Iterative Applications.- \u003cb\u003eEnvironments and Frameworks for Parallel\/Cloud \u003c\/b\u003e\u003cb\u003eComputing.-\u003c\/b\u003e Language Agnostic Approach for Unification of Implementation Variants for Different Computing Devices.- High Performance Dataframes from Parallel Processing Patterns.- Global Access to Legacy Data-Sets in Multi-Cloud Applications with Onedata.- \u003cb\u003eApplications of Parallel and Distributed Computing.-\u003c\/b\u003e MD-Bench: A generic proxy-app toolbox for state-of-the-art molecular dynamics algorithms.- Breaking Down the Parallel Performance of GROMACS, a High-Performance Molecular Dynamics Software.- GPU-based Molecular Dynamics of Turbulent Liquid Flows with OpenMM.- A novel parallel approach for modeling the dynamics of aerodynamically interacting particles in turbulent flows.- Reliable energy measurement on heterogeneous Systems–on–Chip based environments.- Distributed Objective Function Evaluation for Optimization of Radiation Therapy Treatment Plans.- \u003cb\u003eSoft Computing with Applications.-\u003c\/b\u003e GPU4SNN: GPU-based Acceleration for Spiking Neural Network Simulations.- Ant System Inspired Heuristic Optimization of UAVs Deployment for k-Coverage Problem.- Dataset related experimental investigation of chess position evaluation using a deep neural network.- Using AI-based edge processing in monitoring the pedestrian crossing.- \u003cb\u003eSpecial Session on Parallel EVD\/SVD and its \u003c\/b\u003e\u003cb\u003eApplication in Matrix Computations.-\u003c\/b\u003e Automatic code selection for the dense symmetric generalized eigenvalue problem using ATMathCoreLib.- On Relative Accuracy of the One-Sided Block-Jacobi SVD Algorithm.","brand":"Springer International Publishing AG","offers":[{"title":"Default Title","offer_id":49415706837335,"sku":"9783031304415","price":53.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9783031304415.jpg?v=1730527855"},{"product_id":"parallel-processing-and-applied-mathematics-14th-international-conference-ppam-2022-gdansk-poland-september-11-14-2022-revised-selected-papers-part-ii-9783031304446","title":"Parallel Processing and Applied Mathematics: 14th","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eThis two-volume set, LNCS 13826 and LNCS 13827, constitutes the proceedings of the 14th International Conference on Parallel Processing and Applied Mathematics, PPAM 2022, held in Gdansk, Poland, in September 2022.\u003c\/p\u003e\u003cp\u003eThe 77 regular papers presented in these volumes were selected from 132 submissions. For regular tracks of the conference, 33 papers were selected from 62 submissions.\u003c\/p\u003e\u003cp\u003eThe papers were organized in topical sections named as follows:\u003c\/p\u003e\u003cp\u003ePart I: numerical algorithms and parallel scientific computing; parallel non-numerical algorithms; GPU computing; performance analysis and prediction in HPC systems; scheduling for parallel computing; environments and frameworks for parallel\/cloud computing; applications of parallel and distributed computing; soft computing with applications and special session on parallel EVD\/SVD and its application in matrix computations.\u003c\/p\u003e\u003cp\u003ePart II: 9th Workshop on Language-Based Parallel Programming (WLPP 2022); 6th Workshop on Models, Algorithms and Methodologies for Hybrid Parallelism in New HPC Systems (MAMHYP 2022); first workshop on quantum computing and communication; First Workshop on Applications of Machine Learning and Artificial Intelligence in High Performance Computing (WAML 2022); 4th workshop on applied high performance numerical algorithms for PDEs; 5th minisymposium on HPC applications in physical sciences; 8th minisymposium on high performance computing interval methods; 7th workshop on complex collective systems.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cb\u003e​9th Workshop on Language-Based Parallel Programming (WLPP 2022).-\u003c\/b\u003e Kokkos-Based Implementation of MPCD on Heterogeneous Nodes.- Comparison of Load Balancing Schemes for Asynchronous Many-Task Runtimes.- New Insights on the Revised Definition of the Performance Portability Metric.- Inferential statistical analysis of performance portability.- NPDP Benchmark Suite for Loop Tiling Effectiveness Evaluation.- Parallel Vectorized Implementations of Compensated Summation Algorithms.- \u003cb\u003e6th Workshop on Models, Algorithms and Methodologies for Hybrid Parallelism in New \u003c\/b\u003e\u003cb\u003eHPC Systems (MAMHYP 2022).-\u003c\/b\u003e Malleability Techniques for HPC Systems.- Algorithm and software overhead: a theoretical approach to performance portability.- Benchmarking A High Performance Computing Heterogeneous Cluster.- A Generative Adversarial Network approach for noise and artifacts reduction in MRI head and neck imaging.- A GPU accelerated Hyperspectral 3D Convolutional Neural Network Classification at the Edge with Principal Component Analysis preprocessing.- Parallel gEUD models for accelerated IMRT planning on modern HPC platforms.- \u003cb\u003eFirst Workshop on Quantum Computing and \u003c\/b\u003e\u003cb\u003eCommunication.-\u003c\/b\u003e On Quantum-Assisted LDPC Decoding Augmented with Classical Post-Processing.- Quantum annealing to solve the unrelated parallel machine scheduling problem.- Early experiences with a photonic quantum simulator for solving Job Shop Scheduling Problem.- Some remarks on super-gram operators for general bipartite quantum states.- Solving the Traveling Salesman Problem with a Hybrid Quantum-Classical Feedforward Neural Network.- Software aided analysis of EWL based quantum games.- \u003cb\u003eFirst Workshop on Applications of Machine Learning \u003c\/b\u003e\u003cb\u003eand Artificial Intelligence in High Performance \u003c\/b\u003e\u003cb\u003eComputing (WAML 2022).-\u003c\/b\u003e Adaptation of AI-accelerated CFD simulations to the IPU platform.- Performance Analysis of Convolution Algorithms for Deep Learning on Edge Processors.- Machine Learning-based Online Scheduling in Distributed Computing.- High Performance Computing Queue Time Prediction using Clustering and Regression.- Acceptance Rates of Invertible Neural Networks on Electron Spectra from Near-Critical Laser-Plasmas: A Comparison.- \u003cb\u003e4th Workshop on Applied High Performance \u003c\/b\u003e\u003cb\u003eNumerical Algorithms for PDEs.-\u003c\/b\u003e MATLAB implementation of hp finite elements on rectangles using hierarchical basis functions.- Adaptive Parallel Average Schwarz Preconditioner for Crouzeix-Raviart Finite Volume Method.- Parareal method for anisotropic diffusion denoising.- Comparison of block preconditioners for the Stokes problem with discontinuous viscosity and friction.- On minimization of nonlinear energies using FEM in MATLAB.- A model for crowd evacuation dynamics: 2D numerical simulations.- \u003cb\u003e5th Minisymposium on HPC Applications in Physical \u003c\/b\u003e\u003cb\u003eSciences.-\u003c\/b\u003e Parallel Identification of Unique Sequences in Nuclear Structure Calculations.- Experimental and computer study of molecular dynamics of a new pyridazine derivative.- Description of magnetic nanomolecules by the extended multi-orbital Hubbard model: perturbative vs numerical approach.- Structural and electronic properties of small-diameter Carbon NanoTubes: a DFT study.- \u003cb\u003e8th Minisymposium on High Performance Computing \u003c\/b\u003e\u003cb\u003eInterval Methods.-\u003c\/b\u003e Need for Techniques Intermediate Between Interval and Probabilistic Ones.- A Cross-Platform Benchmark for Interval Computation Libraries.- Testing interval arithmetic libraries, including their IEEE-1788 compliance.- A survey of interval algorithms for solving multicriteria analysis problems.- \u003cb\u003e7th Workshop on Complex Collective Systems.-\u003c\/b\u003e Social Fragmentation Transitions in Large-Scale Parameter Sweep Simulations of Adaptive Social Networks.- Parking search in urban street networks: Taming down the complexity of the search-time problem via a coarse-graining approach.- A multi-agent cellular automata model of lane changing behaviour considering the aggressiveness and the autonomy.- Comparison of the use of UWB and BLE as positioning methods in data-driven modeling of pedestrian dynamics.- An Insight into the State-of-the-Art Vehicular Fog Computing with an Opportunistic Flavour.","brand":"Springer International Publishing AG","offers":[{"title":"Default Title","offer_id":49415706870103,"sku":"9783031304446","price":94.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9783031304446.jpg?v=1730527855"},{"product_id":"connectionism-and-the-mind-9780631207122","title":"Connectionism and the Mind","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003ci\u003eConnectionism and the Mind\u003c\/i\u003e provides a clear and balanced introduction to connectionist networks and explores theoretical and philosophical implications. Much of this discussion from the first edition has been updated, and three new chapters have been added on the relation of connectionism to recent work on dynamical systems theory, artificial life, and cognitive neuroscience.\u003cbr\u003e \u003cp\u003eRead two of the sample chapters on line:\u003cbr\u003e \u003c\/p\u003e \u003cp\u003eConnectionism and the Dynamical Approach to Cognition:\u003cbr\u003e http:\/\/www.blackwellpublishing.com\/pdf\/bechtel.pdf\u003cbr\u003e \u003c\/p\u003e \u003cp\u003eNetworks, Robots, and Artificial Life:\u003cbr\u003e http:\/\/www.blackwellpublishing.com\/pdf\/bechtel2.pdf\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTrade Review\u003c\/b\u003e\u003cbr\u003e\"Much more than just an update, this is a thorough and exciting re-build of the classic text. Excellent new treatments of modularity, dynamics, artificial life, and cognitive neuroscience locate connectionism at the very heart of contemporary debates. A superb combination of detail, clarity, scope, and enthusiasm.\" \u003cb\u003eAndy Clark\u003c\/b\u003e, University of Sussex\u003cbr\u003e \u003cp\u003e\"\u003ci\u003eConnectionism and the Mind\u003c\/i\u003e is an extraordinarily comprehensive and thoughtful review of connectionism, with particular emphasis on recent developments. This new edition will be a valuable primer to those new to the field. But there is more: Bechtel and Abrahamsen's trenchant and even-handed analysis of the conceptual issues that are addressed by connectionist models constitute an important original theoretical contribution to cognitive science.\" \u003cb\u003eJeff Elman\u003c\/b\u003e, University of California at San Diego\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003ePreface. \u003cp\u003e\u003cb\u003e1. Networks versus Symbol Systems: Two Approaches to Modeling Cognition:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eA Revolution in the Making?.\u003c\/p\u003e \u003cp\u003eForerunners of Connectionism: Pandemonium and Perceptrons.\u003c\/p\u003e \u003cp\u003eThe Allure of Symbol Manipulation.\u003c\/p\u003e \u003cp\u003eThe Disappearance and Re-emergence of Network Models.\u003c\/p\u003e \u003cp\u003eNew Alliances and Unfinished Business.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2. Connectionist Architectures:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eThe Flavor of Connectionist Processing: A Simulation of Memory Retrieval.\u003c\/p\u003e \u003cp\u003eThe Design Features of a Connectionist Architecture.\u003c\/p\u003e \u003cp\u003eThe Allure of the Connectionist Approach.\u003c\/p\u003e \u003cp\u003eChallenges Facing Connectionist Networks.\u003c\/p\u003e \u003cp\u003eSummary.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3. Learning:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eTraditional and Contemporary Approaches to Learning.\u003c\/p\u003e \u003cp\u003eConnectionist Models of Learning.\u003c\/p\u003e \u003cp\u003eSome Issues Regarding Learning.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4. Pattern Recognition and Cognition:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eNetworks as Pattern Recognition Devices.\u003c\/p\u003e \u003cp\u003eExtending Pattern Recognition to Higher Cognition.\u003c\/p\u003e \u003cp\u003eLogical Inference as Pattern Recognition.\u003c\/p\u003e \u003cp\u003eBeyond Pattern Recognition.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5. Are Rules Required to Process Representations?:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eIs Language Use Governed by Rules?.\u003c\/p\u003e \u003cp\u003eRumelhart and McClelland's Model of Past-Tense Acquisition.\u003c\/p\u003e \u003cp\u003ePinker and Prince's Arguments for Rules.\u003c\/p\u003e \u003cp\u003eAccounting for the U-Shaped Learning Function.\u003c\/p\u003e \u003cp\u003eConclusion.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6. Are Syntactically Structured Representations Needed?:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eFodor and Pylyshyn's Critique: The Need for Symbolic Representations with Constituent Structure.\u003c\/p\u003e \u003cp\u003eFirst Connectionist Response: Explicitly Implementing Rules and Representations.\u003c\/p\u003e \u003cp\u003eSecond Connectionist Response: Implementing Functionally Compositional Representations.\u003c\/p\u003e \u003cp\u003eThird Connectionist Response: Employing Procedural Knowledge with External Symbols.\u003c\/p\u003e \u003cp\u003eUsing External Symbols to Provide Exact Symbol Processing.\u003c\/p\u003e \u003cp\u003eClarifying the Standard: Systematicity and Degree of Generalizability.\u003c\/p\u003e \u003cp\u003eConclusion.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7. Simulating Higher Cognition: A Modular Architecture for Processing Scripts:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eOverview of Scripts.\u003c\/p\u003e \u003cp\u003eOverview of Miikkulainen's DISCERN System.\u003c\/p\u003e \u003cp\u003eModular Connectionist Architectures.\u003c\/p\u003e \u003cp\u003eFGREP: An Architecture that Allows the System to Devise Its Own Representations.\u003c\/p\u003e \u003cp\u003eA Self-organizing Lexicon using Kohonen Feature Maps.\u003c\/p\u003e \u003cp\u003eEncoding and Decoding Stories as Scripts.\u003c\/p\u003e \u003cp\u003eA Connectionist Episodic Memory.\u003c\/p\u003e \u003cp\u003ePerformance: Paraphrasing Stories and Answering Questions.\u003c\/p\u003e \u003cp\u003eEvaluating DISCERN.\u003c\/p\u003e \u003cp\u003ePaths Beyond the First Decade of Connectionism.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8. Connectionism and the Dynamical Approach to Cognition:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eAre We on the Road to a Dynamical Revolution?.\u003c\/p\u003e \u003cp\u003eBasic Concepts of DST: The Geometry of Change.\u003c\/p\u003e \u003cp\u003eUsing Dynamical Systems Tools to Analyze Networks.\u003c\/p\u003e \u003cp\u003ePutting Chaos to Work in Networks.\u003c\/p\u003e \u003cp\u003eIs Dynamicism a Competitor to Connectionism?.\u003c\/p\u003e \u003cp\u003eIs Dynamicism Complementary to Connectionism?.\u003c\/p\u003e \u003cp\u003eConclusion.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9. Networks, Robots, and Artificial Life:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eRobots and the Genetic Algorithm.\u003c\/p\u003e \u003cp\u003eCellular Automata and the Synthetic Strategy.\u003c\/p\u003e \u003cp\u003eEvolution and Learning in Food-seekers.\u003c\/p\u003e \u003cp\u003eEvolution and Development in Khepera.\u003c\/p\u003e \u003cp\u003eThe Computational Neuroethology of Robots.\u003c\/p\u003e \u003cp\u003eWhen Philosophers Encounter Robots.\u003c\/p\u003e \u003cp\u003eConclusion.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10. Connectionism and the Brain:\u003c\/b\u003e.\u003c\/p\u003e \u003cp\u003eConnectionism Meets Cognitive Neuroscience.\u003c\/p\u003e \u003cp\u003eFour Connectionist Models of Brain Processes.\u003c\/p\u003e \u003cp\u003eThe Neural Implausibility of Many Connectionist Models.\u003c\/p\u003e \u003cp\u003eWither Connectionism?.\u003c\/p\u003e \u003cp\u003eNotes.\u003c\/p\u003e \u003cp\u003eSources and Suggested Readings.\u003c\/p\u003e \u003cp\u003eAppendix A: Notation.\u003c\/p\u003e \u003cp\u003eAppendix B: Glossary.\u003c\/p\u003e \u003cp\u003eBibliography.\u003c\/p\u003e \u003cp\u003eName Index.\u003c\/p\u003e \u003cp\u003eSubject Index.\u003c\/p\u003e","brand":"John Wiley and Sons Ltd","offers":[{"title":"Default Title","offer_id":49525934621015,"sku":"9780631207122","price":117.85,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780631207122.jpg?v=1731862288"},{"product_id":"principles-of-concurrent-and-distributed-programming-9780321312839","title":"Principles of Concurrent and Distributed","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eMordechai (Moti) Ben-Ari is an Associate Professor in the Department of Science Teaching at the Weizmann Institute of Science in Rehovot, Israel.  He is the author of texts on Ada, concurrent programming, programming languages, and mathematical logic, as well as Just a Theory: Exploring the Nature of Science.  In 2004 he was honored with the ACM\/SIGCSE Award for Outstanding Contribution to Computer Science Education.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003e\u003cp\u003eContents\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePreface xi\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 What is Concurrent Programming? 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1\u003c\/p\u003e \u003cp\u003e1.2 Concurrency as abstract parallelism . . . . . . . . . . . . . . . . 2\u003c\/p\u003e \u003cp\u003e1.3 Multitasking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4\u003c\/p\u003e \u003cp\u003e1.4 The terminology of concurrency . . . . . . . . . . . . . . . . . 4\u003c\/p\u003e \u003cp\u003e1.5 Multiple computers . . . . . . . . . . . . . . . . . . . . . . . . 5\u003c\/p\u003e \u003cp\u003e1.6 The challenge of concurrent programming . . . . . . . . . . . . 5\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 The Concurrent Programming Abstraction 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 The role of abstraction . . . . . . . . . . . . . . . . . . . . . . . 7\u003c\/p\u003e \u003cp\u003e2.2 Concurrent execution as interleaving of atomic statements . . . . 8\u003c\/p\u003e \u003cp\u003e2.3 Justification of the abstraction . . . . . . . . . . . . . . . . . . . 13\u003c\/p\u003e \u003cp\u003e2.4 Arbitrary interleaving . . . . . . . . . . . . . . . . . . . . . . . 17\u003c\/p\u003e \u003cp\u003e2.5 Atomic statements . . . . . . . . . . . . . . . . . . . . . . . . . 19\u003c\/p\u003e \u003cp\u003e2.6 Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21\u003c\/p\u003e \u003cp\u003e2.7 Fairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23\u003c\/p\u003e \u003cp\u003e2.8 Machine-code instructions . . . . . . . . . . . . . . . . . . . . . 24\u003c\/p\u003e \u003cp\u003e2.9 Volatile and non-atomic variables . . . . . . . . . . . . . . . . . 28\u003c\/p\u003e \u003cp\u003e2.10 The BACI concurrency simulator . . . . . . . . . . . . . . . . . 29\u003c\/p\u003e \u003cp\u003e2.11 Concurrency in Ada . . . . . . . . . . . . . . . . . . . . . . . . 31\u003c\/p\u003e \u003cp\u003e2.12 Concurrency in Java . . . . . . . . . . . . . . . . . . . . . . . . 34\u003c\/p\u003e \u003cp\u003e2.13 Writing concurrent programs in Promela . . . . . . . . . . . . . 36\u003c\/p\u003e \u003cp\u003e2.14 Supplement: the state diagram for the frog puzzle . . . . . . . . 37\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 The Critical Section Problem 45\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45\u003c\/p\u003e \u003cp\u003e3.2 The definition of the problem . . . . . . . . . . . . . . . . . . . 45\u003c\/p\u003e \u003cp\u003e3.3 First attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48\u003c\/p\u003e \u003cp\u003e3.4 Proving correctness with state diagrams . . . . . . . . . . . . . . 49\u003c\/p\u003e \u003cp\u003e3.5 Correctness of the first attempt . . . . . . . . . . . . . . . . . . 53\u003c\/p\u003e \u003cp\u003e3.6 Second attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . 55\u003c\/p\u003e \u003cp\u003e3.7 Third attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . 57\u003c\/p\u003e \u003cp\u003e3.8 Fourth attempt . . . . . . . . . . . . . . . . . . . . . . . . . . . 58\u003c\/p\u003e \u003cp\u003e3.9 Dekker’s algorithm . . . . . . . . . . . . . . . . . . . . . . . . 60\u003c\/p\u003e \u003cp\u003e3.10 Complex atomic statements . . . . . . . . . . . . . . . . . . . . 61\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Verification of Concurrent Programs 67\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Logical specification of correctness properties . . . . . . . . . . 68\u003c\/p\u003e \u003cp\u003e4.2 Inductive proofs of invariants . . . . . . . . . . . . . . . . . . . 69\u003c\/p\u003e \u003cp\u003e4.3 Basic concepts of temporal logic . . . . . . . . . . . . . . . . . 72\u003c\/p\u003e \u003cp\u003e4.4 Advanced concepts of temporal logic . . . . . . . . . . . . . . . 75\u003c\/p\u003e \u003cp\u003e4.5 A deductive proof of Dekker’s algorithm . . . . . . . . . . . . . 79\u003c\/p\u003e \u003cp\u003e4.6 Model checking . . . . . . . . . . . . . . . . . . . . . . . . . . 83\u003c\/p\u003e \u003cp\u003e4.7 Spin and the Promela modeling language . . . . . . . . . . . . . 83\u003c\/p\u003e \u003cp\u003e4.8 Correctness specifications in Spin . . . . . . . . . . . . . . . . . 86\u003c\/p\u003e \u003cp\u003e4.9 Choosing a verification technique . . . . . . . . . . . . . . . . . 88\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Advanced Algorithms for the Critical Section Problem 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 The bakery algorithm . . . . . . . . . . . . . . . . . . . . . . . 93\u003c\/p\u003e \u003cp\u003e5.2 The bakery algorithm for \u003ci\u003eN \u003c\/i\u003eprocesses . . . . . . . . . . . . . . 95\u003c\/p\u003e \u003cp\u003e5.3 Less restrictive models of concurrency . . . . . . . . . . . . . . 96\u003c\/p\u003e \u003cp\u003e5.4 Fast algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 97\u003c\/p\u003e \u003cp\u003e5.5 Implementations in Promela . . . . . . . . . . . . . . . . . . . . 104\u003c\/p\u003e","brand":"Pearson Education","offers":[{"title":"Default Title","offer_id":51017768567127,"sku":"9780321312839","price":68.39,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780321312839.jpg?v=1750774604"},{"product_id":"kubernetes-in-production-best-practices-build-and-manage-highly-available-production-ready-kubernetes-clusters-9781800202450","title":"Kubernetes in Production Best Practices: Build","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cb\u003eDesign, build, and operate scalable and reliable Kubernetes infrastructure for production\u003c\/b\u003e\u003c\/p\u003eKey Features\u003cul\u003e\n\u003cli\u003eImplement industry best practices to build and manage production-grade Kubernetes infrastructure\u003c\/li\u003e\n\u003cli\u003eLearn how to architect scalable Kubernetes clusters, harden container security, and fine-tune resource management\u003c\/li\u003e\n\u003cli\u003eUnderstand, manage, and operate complex business workloads confidently\u003c\/li\u003e\n\u003c\/ul\u003eBook Description\u003cp\u003eAlthough out-of-the-box solutions can help you to get a cluster up and running quickly, running a Kubernetes cluster that is optimized for production workloads is a challenge, especially for users with basic or intermediate knowledge. With detailed coverage of cloud industry standards and best practices for achieving scalability, availability, operational excellence, and cost optimization, this Kubernetes book is a blueprint for managing applications and services in production.\u003c\/p\u003e\u003cp\u003eYou'll discover the most common way to deploy and operate Kubernetes clusters, which is to use a public cloud-managed service from AWS, Azure, or Google Cloud Platform (GCP). This book explores Amazon Elastic Kubernetes Service (Amazon EKS), the AWS-managed version of Kubernetes, for working through practical exercises. As you get to grips with implementation details specific to AWS and EKS, you'll understand the design concepts, implementation best practices, and configuration applicable to other cloud-managed services. Throughout the book, you'll also discover standard and cloud-agnostic tools, such as Terraform and Ansible, for provisioning and configuring infrastructure.\u003c\/p\u003e\u003cp\u003eBy the end of this book, you'll be able to leverage Kubernetes to operate and manage your production environments confidently.\u003c\/p\u003eWhat you will learn\u003cul\u003e\n\u003cli\u003eExplore different infrastructure architectures for Kubernetes deployment\u003c\/li\u003e\n\u003cli\u003eImplement optimal open source and commercial storage management solutions\u003c\/li\u003e\n\u003cli\u003eApply best practices for provisioning and configuring Kubernetes clusters, including infrastructure as code (IaC) and configuration as code (CAC)\u003c\/li\u003e\n\u003cli\u003eConfigure the cluster networking plugin and core networking components to get the best out of them\u003c\/li\u003e\n\u003cli\u003eSecure your Kubernetes environment using the latest tools and best practices\u003c\/li\u003e\n\u003cli\u003eDeploy core observability stacks, such as monitoring and logging, to fine-tune your infrastructure\u003c\/li\u003e\n\u003c\/ul\u003eWho this book is for\u003cp\u003eThis book is for cloud infrastructure experts, DevOps engineers, site reliability engineers, and engineering managers looking to design and operate Kubernetes infrastructure for production. Basic knowledge of Kubernetes, Terraform, Ansible, Linux, and AWS is needed to get the most out of this book.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eTable of Contents\u003col\u003e\n\u003cli\u003eIntroduction to Kubernetes Infrastructure and Production-Readiness\u003c\/li\u003e\n\u003cli\u003eArchitecting Production-Grade Kubernetes Infrastructure\u003c\/li\u003e\n\u003cli\u003eProvisioning Kubernetes Clusters Using AWS and Terraform\u003c\/li\u003e\n\u003cli\u003eManaging Cluster Configuration with Ansible\u003c\/li\u003e\n\u003cli\u003eConfiguring and Enhancing Kubernetes Networking Services\u003c\/li\u003e\n\u003cli\u003eSecuring Kubernetes Effectively\u003c\/li\u003e\n\u003cli\u003eManaging Storage and Stateful Applications\u003c\/li\u003e\n\u003cli\u003eDeploying Seamless and Reliable Applications\u003c\/li\u003e\n\u003cli\u003eMonitoring, Logging, and Observability\u003c\/li\u003e\n\u003cli\u003eOperating and Maintaining Efficient Kubernetes Clusters\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Packt Publishing Limited","offers":[{"title":"Default Title","offer_id":51020517507415,"sku":"9781800202450","price":27.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781800202450.jpg?v=1750783617"},{"product_id":"edsger-wybe-dijkstra-9781450397711","title":"Edsger Wybe Dijkstra","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eEdsger Wybe Dijkstra (1930-2002) was one of the most influential researchers in the history of computer science, making fundamental contributions to both the theory and practice of computing. In this book, 31 computer scientists present and discuss Dijkstra’s numerous contributions to computing science and assess their impact.","brand":"Association of Computing Machinery,U.S.","offers":[{"title":"Default Title","offer_id":51040053068119,"sku":"9781450397711","price":69.3,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781450397711.jpg?v=1750945616"},{"product_id":"edsger-wybe-dijkstra-9781450397735","title":"Edsger Wybe Dijkstra","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eEdsger Wybe Dijkstra (1930-2002) was one of the most influential researchers in the history of computer science, making fundamental contributions to both the theory and practice of computing. In this book, 31 computer scientists present and discuss Dijkstra’s numerous contributions to computing science and assess their impact.","brand":"Association of Computing Machinery,U.S.","offers":[{"title":"Default Title","offer_id":51040053264727,"sku":"9781450397735","price":99.9,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781450397735.jpg?v=1750945616"},{"product_id":"parallel-optimization-theory-algorithms-and-applications-numerical-mathematics-and-scientific-computation-9780195100624","title":"Parallel Optimization Theory Algorithms and Applications Numerical Mathematics and Scientific Computation","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eThis text provides an introduction to the methods of parallel optimization by introducing parallel computing ideas and techniques into both optimization theory and numerical algorithms for large-scale optimization problems.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTrade Review\u003c\/b\u003e\u003cbr\u003e\"This book presents a domain that arises where two different branches of science, namely parallel computations and the theory of constrained optimization, intersect with real life problems. This domain, called parallel optimization, has been developing rapidly under the stimulus of progress in computer technology. The book focuses on parallel optimization methods for large-scale constrained optimization problems and structured linear problems. . . . [It] covers a vast portion of parallel optimization, though full coverage of this domain, as the authors admit, goes far beyond the capacity of a single monograph. This book, however, in over 500 pages brings an excellent and in-depth presentation of all the major aspects of a process which matches theory and methods of optimization with modern computers. The volume can be recommended for graduate students, faculty, and researchers in any of those fields.\"--Mathematical Reviews \"This book presents a domain that arises where two different branches of science, namely parallel computations and the theory of constrained optimization, intersect with real life problems. This domain, called parallel optimization, has been developing rapidly under the stimulus of progress in computer technology. The book focuses on parallel optimization methods for large-scale constrained optimization problems and structured linear problems. . . . [It] covers a vast portion of parallel optimization, though full coverage of this domain, as the authors admit, goes far beyond the capacity of a single monograph. This book, however, in over 500 pages brings an excellent and in-depth presentation of all the major aspects of a process which matches theory and methods of optimization with modern computers. The volume can be recommended for graduate students, faculty, and researchers in any of those fields.\"--Mathematical Reviews\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eForeword ; Preface ; Glossary of Symbols ; 1. Introduction ; Part I Theory ; 2. Generalized Distances and Generalized Projections ; 3. Proximal Minimization with D-Functions ; Part II Algorithms ; 4. Penalty Methods, Barrier Methods and Augmented Lagrangians ; 5. Iterative Methods for Convex Feasibility Problems ; 6. Iterative Algorithms for Linearly Constrained Optimization Problems ; 7. Model Decomposition Algorithms ; 8. Decompositions in Interior Point Algorithms ; Part III Applications ; 9. Matrix Estimation Problems ; 10. Image Reconsturction from Projections ; 11. The Inverse Problem in Radiation Therapy Treatment Planning ; 12. Multicommodity Network Flow Problems ; 13. Planning Under Uncertainty ; 14. Decompositions for Parallel Computing ; 15. Numerical Investigations","brand":"Oxford University Press, USA","offers":[{"title":"Default Title","offer_id":51766826631511,"sku":"9780195100624","price":217.5,"currency_code":"GBP","in_stock":true}]},{"product_id":"measuring-organisational-efficiency-9781848901261","title":"Measuring Organisational Efficiency","description":"","brand":"College Publications","offers":[{"title":"Default Title","offer_id":51771612758359,"sku":"9781848901261","price":13.5,"currency_code":"GBP","in_stock":true}]},{"product_id":"windows-64bit-assembly-language-programming-quick-start-intel-x8664-sse-avx-9780970112460","title":"Windows 64bit Assembly Language Programming Quick Start Intel X8664 SSE AVX","description":"","brand":"Gaul Communications","offers":[{"title":"Default Title","offer_id":52084121731415,"sku":"9780970112460","price":14.24,"currency_code":"GBP","in_stock":true}]},{"product_id":"assembly-language-coding-in-color-arm-and-neon-9780970112446","title":"Assembly Language Coding in Color ARM and NEON","description":"","brand":"Gaul Communications","offers":[{"title":"Default Title","offer_id":52084121796951,"sku":"9780970112446","price":14.24,"currency_code":"GBP","in_stock":true}]},{"product_id":"magnetic-core-memory-decoded-9780995707214","title":"Magnetic Core Memory Decoded","description":"","brand":"Action Publishing Technology Ltd","offers":[{"title":"Default Title","offer_id":52084176781655,"sku":"9780995707214","price":24.7,"currency_code":"GBP","in_stock":true}]},{"product_id":"iphone-6s-plus-the-ultimate-guide-to-revolutionizing-your-iphone-mobile-9781637502372","title":"iPhone 6s Plus: The Ultimate Guide to Revolutionizing Your iPhone Mobile","description":"","brand":"Hyuth Press","offers":[{"title":"Default Title","offer_id":52085239152983,"sku":"9781637502372","price":15.71,"currency_code":"GBP","in_stock":true}]},{"product_id":"c-high-performance-master-the-art-of-optimizing-the-functioning-of-your-c-code-9781839216541","title":"C++ High Performance: Master the art of optimizing the functioning of your C++ code","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cb\u003eA comprehensive guide to help aspiring and professional C++ developers elevate the performance of their apps by allowing them to run faster and consume fewer resources.\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003ePurchase of the print or Kindle book includes a free eBook in PDF format.\u003c\/b\u003e\u003c\/p\u003eKey Features\u003cul\u003e\n\u003cli\u003eUpdated to C++20 with completely revised code and more content on error handling, benchmarking, memory allocators, and concurrent programming\u003c\/li\u003e\n\u003cli\u003eExplore the latest C++20 features including concepts, ranges, and coroutines\u003c\/li\u003e\n\u003cli\u003eUtilize C++ constructs and techniques to carry out effective data structure optimization and memory management\u003c\/li\u003e\n\u003c\/ul\u003eBook Description\u003cp\u003eC++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase.\u003c\/p\u003e \u003cp\u003eThe book begins by introducing the C++ language and some of its modern concepts in brief. Once you are familiar with the fundamentals, you will be ready to measure, identify, and eradicate bottlenecks in your C++ codebase. By following this process, you will gradually improve your style of writing code. The book then explores data structure optimization, memory management, and how it can be used efficiently concerning CPU caches.\u003c\/p\u003e \u003cp\u003eAfter laying the foundation, the book trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. It provides hands-on examples of C++ metaprogramming, coroutines, reflection to reduce boilerplate code, proxy objects to perform optimizations under the hood, concurrent programming, and lock-free data structures. The book concludes with an overview of parallel algorithms.\u003c\/p\u003e \u003cp\u003eBy the end of this book, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects.\u003c\/p\u003eWhat you will learn\u003cul\u003e\n\u003cli\u003eWrite specialized data structures for performance-critical code\u003c\/li\u003e\n\u003cli\u003eUse modern metaprogramming techniques to reduce runtime calculations\u003c\/li\u003e\n\u003cli\u003eAchieve efficient memory management using custom memory allocators\u003c\/li\u003e\n\u003cli\u003eReduce boilerplate code using reflection techniques\u003c\/li\u003e\n\u003cli\u003eReap the benefits of lock-free concurrent programming\u003c\/li\u003e\n\u003cli\u003eGain insights into subtle optimizations used by standard library algorithms\u003c\/li\u003e\n\u003cli\u003eCompose algorithms using ranges library\u003c\/li\u003e\n\u003cli\u003eDevelop the ability to apply metaprogramming aspects such as constexpr, constraints, and concepts\u003c\/li\u003e\n\u003cli\u003eImplement lazy generators and asynchronous tasks using C++20 coroutines\u003c\/li\u003e\n\u003c\/ul\u003eWho this book is for\u003cp\u003eIf you're a C++ developer looking to improve the efficiency of your code or just keen to upgrade your skills to the next level, this book is for you.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eTable of Contents\u003col\u003e\n\u003cli\u003eA Brief Introduction to C++\u003c\/li\u003e\n\u003cli\u003eEssential C++ Techniques\u003c\/li\u003e\n\u003cli\u003eAnalyzing and Measuring Performance\u003c\/li\u003e\n\u003cli\u003eData Structures\u003c\/li\u003e\n\u003cli\u003eAlgorithms\u003c\/li\u003e\n\u003cli\u003eUsing Ranges and Views\u003c\/li\u003e\n\u003cli\u003eMemory Management\u003c\/li\u003e\n\u003cli\u003eCompile-Time Programming\u003c\/li\u003e\n\u003cli\u003eEssential Utilities\u003c\/li\u003e\n\u003cli\u003eProxy Objects and Lazy Evaluation\u003c\/li\u003e\n\u003cli\u003eConcurrency\u003c\/li\u003e\n\u003cli\u003eCoroutines and Lazy Generators\u003c\/li\u003e\n\u003cli\u003eAsynchronous Programming with Coroutines\u003c\/li\u003e\n\u003cli\u003eParallel STL Algorithms\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Packt Publishing Limited","offers":[{"title":"Default Title","offer_id":52085637939543,"sku":"9781839216541","price":43.99,"currency_code":"GBP","in_stock":true}]},{"product_id":"parallel-and-high-performance-programming-with-python-unlock-parallel-and-concurrent-programming-in-python-using-multithreading-cuda-pytorch-and-dask-9789388590730","title":"Parallel and High Performance Programming with Python: Unlock Parallel and Concurrent Programming in Python Using Multithreading, Cuda, Pytorch and Dask.","description":"","brand":"Orange Education Pvt Ltd","offers":[{"title":"Default Title","offer_id":52086070018391,"sku":"9789388590730","price":29.06,"currency_code":"GBP","in_stock":true}]},{"product_id":"fortran-2018-with-parallel-programming-9780367218430","title":"Fortran 2018 with Parallel Programming","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Taylor \u0026 Francis Ltd","offers":[{"title":"Default Title","offer_id":53119329435991,"sku":"9780367218430","price":133.0,"currency_code":"GBP","in_stock":true}]},{"product_id":"parallel-solution-of-partial-differential-equations-9780387950082","title":"Parallel Solution of Partial Differential Equations","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Springer","offers":[{"title":"Default Title","offer_id":53124592009559,"sku":"9780387950082","price":65.5,"currency_code":"GBP","in_stock":true}]},{"product_id":"free-choice-petri-nets-9780521019453","title":"Free Choice Petri Nets","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53129998172503,"sku":"9780521019453","price":37.04,"currency_code":"GBP","in_stock":true}]},{"product_id":"parallel-computing-9780521031899","title":"Parallel Computing","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130045620567,"sku":"9780521031899","price":39.89,"currency_code":"GBP","in_stock":true}]},{"product_id":"games-programming-9780521271103","title":"Games Programming","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130423828823,"sku":"9780521271103","price":48.44,"currency_code":"GBP","in_stock":true}]},{"product_id":"specification-and-proof-in-real-time-csp-9780521450553","title":"Specification and Proof in Real Time CSP","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130649272663,"sku":"9780521450553","price":94.0,"currency_code":"GBP","in_stock":true}]},{"product_id":"listen-here-intermediate-georgian-press-9780521602792","title":"Listen Here Intermediate Georgian Press","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130894868823,"sku":"9780521602792","price":35.14,"currency_code":"GBP","in_stock":true}]},{"product_id":"protocols-by-invariants-9780521607551","title":"Protocols by Invariants","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130900963671,"sku":"9780521607551","price":40.84,"currency_code":"GBP","in_stock":true}]},{"product_id":"handshake-circuits-an-asynchronous-architecture-for-vlsi-programming-5-cambridge-international-series-on-parallel-computation-series-number-5-9780521617154","title":"Handshake Circuits An Asynchronous Architecture for VLSI Programming 5 Cambridge International Series on Parallel Computation Series Number 5","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Cambridge University Press","offers":[{"title":"Default Title","offer_id":53130910925143,"sku":"9780521617154","price":56.74,"currency_code":"GBP","in_stock":true}]},{"product_id":"telephony-a-comprehensive-and-detailed-exposition-of-the-theory-and-practice-of-the-telephone-art-9781017809626","title":"Telephony a Comprehensive and Detailed Exposition of the Theory and Practice of the Telephone Art","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"LEGARE STREET PR","offers":[{"title":"Default Title","offer_id":53152060440919,"sku":"9781017809626","price":37.95,"currency_code":"GBP","in_stock":true}]},{"product_id":"detecting-nondeterminism-in-shared-memory-parallel-programs-9781019948422","title":"Detecting Nondeterminism in Shared Memory Parallel Programs","description":"\u003cp\u003ea huge range and FREE tracked UK delivery on ALL orders.\u003c\/p\u003e","brand":"Legare Street Press","offers":[{"title":"Default Title","offer_id":53161012756823,"sku":"9781019948422","price":23.7,"currency_code":"GBP","in_stock":true}]},{"product_id":"concurrency-in-net-modern-patterns-of-concurrent-and-parallel-programming-9781617292996","title":"Concurrency in .NET: Modern patterns of concurrent and parallel programming","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003eDescription   Functional languages help developers support concurrency by encouraging immutable data structures that can be passed between threads without having to worry about a shared state, all while avoiding side effects.       Functional Concurrency in .NET teaches readers how to build concurrent and scalable programs in .NET using the functional paradigm. This intermediate-level guide is aimed at developers, architects, and passionate computer programmers.       Key Features   • In-depth explanations   • Hands-on examples   • Step-by-step instructions       Audience   This book is for readers with solid knowledge of a mainstream programming language, preferably C# or F#.       About the technology   To maximize the utilization of the computational resources available, the Microsoft .NET platform provides parallel execution of code through multithreading. By leveraging parallelism, a program can take full advantage of the resources available.       Riccardo Terrell is a .NET seasoned software engineer, senior software architect and Microsoft MVP who is passionate about functional programming. He is well known and actively involved in the functional programming community including .NET meet ups and conferences and is the organizer for the Washington DC F# User Group.   MANNING    ","brand":"Manning Publications","offers":[{"title":"Default Title","offer_id":53188872896855,"sku":"9781617292996","price":40.79,"currency_code":"GBP","in_stock":false}]},{"product_id":"rust-from-beginner-to-professional-9781836208877","title":"Rust from Beginner to Professional","description":"","brand":"Packt Publishing Limited","offers":[{"title":"Default Title","offer_id":53191282721111,"sku":"9781836208877","price":44.07,"currency_code":"GBP","in_stock":false}]},{"product_id":"highperformance-systems-with-rust-9798241726322","title":"HighPerformance Systems with Rust","description":"","brand":"Independently Published","offers":[{"title":"Default Title","offer_id":53216505200983,"sku":"9798241726322","price":26.73,"currency_code":"GBP","in_stock":true}]},{"product_id":"concurrent-distributed-rust-9798241727800","title":"Concurrent  Distributed Rust","description":"","brand":"Independently Published","offers":[{"title":"Default Title","offer_id":53216505823575,"sku":"9798241727800","price":999.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"modern-lisp-systems-programming-9798261924319","title":"Modern LISP Systems Programming","description":"","brand":"Amazon Digital Services LLC - Kdp","offers":[{"title":"Default Title","offer_id":53218563522903,"sku":"9798261924319","price":22.72,"currency_code":"GBP","in_stock":true}]},{"product_id":"asynchronous-programming-with-c-9798262585199","title":"Asynchronous Programming with C","description":"","brand":"Amazon Digital Services LLC - Kdp","offers":[{"title":"Default Title","offer_id":53218717073751,"sku":"9798262585199","price":16.32,"currency_code":"GBP","in_stock":true}]},{"product_id":"c-concurrency-parallel-programming-9798263020590","title":"C Concurrency  Parallel Programming","description":"","brand":"Independently Published","offers":[{"title":"Default Title","offer_id":53218818589015,"sku":"9798263020590","price":15.55,"currency_code":"GBP","in_stock":false}]},{"product_id":"concurrency-for-beginners-9798264230974","title":"Concurrency for Beginners","description":"","brand":"Independently Published","offers":[{"title":"Default Title","offer_id":53219073556823,"sku":"9798264230974","price":13.99,"currency_code":"GBP","in_stock":true}]},{"product_id":"go-rest-api-development-9798264762734","title":"Go REST API Development","description":"","brand":"Amazon Digital Services LLC - Kdp","offers":[{"title":"Default Title","offer_id":53219198730583,"sku":"9798264762734","price":20.32,"currency_code":"GBP","in_stock":true}]},{"product_id":"handson-concurrency-with-kotlin-9798265318053","title":"HandsOn Concurrency with Kotlin","description":"","brand":"Amazon Digital Services LLC - Kdp","offers":[{"title":"Default Title","offer_id":53219324658007,"sku":"9798265318053","price":16.22,"currency_code":"GBP","in_stock":true}]},{"product_id":"mastering-asyncio-in-python-9798268519198","title":"Mastering Asyncio in Python","description":"","brand":"Amazon Digital Services LLC - Kdp","offers":[{"title":"Default Title","offer_id":53220073210199,"sku":"9798268519198","price":14.09,"currency_code":"GBP","in_stock":true}]}],"url":"https:\/\/bookcurl.com\/collections\/parallel-processing.oembed?page=2","provider":"Book Curl","version":"1.0","type":"link"}