📖
Genel Bilgiler
  • Genel
  • Yazılım Teknolojiileri
    • SOLID
    • Mimariler ve Mimari Paternleri
    • MVC, MVP, MVVM
    • Mikroservis Yaklaşımı
    • DDD
    • Nesne Yönelimli Programlama
    • Hangi Programlama Dili Hangi Framework Öğrenilmeli?
    • Programlama Dilleri Üzerine tecrübeler
    • Microsoft .NET Teknolojileri
    • Microsoft .NET CORE 3.x ile Katmanlı Mimari Tasarımı
    • Test
    • Hangi Geliştirme ve Deployment Ortamı (Windows vs Linux)
    • Veri Tabanları ve Veri Tabanı Mimarileri
    • Asysnc/Awake
    • Oyun Geliştirme
      • WebAssembly vs Asm.ts
      • Unity ve Devler Ligi
      • Godot Oyun Motoru
      • Three.js ve Alternetif Javascript 3D Kütüphaneler/Framework' ler
    • Aspect Oriented Programming
  • Sanallaştırma
    • Sanallaştırma (Hypervisor ve Container & Docker)
    • Kubernetes
  • Yazılım Kültürleri
    • DevOps
    • Jenkins
    • SAST, DAST, SCA, Pentest
    • Glusterfs
    • Yazılım Üzerine Tartışmalar/Sohbetler
    • TUBITAK BILGEM YTE
  • Metro/Tren Sinyalizasyonu
  • Yapay Zeka (Artificial Intelligence)
  • Embedded Realtime Linux
  • Süper Bilgisayarlar Neden Süperler
  • Lock Free Tasarım
  • Git ile Çalışmak
  • CPU, APU, PPU, NPU, TPU ...
  • CANBUS
  • MERHABA (HELLO)
Powered by GitBook
On this page
  • 2019

Was this helpful?

Lock Free Tasarım

PreviousSüper Bilgisayarlar Neden SüperlerNextGit ile Çalışmak

Last updated 5 years ago

Was this helpful?

Ç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)

2019