LINUX.ORG.RU

Побочный ущерб от Spectre и Meltdown (веб браузеры)

 , ,


1

4

Докладываю, это рип господа

половина портировынных либ для WASM перестала работать, порты SDL/GLFW/всяких аудиолибы и мелкие физикс либы....много всего и конечно же все тесты https://github.com/kripken/emscripten/tree/incoming/tests/pthread

мультитхреадинг отключили в браузере, цитата оттуда https://www.mail-archive.com/emscripten-discuss@googlegroups.com/msg07008.html

Sadly, all major web browsers have disabled SharedArrayBuffer for now as a

mitigation for the Spectre and Meltdown timing attacks.

какже это печально вы не поверите

что с лором нетак почему цитаты сломаны



Последнее исправление: missxu (всего исправлений: 3)

Наказалити!

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

ckotinko ☆☆☆
()

Алсо решение есть это старые добрые сегменты. Правда если они как с мелтдауном не сразу фэйлятся то тогда решения нет. А так включаем режим 32бита, в ldt пихаем сегмент какой надо и все работает

ckotinko ☆☆☆
()
Ответ на: комментарий от Deleted

В следующем поколении интол пофиксит Meltdown, и всё. Spectre если и починят, то в следующем году (Zen 2 и что там у Intel).

anonymous
()
Ответ на: комментарий от anonymous

Значит, будет повод впарить два следующих поколения. Надо позитивнее смотреть на вещи.

Deleted
()
Ответ на: комментарий от tailgunner

Наверное потому что таймером пользуются все, а SharedArrayBuffer только ради демок с уравнениями Навье-Стокса (почему-то на CPU)

vertexua ★★★★★
()

Новые процессоры Intel ускорят Интернет! (c) :)

Aber ★★★★★
()

Так плохо, что даже хорошо. Пусть веб отображает информацию, как было в ламповых 2000-х и даже раньше. Зачем в него пихать невпихуемое?

Вот почти идеальный сайт: http://motherfuckingwebsite.com/ И нет, какая к чёрту сатира? Когда компьютеру, который может быть медиа-центром, запускать сложные текстовые и табличные процессоры, может в играх рисовать отличные картинки, не хватает мощности, чтобы открыть грёбанный новостной сайт, то с этим вебом что-то не так. Что-то совсем не так. Что-то охренеть как пошло не так, и мы докатились до того, когда нам могут удалённо загрузить майнер, рекламу, стопиццот скриптов статистики, то хочется просто выкинуть весь этот современный веб-стек к едрене фене и вернуться на gopher (привет, saahriktu!), который просто доставляет контент.

Хорошо хоть ЛОР всё ещё может работать без скриптов хоть на кофеварке в links'e. Не всё потеряно?

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от tailgunner

Почему нельзя просто загрубить таймер?

Пишут, что на SharedArrayBuffer можно запилить свой прецизионный таймер

annulen ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Хорошо хоть ЛОР всё ещё может работать без скриптов хоть на кофеварке в links'e.

Не совсем: постить могут только зарегистрированные пользователи. Анонимусам выдаёт:

Код проверки защиты от роботов не указан

gag ★★★★★
()

мультитхреадинг отключили в браузере

Это ложь.

Отключили шаредбуферы, а не трединг. Передача владения осталась, треды тоже.

anonymous
()

алсо, вот чего я не понимаю

вот есть у тебя буфер на K байт.

для обращения к нему вместо mov reg, [addr] можно сделать проверку без ветвлений, тупо на арифметических операциях. знак сравнения вытягивается во весь int/long арифметическим сдвигом вправо, далее применяем И на результат сравнения «сверху» и «снизу» и адрес и получаем сегфолт (который мы ловим). и никакого спектра.

const int n = 8*sizeof(long)-1;
long addr;
long upper_limit, lower_limit;

addr = addr & ((addr-upper_limit)&(lower_limit-addr)>>n);
ckotinko ☆☆☆
()
Ответ на: комментарий от anonymous

Я не решаю за всех. Я объясняю почему это плохо. Примерно как активисты FSF объясняют о DRM.

Chaser_Andrey ★★★★★
()

половина портировынных либ для WASM перестала работать, порты SDL/GLFW/всяких аудиолибы и мелкие физикс либы...

Хорошо бы чтобы это всё говнище не работало еще, а то зажрались пропихивать это всё в браузеры

xDShot ★★★★★
()
Ответ на: комментарий от vertexua

Так для анимаций и грубого таймера хватит. Прецизионные таймеры нужны тоже очень мало кому в вебе.

KivApple ★★★★★
()

ЯННП. Сломалось от патчей в ядре?

anonymous
()

с лором нетак почему цитаты сломаны

С ЛОРом всё так.
Цитирую:

С ЛОРом всё так.

По сабжу: WebAssembly никогда не использовал и как-то слегка не понятно, для чего нужно исполнять ассемблерный код в браузере.

Deleted
()
Ответ на: комментарий от Deleted

Зачем вообще исполнять код в браузере?

Для типичных задач вроде фильтров, сортировки таблиц и AJAX можно давно сделать поддержку в браузере, без использования полноценных языков. Только разметка.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от ckotinko

А сделать сброс кэшлайна, если спекуляция по правам обломалась совсем не вариант?

Dark_SavanT ★★★★★
()

половина портировынных либ для WASM

Трагедия-то какая.
javascript.options.wasm=false и до сих пор не встречал ни одного сломанного сайта кроме демок. И шанс встретить в обозримом будущем довольно ничтожен.

wxw ★★★★★
()
Ответ на: комментарий от Deleted

с лором нетак почему цитаты сломаны

С ЛОРом всё так.

Так или не так?
Пробуем скопипастить пример с LORCODE

вложенная

цитата

Так или не так?

По сабжу:...

Это новый виток внедрения сторонней тьюринг полной логики в виде неверифицируемого принимающей стороной байт-кода, в язык разметки после неудавшейся попытки внедрения java-апплетов. Кому нужна информация, неконтролируемая потребителем этой самой информации, - это уже интересный вопрос. Вообщем, пропаганда, жри что дают и тд и тп.

anonymous
()
Ответ на: комментарий от Chaser_Andrey

Комбайны вообще напрягают.

Deleted
()
Ответ на: комментарий от Deleted

для чего нужно исполнять ассемблерный код в браузере

я написал целый ряд демок-тестов сравнение wasm с другими языками/фреймворками, включая джаваскрипт
https://github.com/danilw/cputests (таблицы результатов на тойже странице)

наиболее показательные результаты теста render и render_mini
где джаваскрипт версия показывает результат в 10-100 раз медленнее чем нативный код
и wasm в 2-3 раза медленнее нативного кода

для скорости вот ответ

конкретно в случае в OpenGL/GLES в WASM намного более удобен API чем webgl, для webgl приходися таскать мегабайтные библиотеки типа three.js (на нем сделан проект opengl_basic в джаваскрипте,посмотри код для сравнения с Си кодом и ОпенГЛ вызовами там)

missxu
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.