blocking synchronization
play

blocking synchronization Yang Xu Outline Disadvantages of locking - PowerPoint PPT Presentation

Atomic variables and non- blocking synchronization Yang Xu Outline Disadvantages of locking Hardware support for concurrency Atomic variable classes Non-blocking algorithms Disadvantages of locking A lot of overhead


  1. Atomic variables and non- blocking synchronization Yang Xu

  2. Outline • Disadvantages of locking • Hardware support for concurrency • Atomic variable classes • Non-blocking algorithms

  3. Disadvantages of locking • A lot of overhead • Especially, under contention • Delay • High-priority thread waits for low-priority thread • … Conclusion: Locking is a heavyweight mechanism, but modern processors offer a finer-grained technique.

  4. Compare and swap • Locking – pessimistic • CAS – optimistic • “I think V should have the value A; • If it does, put B there, • Otherwise don’t change it but tell me I was wrong.”

  5. A non-blocking counter

  6. CAS support in the JVM: AtomicXXX in j ava.util.concurrent.atomic

  7. Atomics as “better volatiles”

  8. A pseudorandom number generator High contention Moderate contention

  9. A non-blocking stack • node = a value + a link to the next node • push method: install a new node on the top of stack - succeed - fail -> try again

  10. A non-blocking linked list • 2 pointers refer to the tail node: - the next pointer of the current last element - the tail pointer • Should be updated atomically • compareAndSet • tail.next is null or non-null

  11. Atomic field updater • Use a volatile reference • Weaker than regular atomic class

  12. The ABA problem • “Is the value of V still A?” - > “Has the value of V changed since I last observed it to be A?” • Solutions: - let the garbage collector mange link nodes - a reference -> a reference + a version number

  13. Summary Non-blocking algorithms: • Better scalability and liveness • Difficult to design and implement

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend