47:45 надеюсь парню сказали, что он что-то неправильно делает. Зачем вообще видео с его стороны, он же ничего не показывает ?
@serj22118 ай бұрын
На х86 если для атомика указать тип relaxed, будут ли добавлены барьеры памяти acqured relize или никаких барьеров памяти не будет?
@user-PZXhgp9wft293 Жыл бұрын
эпично, а можно как-то пройти эти курсы с лабами ???
@Re_murr2 жыл бұрын
Не совсем понятно зачем ядру ждать ответа на посланный им read/invalidate? К тому же его в этом ответе обманывают. Получается что мы просто ждем что сообщение дойдет до invalidate очереди другого процесса, как будто оно может не дойти? Не совсем понятно
@it_cpp542 жыл бұрын
Потоки одного процесса могут исполняться на разных ядрах/цпу ? Если да, то такое ощущение что брокер может выполнять функцию примитива синхронизации.
@maksimus.ssirotkin112411 ай бұрын
Есть ли разница в том что несколько потоков запущенно на одном ядре или на разных, применимо ли это все к потокам на одном ядре?
@Ллаула2 жыл бұрын
Очень интересно! 😊👍👍👍
@ValentinNechayev2 жыл бұрын
Звук у всех лекций очень тихий, сложно слушать. Рекомендую обновить.
@BENDER4886 Жыл бұрын
Возможно, запоздалый вопрос. Меня смущает выражение "команды могут выполняться не последовательно и менять своё положение в коде, если нет барьера". Что это значит выполняться непоследовательно? Это идёт вразрес с лекцией. То есть к примеру у нас есть код: if (a) b = 1; То есть считывание из a может произойти после записи 1 в b? Но ведь в лекции говорилось о том, что команды считываются последовательно, просто в текущий момент времени в кэше может быть значение a не синхронизировано с кэшем другого ядра и поэтому a вернёт неверное значение. То же самое и для b. А что значит "выполняться они будут непоследовательно"? Как это связано со всей этой магией с буферами и кэшем?
@ЛеняБорисов Жыл бұрын
тема просто более сложная, чем рассказал лектор, Реордеринг вполне может выдать эквивалентный код вашему: b=1; if (!a) b=0; если изначально оно было 0, конечно же. Нужно глубоко копать, чтобы разобраться
@BENDER4886 Жыл бұрын
@@ЛеняБорисов да, я как раз и нахожусь в процессе более глубокого копания. Может сможете подсказать какое-нибудь видео, объясняющее эту тему более подробно?
@ЛеняБорисов Жыл бұрын
@@BENDER4886 По С++ не знаю таких видео. Но в книгах по параллельному программированию должна быть инфа об этом
@BENDER4886 Жыл бұрын
@@ЛеняБорисов ок, спасибо, поищу
@Cadovvl2 жыл бұрын
а можно ссылку на статью с табличкой про модели памяти?
@asd1qwe1 Жыл бұрын
Memory Barriers: a Hardware View for Software Hackers Paul E. McKenney Linux Technology Center IBM Beaverton
@Cadovvl Жыл бұрын
@@asd1qwe1 ❤🧡💛💙💜💜🤎🖤🤍
@it_cpp542 жыл бұрын
6:38 продолжает работать. Планировщик кладет спать поток кторый работает с данным кэшом?
@aleksanderaksenov1363 Жыл бұрын
Классная лекция,но если бы найти упорядоченные материалы в электронном виде ,потому как материал интересный но тяжело на слух воспринимать
@Re_murr2 жыл бұрын
Интересно, почему не сделать общий кеш между всеми ядрами? Столько проблем сразу уйдет
@asd1qwe1 Жыл бұрын
а сколько добавится?
@Ллаула2 жыл бұрын
А когда b не равно нулю? Как это происходит? Как это получается? 🙂
@Re_murr2 жыл бұрын
Тут нужен специалист по чтению мыслей ) Задайте вопрос с контекстом, пожалуйста. Возможно я смогу ответить
@Andreyhello Жыл бұрын
Профессор, не томи, покажи пальцем, куда что вставлять.
@svetayoung52772 жыл бұрын
Если я это дольше послушаю, это перестанет звучать как китайский...