The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

GhostRace - атака на механизм спекулятивного выполнения в процессорах Intel, AMD, ARM и IBM, opennews (?), 13-Мрт-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


48. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +4 +/
Сообщение от Аноним (5), 13-Мрт-24, 13:33 
Про принципиально нераспараллеливаемые задачи (а их полно) и про закон Амдала вы, конечон, не слышали. Ну и как программеры параллелят, мы по игрушкам видим.
Ответить | Правка | Наверх | Cообщить модератору

94. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +1 +/
Сообщение от Аноним (-), 14-Мрт-24, 10:58 
Не надо создавать себе принципиально нераспралаллеливаемых задач, и Амдал не будет проблемой.

Насчёт игрушек, те что я видел изнутри реально болт кладут на архитектуру. Они используют ту архитектуру, которой их научил туториал, с которого они вошли в игровое программирование, и даже не задумываются о чём-то ином. Некоторые не читали туториалов, и поэтому у них ещё хуже. Конечно же, я не видел кода всех игрух, и может моя выборка нерепрезентативна, но...

В игре очень много чего параллелизуется, достаточно сделать описание сцены read-only, и обсчитывая изменения за временной тик создавать новое описание сцены взамен старого. При этом можно заодно избавиться от сложной-заморочной кучи, и обойтись двумя стеками, память в которых освобождается ресетом указателя в максимальный адрес стека, а выделяется вычитанием размера структуры от этого указателя.

Люди вламываются в закон Амдала постоянно только потому, что (почти) все библиотеки и языки десятилетями писались исходя из идеи выжать максимум из одного устройства исполняющего код последовательно. И куда не глянь, алгоритмы сжатия, криптография, компиляторы, все они заточены под последовательную работу, а возможность распараллеливания им прибили сбоку гвоздями задним числом, самоотверженно борясь с Амдалом. Искусственно создали себе проблему, героически её преодолели. Это результат болезни, под названием машина тьюринга головного мозга.

Ответить | Правка | Наверх | Cообщить модератору

102. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +/
Сообщение от scriptkiddis (?), 14-Мрт-24, 20:06 
Ухты,а пацаны из stellaris и distant world 2 не в курсе как все просто. Может ты к ним наймешься?
Ответить | Правка | Наверх | Cообщить модератору

113. Скрыто модератором  +/
Сообщение от Аноним (-), 15-Мрт-24, 03:49 
Ответить | Правка | Наверх | Cообщить модератору

117. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +/
Сообщение от Аноним (-), 15-Мрт-24, 15:48 
Нет, не наймусь. Я не знаю, почему игровая индустрия настолько тупо следует устоявшимся практикам, поскольку не работал там, но у меня есть гипотеза.

Кармак, когда создавал Quake, многократно переписывал код, перебирая разные архитектуры, пока оно не заработало. Сегодня тоже придётся переписывать многократно, отрабатывая нюансы подхода, но это потребует гораздо больше человекочасов, один Кармак не справится. Сегодня игры гораздо сложнее и тянут в себя депендансы миллионами строк, и _все_ эти миллионы строк надо довести до состояния, когда они могут выполнятся на многих ядрах. Это дорого. А игровая индустрия, насколько я её вижу, вся заточена на "тяп-ляп и в продакшн". По моим данным (может устаревшим 10 лет назад) в игровой индустрии не так уж и много денег: конкуренции много и далеко не каждый проект окупается, поэтому им не до жиру.

И если я нигде серьёзно не ошибся в оценке ситуации, то если я к ним наймусь учить их как надо писать игры, то пока мы будем отрабатывать подход и переписывать депендансы, они разорятся.

Но ты можешь сам попробовать. Идея держать данные read-only -- древняя идея, функциональные языки этим бредят уже полвека, но сегодня, на фоне увеличения количества ядер, эта идея перестала быть исключительно теоретической. Она очень популярна сегодня. И может быть со временем, игровой индустрии придётся следовать ей, потому что дедовские методы работы с многопоточностью, типа мьютексов и семафоров, не работают. Всё что они позволяют сделать -- это многопоточную программу выполнять на многих ядрах последовательно. И если ты сейчас начнёшь творить, то может лет через десять ты станешь одним из первых специалистов по тому, как надо писать многопоточные игры, и игровые студии будут наперебой предлагать тебе золотые горы, лишь бы ты на них поработал.

Ответить | Правка | К родителю #102 | Наверх | Cообщить модератору

114. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +/
Сообщение от Аноним (5), 15-Мрт-24, 13:57 
Ну вот, казалось бы, простейшая задача — эмуляция какого-нибудь 8086. Да хотя бы Z80. Распараллель-ка её на 4096 ядер. Да хотя бы на два распараллель.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

116. "GhostRace - атака на механизм спекулятивного выполнения в пр..."  +/
Сообщение от Аноним (-), 15-Мрт-24, 15:36 
Машина тьюринга головного мозга... Эмуляция -- это не конечная задача, которая нужна человеку, это инструмент для запуска программ, которые решают задачи, нужные человеку и которые, так получилось, требуют эмуляции для запуска. И если тебе нужно параллелить, то тебе не эмулятор надо параллелить, а исходную программу.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру