Lock Free Tasarım
Last updated
Last updated
Çok ilginç bir konu daha..
Lock-free programming with modern C++ - Timur Doumler [ACCU 2017] (92dk)
Timur Doumler, video sunumu izledikten sonra listeye güzel videolar ekledim.
Timur, lock free olarak SPSC que tasarladı. Sonra SPMC örneği yaptı. Seyircilerden Frank Birbacher, SPMC uygulamasının multi-thread yapıda çalışamayacağı bir senaryo çizdi. Bu senaryonun temelinde memory ordering dikkate almaması yatıyor. Sadece kodu düşünmek yetmiyor. Donanım davranışını, threadlerin birbirini kesme durumunu, siz çalışırken mevcut değerin ram de değişim durumunu vs düşünmek gerekiyor.
Lock-Free tasarımlar üzerinde çalışmak sıkı bir kafa patlatmayı gerektiriyor. Tabii öncesinde temelleri de anlamalıyız. Hem mutex hem de lock-free yaparak performans karşılaştırması yapmak daha doğru gibi duruyor. Mutexli hali daha iyi performans sergileyebiliyormuş. Mutexler de C++11 ile birlikte geliştirilmiş. İşletim sistemini call etmeden kullanılabilen kütüphaneler var gibi görünüyor.
Timur sunumundan aşağıdaki videoları izlemenin önemli olduğu sonucunu da çıkardım.
Atomic’s memory orders, what for? - Frank Birbacher [ACCU 2017] (88dk)
CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I" (60dk)
CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part II" (72dk)
C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2 (82dk)
C++ and Beyond 2012: Herb Sutter - atomic Weapons 2 of 2 (93dk)