А вот и... вторая лекция!
#техно_и_хардкор
https://www.youtube.com/watch?v=Zyy_nhsrMuA
На лекции поговорим о:
- процессах & потоках;
- атомарных операциях:
- race condition & data race;
- spinlock;
- блокирующей синхронизации:
- mutex, condvar, semaphore;
- futex syscall;
- о... языке Go!
- кэшах в многопоточных программых: MESI
GitHub курса: https://github.com/masyagin1998/hp-systems-course
В коде всё ещё много ошибок 😁
ТПМС - отличный курс от Романа Липовского из МФТИ по Concurrency. Глубже ещё ничего не встречал. Нам будут актуальны лекции:
- ТПМС / Лекция 2 / Взаимное исключение
- ТПМС / Семинар 3 / Futex, Memory Orders
Как устроен PAUSE в процессоре:
https://c9x.me/x86/html/file_module_x86_id_232.html
man7: mutex, condvar, semaphore
https://man7.org/linux/man-pages/man3/pthread_mutex_lock.3.html
https://man7.org/linux/man-pages/man3/pthread_cond_wait.3.html
https://man7.org/linux/man-pages/man3/sem_init.3.html
https://man7.org/linux/man-pages/man2/futex.2.html
futex:
https://github.com/torvalds/linux/blob/master/kernel/futex/waitwake.c
Гуляем по коду Go (не пугайтесь, знать наизусть не надо, я тоже не знаю):
https://github.com/golang/go/blob/master/src/sync/mutex.go
https://github.com/golang/go/blob/master/src/internal/sync/mutex.go
https://github.com/golang/go/tree/master/src/internal/race
https://github.com/golang/go/blob/d37624881f60f79dfba4ef81661024bee9dfc2d3/src/runtime/lock_futex.go
MESI:
https://lwn.net/Articles/252125/
https://www.youtube.com/watch?v=3NmyqUmvlbQ&list=PL4_hYwCyhAva37lNnoMuBcKRELso5nvBm&index=7
https://www.scss.tcd.ie/jeremy.jones/vivio/caches/MESIHelp.htm
P.S. Даже если Вы не системный программист, эти материалы могут быть для Вас очень полезны. Не так давно я собесился в пару известных HFT/MFT (успешно), и на скринингах/первых собесах помимо вопросов о памяти (1 лекция) было много вопросов и по многопоточной синхронизации.
С уважением,
Михаил Масягин
Post #15
423
P(hD)ython #техно_и_хардкор Во вступлении я сказал, что много где преподаю, и это чистая правда 😋 Недавно я провёл пилотный запуск моего курса «Практика высокопроизводительных систем», читаемого студентам последнего курса бакалавриата и первого курса магистратуры Назарбаев…YouTube Практика Высокопроизводительных Систем: Примитивы Синхронизации (лекция 02) Практика Высокопроизводительных Систем: Примитивы Синхронизации (лекция 02) Вторая лекция из курса "Практика Высокопроизводительных Систем", читаемого студентам последнего курса бакалавриата и первого курса магистратуры Назарбаев Университета совместно с…
- 🔥 12
- 👍 5
- ❤ 2