000 -LEADER |
fixed length control field |
07153nam a2200805 i 4500 |
001 - CONTROL NUMBER |
control field |
6813491 |
003 - CONTROL NUMBER IDENTIFIER |
control field |
IEEE |
005 - DATE AND TIME OF LATEST TRANSACTION |
control field |
20200413152910.0 |
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS |
fixed length control field |
m eo d |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION |
fixed length control field |
cr cn |||m|||a |
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION |
fixed length control field |
130615s2013 caua foab 000 0 eng d |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
International Standard Book Number |
9781608459575 (electronic bk.) |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
Canceled/invalid ISBN |
9781608459568 (pbk.) |
024 7# - OTHER STANDARD IDENTIFIER |
Standard number or code |
10.2200/S00499ED1V01Y201304CAC023 |
Source of number or code |
doi |
035 ## - SYSTEM CONTROL NUMBER |
System control number |
(CaBNVSL)swl00402479 |
035 ## - SYSTEM CONTROL NUMBER |
System control number |
(OCoLC)848842074 |
040 ## - CATALOGING SOURCE |
Original cataloging agency |
CaBNVSL |
Transcribing agency |
CaBNVSL |
Modifying agency |
CaBNVSL |
050 #4 - LIBRARY OF CONGRESS CALL NUMBER |
Classification number |
QA76.9.M45 |
Item number |
S367 2013 |
082 04 - DEWEY DECIMAL CLASSIFICATION NUMBER |
Classification number |
005.43 |
Edition number |
23 |
090 ## - LOCALLY ASSIGNED LC-TYPE CALL NUMBER (OCLC); LOCAL CALL NUMBER (RLIN) |
Classification number (OCLC) (R) ; Classification number, CALL (RLIN) (NR) |
|
Local cutter number (OCLC) ; Book number/undivided call number, CALL (RLIN) |
MoCl |
100 1# - MAIN ENTRY--PERSONAL NAME |
Personal name |
Scott, Michael Lee, |
Dates associated with a name |
1959- |
245 10 - TITLE STATEMENT |
Title |
Shared-memory synchronization |
Medium |
[electronic resource] / |
Statement of responsibility, etc. |
Michael L. Scott. |
260 ## - PUBLICATION, DISTRIBUTION, ETC. |
Place of publication, distribution, etc. |
San Rafael, Calif. (1537 Fourth Street, San Rafael, CA 94901 USA) : |
Name of publisher, distributor, etc. |
Morgan & Claypool, |
Date of publication, distribution, etc. |
c2013. |
300 ## - PHYSICAL DESCRIPTION |
Extent |
1 electronic text (xvii, 203 p.) : |
Other physical details |
ill., digital file. |
490 1# - SERIES STATEMENT |
Series statement |
Synthesis lectures on computer architecture, |
International Standard Serial Number |
1935-3243 ; |
Volume/sequential designation |
# 23 |
538 ## - SYSTEM DETAILS NOTE |
System details note |
Mode of access: World Wide Web. |
538 ## - SYSTEM DETAILS NOTE |
System details note |
System requirements: Adobe Acrobat Reader. |
500 ## - GENERAL NOTE |
General note |
Part of: Synthesis digital library of engineering and computer science. |
500 ## - GENERAL NOTE |
General note |
Series from website. |
504 ## - BIBLIOGRAPHY, ETC. NOTE |
Bibliography, etc. note |
Includes bibliographical references (p. 173-202). |
505 0# - FORMATTED CONTENTS NOTE |
Formatted contents note |
1. Introduction -- 1.1 Atomicity -- 1.2 Condition synchronization -- 1.3 Spinning vs. blocking -- 1.4 Safety and liveness -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
2. Architectural background -- 2.1 Cores and caches: basic shared-memory architecture -- 2.1.1 Temporal and spatial locality -- 2.1.2 Cache coherence -- 2.1.3 Processor (core) locality -- 2.2 Memory consistency -- 2.2.1 Sources of inconsistency -- 2.2.2 Special instructions to order memory access -- 2.2.3 Example architectures -- 2.3 Atomic primitives -- 2.3.1 The ABA problem -- 2.3.2 Other synchronization hardware -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
3. Essential theory -- 3.1 Safety -- 3.1.1 Deadlock freedom -- 3.1.2 Atomicity -- 3.2 Liveness -- 3.2.1 Nonblocking progress -- 3.2.2 Fairness -- 3.3 The consensus hierarchy -- 3.4 Memory models -- 3.4.1 Formal framework -- 3.4.2 Data races -- 3.4.3 Real-world models -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
4. Practical spin locks -- 4.1 Classical load-store only algorithms -- 4.2 Centralized algorithms -- 4.2.1 Test and set locks -- 4.2.2 The ticket lock -- 4.3 Queued spin locks -- 4.3.1 The MCS lock -- 4.3.2 The CLH lock -- 4.3.3 Which spin lock should I use? -- 4.4 Interface extensions -- 4.5 Special-case optimizations -- 4.5.1 Locality-conscious locking -- 4.5.2 Double-checked locking -- 4.5.3 Asymmetric locking -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
5. Busy-wait synchronization with conditions -- 5.1 Flags -- 5.2 Barrier algorithms -- 5.2.1 The sense-reversing centralized barrier -- 5.2.2 Software combining -- 5.2.3 The dissemination barrier -- 5.2.4 Non-combining tree barriers -- 5.2.5 Which barrier should I use? -- 5.3 Barrier extensions -- 5.3.1 Fuzzy barriers -- 5.3.2 Adaptive barriers -- 5.3.3 Barrier-like constructs -- 5.4 Combining as a general technique -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
6. Read-mostly atomicity -- 6.1 Reader-writer locks -- 6.1.1 Centralized algorithms -- 6.1.2 Queued reader-writer locks -- 6.2 Sequence locks -- 6.3 Read-copy update -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
7. Synchronization and scheduling -- 7.1 Scheduling -- 7.2 Semaphores -- 7.3 Monitors -- 7.3.1 Hoare monitors -- 7.3.2 Signal semantics -- 7.3.3 Nested monitor calls -- 7.3.4 Java monitors -- 7.4 Other language mechanisms -- 7.4.1 Conditional critical regions -- 7.4.2 Futures -- 7.4.3 Series-parallel execution -- 7.5 Kernel/user interactions -- 7.5.1 Context switching overhead -- 7.5.2 Preemption and convoys -- 7.5.3 Resource minimization -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
8. Nonblocking algorithms -- 8.1 Single-location structures -- 8.2 The Michael and Scott (M&S) queue -- 8.3 Harris and Michael (H&M) lists -- 8.4 Hash tables -- 8.5 Skip lists -- 8.6 Double-ended queues -- 8.6.1 Unbounded lock-free deques -- 8.6.2 Obstruction-free bounded deques -- 8.6.3 Work-stealing queues -- 8.7 Dual data structures -- 8.8 Nonblocking elimination -- 8.9 Universal constructions -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
9. Transactional memory -- 9.1 Software TM -- 9.1.1 Dimensions of the STM design space -- 9.1.2 Buffering of speculative state -- 9.1.3 Access tracking and conflict resolution -- 9.1.4 Validation -- 9.1.5 Contention management -- 9.2 Hardware TM -- 9.2.1 Dimensions of the HTM design space -- 9.2.2 Speculative lock elision -- 9.2.3 Hybrid TM -- 9.3 Challenges -- 9.3.1 Semantics -- 9.3.2 Extensions -- 9.3.3 Implementation -- 9.3.4 Debugging and performance tuning -- |
505 8# - FORMATTED CONTENTS NOTE |
Formatted contents note |
Bibliography -- Author's biography. |
506 1# - RESTRICTIONS ON ACCESS NOTE |
Terms governing access |
Abstract freely available; full-text restricted to subscribers or individual document purchasers. |
510 0# - CITATION/REFERENCES NOTE |
Name of source |
Compendex |
510 0# - CITATION/REFERENCES NOTE |
Name of source |
INSPEC |
510 0# - CITATION/REFERENCES NOTE |
Name of source |
Google scholar |
510 0# - CITATION/REFERENCES NOTE |
Name of source |
Google book search |
520 3# - SUMMARY, ETC. |
Summary, etc. |
Since the advent of time sharing in the 1960s, designers of concurrent and parallel systems have needed to synchronize the activities of threads of control that share data structures in memory. In recent years, the study of synchronization has gained new urgency with the proliferation of multicore processors, on which even relatively simple user-level programs must frequently run in parallel. This lecture offers a comprehensive survey of shared-memory synchronization, with an emphasis on "systems-level" issues. It includes sufficient coverage of architectural details to understand correctness and performance on modern multicore machines, and sufficient coverage of higher-level issues to understand how synchronization is embedded in modern programming languages. The primary intended audience is "systems programmers" - the authors of operating systems, library packages, language run-time systems, concurrent data structures, and server and utility programs. Much of the discussion should also be of interest to application programmers who want to make good use of the synchronization mechanisms available to them, and to computer architects who want to understand the ramifications of their design decisions on systems-level code. |
530 ## - ADDITIONAL PHYSICAL FORM AVAILABLE NOTE |
Additional physical form available note |
Also available in print. |
588 ## - SOURCE OF DESCRIPTION NOTE |
Source of description note |
Title from PDF t.p. (viewed on June 15, 2013). |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
Topical term or geographic name entry element |
Memory management (Computer science) |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
Topical term or geographic name entry element |
Distributed shared memory. |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
atomicity |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
barriers |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
busy-waiting |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
conditions |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
locality |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
locking |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
memory models |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
monitors |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
multiprocessor architecture |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
nonblocking algorithms |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
scheduling |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
semaphores |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
synchronization |
653 ## - INDEX TERM--UNCONTROLLED |
Uncontrolled term |
transactional memory |
776 08 - ADDITIONAL PHYSICAL FORM ENTRY |
Relationship information |
Print version: |
International Standard Book Number |
9781608459568 |
830 #0 - SERIES ADDED ENTRY--UNIFORM TITLE |
Uniform title |
Synthesis digital library of engineering and computer science. |
830 #0 - SERIES ADDED ENTRY--UNIFORM TITLE |
Uniform title |
Synthesis lectures in computer architecture ; |
Volume/sequential designation |
# 23. |
International Standard Serial Number |
1935-3243 |
856 42 - ELECTRONIC LOCATION AND ACCESS |
Materials specified |
Abstract with links to resource |
Uniform Resource Identifier |
http://ieeexplore.ieee.org/servlet/opac?bknumber=6813491 |
856 40 - ELECTRONIC LOCATION AND ACCESS |
Materials specified |
Abstract with links to full text |
Uniform Resource Identifier |
http://dx.doi.org/10.2200/S00499ED1V01Y201304CAC023 |