Добро пожаловать в параллельный мир. Часть 5: Граница на замке

Настоящая статья является прямым продолжением предыдущей, поэтому, не растекаясь мыслью по древу, предлагаю сразу же перейти к тому, на чём мы остановились в четвёртой части. Если вы не читали предыдущей части, то я всячески рекомендую её прочесть. В процессе написания данной статья я подразумевал, что читатель уже знает всё то, что было написано в предыдущей, кроме того, в этой статье будут неоднократные отсылки к статье предыдущей. [Ещё]

Добро пожаловать в параллельный мир. Часть 4: Порядки и отношения

Не прошло и 3-х лет с последней статьи в цикле, как я решился на написание обещанной четвёртой. Все мы знаем, что обещанного ждут три года, поэтому я, безусловно, выдержал марку. В настоящей статье речь пойдёт об атомарных объектах и операциях над ними. Какой-то материал будет частично повторять уже сказанное в 3-й части, но это не потому, что мне писать не о чем, а потому, что эти важные сведения должны, по моему мнению, быть сведены в одном месте. Более того, я надеюсь, что в этот раз я смогу донести все моменты более понятно, чем сделал это 3 года назад. [Ещё]

Барьеры памяти

В предыдущей статье мы рассмотрели простейшую архитектуру современной многопроцессорной системы. Рассматривая оную, мы столкнулись с понятием барьеров памяти, которые в общих чертах и описали. Чего явно недоставало в предыдущей статье, так это подробностей, касательно барьеров памяти. Что за “оптимизирующий сущности”, что на самом деле делает барьер, какие типы барьеров существуют, кроме тех, что были упомянуты? На все эти вопросы настоящая статья и призвана ответить. [Ещё]

Взаимоотношения с памятью. Мультипроцессор

Продолжая тему, начатую в предыдущей статье, в настоящей статье мы рассмотрим взаимодействие уже много-процессорной архитектуры с памятью. Чтобы немного сузить сферу обсуждения, под много-процессорной моделью мы будем понимать несколько ядер(core) на одном кристалле. Таким образом мы не будем рассматривать системы, в которых установлены несколько физических процессоров(ядра тоже есть физические процессоры, просто термины подобраны не очень удачно). о [Ещё]

Обзор книги The Art of Multiprocessor Programming

Книга написана в 2012 году, двумя авторами – Ниром Шавитом(Nir Shavit) и Морисом Херлихи(Maurice Herlihy). Как я уже упоминал ранее, книг, посвящённых многопроцессорной разработке, крайне мало и The Art of Multiprocessor Programming(TAMP), несомненно, является выдающимся экземпляром в области програ... [Ещё]

Обзор книги C++ Concurrency in Action: Practical Multithreading

Данная книга написана Энтони Вильямсом(Anthony Williams) в начале 2012 года. Энтони Вильямс человек в написании книг новый, насколько мне известно это его первая и единственная книга. Мой выбор пал на неё по весьма простой причине – книг по многопоточности днём с огнём не сыщешь, а уже по новому ста... [Ещё]