Содержание
- 2. Салат асинхронный Салат "Асинхронный": помиогурдоры,цымайон,ез. Salad "Asynchronous": tomacucumtoes,bersmayonn,aise
- 3. Terminology Concurrency Computation may interleave with other computations Multitasking Device may execute more than one program
- 4. Amdahl law: so we have many CPUs
- 5. Embarrassingly parallel problems Solved mostly by SIMD
- 6. Hardware: Atomic operations Load-link/store-conditional Compare-and-swap
- 7. Hardware: Fences SFENCE LFENCE MFENCE
- 8. Hardware: Non-uniform memory architecture
- 9. Hardware: Hyper Threading
- 10. Hardware: Intel’s Transactional Synchronization Extensions
- 11. Spinlock\Futex\Crit Section\Fast Mutual Exclusion Context of exclusion Reliable exclusion mechanics Inter-process communication Waiting time work (spin\sleep\pump)
- 12. Thread pool pattern
- 13. Reader-writer lock pattern Lock for read (many at a time) Lock for write (one at a
- 14. Event pattern Simple event Autoreset event Countdown event \ rundown protection
- 15. Semaphore
- 16. Double-checked locking
- 17. Striped locking Used in CuncurrentDictionary
- 18. Pulse\Wait
- 19. Producer-consumer synchronization
- 20. Futures and promises
- 21. Futures and promises
- 22. volatile semantics Non-volatile write Volatile write There is no such thing as thread cache. This is
- 23. volatile is not atomic volatile is not atomic volatile is not atomic volatile is not atomic
- 24. Examples of optimizations prevented by volatile semantics Register allocation Out-of-order execution Loop fusion Invariant hoisting Rematerialization
- 25. Memory model Example: .NET memory model Java memory model is base on “happens before” memory model
- 26. Memory model Search for memory model of your platform\language
- 27. Non-blocking algorithms Obstruction-free Lock-free Wait-free
- 28. Lock-free stack: Interlocked Singly Linked List Based on work by Alex Skidanov https://habrahabr.ru/post/174369/
- 29. Lock-free stack: Interlocked Singly Linked List Based on work by Alex Skidanov https://habrahabr.ru/post/174369/ ? There you’ll
- 30. Purity\Functionality Source: http://www.slideshare.net/mariofusco/why-we-cannot-ignore-functional-programming
- 31. Purity\Functionality
- 33. Скачать презентацию