Books & Videos

Table of Contents

Chapter: Introduction

Introduction And Course Overview

12m 13s

About The Author

04m 17s

How To Access Your Working Files

01m 15s

Chapter: Memory Architecture And Performance Impact

Overview

12m 32s

Overview (Continued)

11m 36s

Access Patterns And Impact On Algorithms And Data Structure Design

14m 0s

Many Threads (Multi-Core Access)

12m 45s

Chapter: Measuring Time In Programs

Real Time And CPU Time

13m 34s

TSC Timers

09m 25s

Profiling Tools

09m 8s

Chapter: Threads

Overview

07m 36s

Threads In C++

14m 38s

Avoiding Data Races And Its Cost

11m 54s

Chapter: How Threads Interact With Memory

Concurrency And Memory

14m 17s

Data Sharing

06m 51s

False Data Sharing

15m 40s

Chapter: Synchronization Of Memory Accesses

Locks (Mutexes) Part - 1

12m 3s

Locks (Mutexes) Part - 2

12m 3s

Locks (Spinlocks)

17m 11s

Lock-Free Synchronization And Other Options - Part 1

11m 15s

Lock-Free Synchronization And Other Options - Part 2

10m 27s

Chapter: Memory Models

Memory Model

10m 1s

C++ Memory Model

06m 47s

Memory Order

07m 35s

Memory Order Guarantees In C++

06m 29s

Chapter: Memory Barriers

Need For Memory Barriers

18m 5s

Memory Barriers

10m 7s

Synchronization, Revisited - Part 1

07m 41s

Synchronization, Revisited - Part 2

19m 19s

Chapter: Lock-Based And Lock-Free Programming

Efficient Concurrency; Types Of Concurrent Programs

12m 0s

Problems With Locks Part - 1

10m 12s

Problems With Locks Part - 2

06m 54s

Thread-Safe Data Structures Part - 1

14m 55s

Thread-Safe Data Structures Part - 2

06m 54s

Introduction To Lock-Free Programming

17m 48s

Chapter: Lock-Free Data Structures

Shared Pointer Part - 1

10m 49s

Shared Pointer Part - 2

09m 2s

Shared Pointer Part - 3

10m 33s

Shared Pointer Part - 4

10m 25s

Shared Pointer Part - 5

09m 50s

Shared Pointer Part - 6

15m 42s

Node-Based Containers Part - 1 (List)

10m 39s

Node-Based Containers Part - 2 (List)

08m 27s

Node-Based Containers Part - 3 (List)

11m 22s

Node-Based Containers Part - 4 (List)

11m 15s

Node-Based Containers Part - 5 (List)

09m 44s

Node-Based Containers Part - 6 (List)

06m 33s

Node-Based Containers Part - 7 (List)

07m 55s

Sequential Containers Part - 1 (Queue)

10m 8s

Sequential Containers Part - 2 (Queue)

10m 9s

Sequential Containers Part - 3 (Queue)

13m 19s

Sequential Containers Part - 4 (Queue)

09m 37s

Sequential Containers Part - 5 (Queue)

09m 55s

Sequential Containers Part - 6 (Queue)

13m 36s

Chapter: Performance In Real Life

Practical Performance

16m 3s

Factors Affecting Performance Part -1

09m 13s

Factors Affecting Performance Part -2

12m 29s

Chapter: Concurrent Data Structures In Depth

Concurrency, Performance, And Order Guarantees Part - 1

08m 19s

Concurrency, Performance, And Order Guarantees Part - 2

09m 15s

Toward More General Data Structures

09m 53s

Chapter: Conclusion

Conclusions And Where To Go From Here

14m 13s