Е
Евгений Козлов пишет про IT
@careerunderhood2.7K подп.
1.6Kпросмотров
60.4%от подписчиков
17 января 2026 г.
questionScore: 1.8K
Concurrency, Synchronization and Consistency. Пост № 24. Подводим итоги. Что будет дальше? Пришло время подводить итоги, так как мы рассмотрели основные вызовы и челленджи: - Начали от самых основ связанных с железом и тем как устроена ЭВМ. - Углубились в детали работы процессора, рассмотрели как он эволюционировал со временем, какие трюки и идеи реализовывали инженеры для ускорения. - Рассмотрели цену каждой такой идеи, ее влияние на программиста и код. - Рассмотрели инструменты и примитивы позволяющие программистам писать корректные программы и обходить особенности разных моделей памяти. - Ну и напоследок рассмотрели концептуальные проблемы порождаемые многозадачным программированием. Могу сказать точно - написание цикла постов меня здорово прокачало. Я увидел на практике, что многие вещи которые упоминаются в кабанчике Клеппмана или распределенных системах Таненбаума присущи не только когда у тебя 2 отдельных ЭВМ, но и когда у тебя 2 или более ядер процессора в рамках одной машины. О чем буду писать дальше? С точки зрения хардов мне теперь интересно погрузиться в неблокирующую синхронизацию. Для меня пока это по большей части модное слово которым описывают что-то очень сложное и клевое. Хочется разобраться без прикрас, как обстоят дела на самом деле (вангую что там будет много про атомики). А дальше на этом багаже можно: - Вернуться к Distributed Systems, "подняться повыше по уровню абстракции"🙂 - На примере какой нибудь OLTP СУБД показать за счет чего работает магия WAL / MVCC / ACID. Если у вас есть идеи что еще можно рассмотреть, не стесняйтесь, пишите в ЛС или комментарии. ——— Спасибо вам, что читали. Буду рад если оставите комментарий с обратной связью по материалам. Мб чего-то не хватило или недостаточно подробно разобрал. Ну и по традиции - материалы пригодившиеся во время написания постов: Hardware 🔥Symmetric Multi-Processing. Linux Kernel Teaching - лекция по ядру Linux объясняющая SMP и то как он реализован в ядре. 🔥Explain the Von Neumann Architecture of A Computer - очень простым языком про архитектуру Фон-Неймана. Cache Coherency 🔥Myths Programmers Believe about CPU Caches - еще раз о том почему важно знать как устроен процессор. 🔥 A Primer on Cache Coherence Protocols - подробный гайд про протоколы когерентности. Mutexes / Spinlocks / Semaphores / RWMutex 🔥Building a Tiny Mutex - название говорит само за себя. 🔥Basics of Futexes - про те самые "быстрые" мьютексы на уровне ядра Linux поверх которых пишутся мьютексы в языках программирования. 🔥Choosing RWMutex + Linear scalable read-write lock - два гайда дающих полную картину по плюсам и минусам RWMutex. Memory Models 🔥Memory Model and Synchronization Primitive Part 1: Memory Barrier + Part 2: Memory Model 🔥Memory Models by Russ Cox (Go tech lead at Google) False Sharing 🔥[Golang] Memory-wall problem - статья про канонический пример демонстрирующий false sharing (обход матрицы) 📖 Оглавление
1.6K
просмотров
2925
символов
Да
эмодзи
Нет
медиа

Другие посты @careerunderhood

Все посты канала →
Concurrency, Synchronization and Consistency. Пост № 24. Под — @careerunderhood | PostSniper