دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 2nd Edition نویسندگان: Tim Harris, James Larus, Ravi Rajwar سری: ISBN (شابک) : 9781608452354 ناشر: Morgan Chaypool سال نشر: 2010 تعداد صفحات: 256 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 4 مگابایت
در صورت تبدیل فایل کتاب Transactional Memory به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب حافظه عملیاتی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ظهور پردازندههای چند هستهای باعث تجدید علاقه به ایده ترکیب تراکنشها در مدل برنامهنویسی مورد استفاده برای نوشتن برنامههای موازی شده است. این رویکرد، که به عنوان حافظه تراکنشی شناخته میشود، یک راه جایگزین، و امیدواریم بهتر، برای هماهنگ کردن رشتههای همزمان ارائه میدهد. ویژگیهای ACI (اتمی، سازگاری، جداسازی) تراکنشها پایهای را برای اطمینان از اینکه خواندن و نوشتن همزمان دادههای مشترک نتایج متناقض یا نادرست ایجاد نمیکند، فراهم میکند. در سطح بالاتر، محاسباتی که در یک تراکنش پیچیده شده است به صورت اتمی اجرا می شود - یا با موفقیت کامل می شود و نتیجه خود را به طور کامل انجام می دهد یا لغو می شود. علاوه بر این، جداسازی تضمین میکند که تراکنش همان نتیجه را ایجاد میکند که گویی هیچ تراکنش دیگری همزمان اجرا نمیشود. اگرچه تراکنش ها یک نوشداروی برنامه نویسی موازی نیستند، اما بسیاری از بار همگام سازی و هماهنگی محاسبات موازی را از یک برنامه نویس به یک کامپایلر، به یک سیستم زمان اجرا زبان یا سخت افزار منتقل می کنند. چالش پیش روی پیادهکنندگان سیستم، ایجاد یک زیرساخت حافظه تراکنش کارآمد است. این کتاب مروری بر وضعیت هنر در طراحی و اجرای سیستمهای حافظه تراکنشی تا اوایل بهار 2010 ارائه میکند. / نتیجه گیری
The advent of multicore processors has renewed interest in the idea of incorporating transactions into the programming model used to write parallel programs. This approach, known as transactional memory, offers an alternative, and hopefully better, way to coordinate concurrent threads. The ACI (atomicity, consistency, isolation) properties of transactions provide a foundation to ensure that concurrent reads and writes of shared data do not produce inconsistent or incorrect results. At a higher level, a computation wrapped in a transaction executes atomically - either it completes successfully and commits its result in its entirety or it aborts. In addition, isolation ensures the transaction produces the same result as if no other transactions were executing concurrently. Although transactions are not a parallel programming panacea, they shift much of the burden of synchronizing and coordinating parallel computations from a programmer to a compiler, to a language runtime system, or to hardware. The challenge for the system implementers is to build an efficient transactional memory infrastructure. This book presents an overview of the state of the art in the design and implementation of transactional memory systems, as of early spring 2010. Table of Contents: Introduction / Basic Transactions / Building on Basic Transactions / Software Transactional Memory / Hardware-Supported Transactional Memory / Conclusions
Preface......Page 15
Acknowledgments......Page 17
Difficulty of Parallel Programming......Page 19
Parallel Programming Abstractions......Page 21
Database Systems and Transactions......Page 22
What Is a Transaction?......Page 23
Transactional Memory......Page 24
Basic Transactional Memory......Page 25
Building on Basic Transactions......Page 26
Software Transactional Memory......Page 27
What is Transactional Memory Good For?......Page 29
Differences Between Database Transactions and TM......Page 30
Current Transactional Memory Systems and Simulators......Page 31
Basic Transactions......Page 35
TM Design Choices......Page 37
Concurrency Control......Page 38
Version Management......Page 39
Conflict Detection......Page 40
Semantics of Transactions......Page 41
Correctness Criteria for Database Transactions......Page 42
Consistency During Transactions......Page 46
Problems with Mixed-Mode Accesses......Page 48
Handling Mixed-Mode Accesses: Lock-Based Models......Page 53
Handling Mixed-Mode Accesses: TSC......Page 56
Nesting......Page 59
Performance, Progress and Pathologies......Page 62
Progress Guarantees......Page 63
Conflict Detection and Performance......Page 66
Contention Management and Scheduling......Page 69
Reducing Conflicts Between Transactions......Page 72
Higher-Level Conflict Detection......Page 75
Summary......Page 77
Basic Atomic Blocks......Page 79
Semantics of Basic Atomic Blocks.......Page 82
Building Basic Atomic Blocks Over TM......Page 86
Providing Strong Guarantees Over Weak TM Systems......Page 87
Condition Synchronization......Page 90
Exceptions and Failure Atomicity......Page 96
Integrating Non-TM Resources......Page 98
Binary Libraries......Page 99
Storage Allocation and GC......Page 100
Existing Synchronization Primitives......Page 102
System Calls, IO, and External Transactions......Page 105
Debugging and Profiling......Page 107
TM Workloads......Page 108
User Studies......Page 111
Transactions Everywhere......Page 112
Lock-Based Models over TM......Page 114
Speculation over TM......Page 116
Summary......Page 117
Software Transactional Memory......Page 119
Maintaining Metadata......Page 121
Undo-Logs and Redo-Logs......Page 124
Lock-Based STM Systems with Local Version Numbers......Page 126
Two-Phase Locking with Versioned Locks......Page 127
Optimizing STM Usage......Page 131
Providing Opacity......Page 132
Lock-Based STM Systems with a Global Clock......Page 134
Providing Opacity Using a Global Clock......Page 135
Clock Contention vs False Conflict Tradeoffs......Page 139
Lock-Based STM Systems with Global Metadata......Page 141
Bloom Filter Conflict Detection......Page 142
Value-Based Validation......Page 144
Per-object Indirection......Page 146
Nonblocking Object-Based STM Design Space......Page 149
Nonblocking STM Systems Without Indirection......Page 150
Supporting Privatization Safety and Publication Safety......Page 154
Condition Synchronization......Page 158
Irrevocability......Page 159
STM for Clusters......Page 160
STM-Based Middleware......Page 161
STM Testing and Correctness......Page 162
Summary......Page 163
Hardware-Supported Transactional Memory......Page 165
Identifying Transactional Locations......Page 166
Tracking Read-Sets and Managing Write-Sets......Page 167
Detecting Data Conflicts......Page 169
Managing Architectural Register State......Page 170
Committing and Aborting HTM Transactions......Page 171
Explicitly Transactional HTMs......Page 172
Implicitly Transactional HTM Systems......Page 177
Hybrid TMs: Integrating HTMs and STMs......Page 182
Software and Design Considerations......Page 186
Software-Resident Logs for Version Management......Page 188
Signatures for Access Tracking......Page 192
Conflict Detection via Update Broadcasts......Page 197
Deferring Conflict Detection......Page 200
Unbounded HTMs......Page 202
Combining Signatures and Software-Resident Logs......Page 203
Using Persistent Meta-Data......Page 205
Using Page Table Extensions......Page 212
Accelerating Short Transactions and Filtering Redundant Reads......Page 215
Software Controlled Cache Coherence......Page 216
Exposed Signatures to STMs......Page 217
Exposing Metadata to STMs......Page 218
Extending HTM: Nesting, IO, and Synchronization......Page 219
Summary......Page 221
Conclusions......Page 223
Bibliography......Page 227
Authors\' Biographies......Page 264