Show more

@iron_bug @mva Синхронизация памяти есть, если есть разделяемая память. Если разделяемой памяти нет, то синхронизации памяти нет. В своё время топовых DSP такое практиковалось, каждый проц имеет собственную память, а весь обмен через шустрые каналы связи точка-точка. Это предполагалось соединять в большую прямоугольную сетку.

@iron_bug @mva Lockless это тоже вид синхронизации (т. е. синхронизация есть, ожиданий нет). Но опять же Lockless базируется на атомарных операциях, которые просто реализованы в железе (необходимый минимум — неделимый read-write общей памяти). Это то же самое заметание под ковёр — пользуемся общей памятью, надеемся, что это быстро и безглючно (на самом деле нет).

@iron_bug @mva Если мы говорим о результате, который зависит от всех данных, а не просто несколько независимых расчётов, синхронизировать всё равно придётся, просто в некоторых случаях это тривиально.
Хардварные баги в ПК-подобных системах от того, что проблему пытаются «замести под ковёр» железом, делая вид, что память между ядрами полностью синхронна. Попытка переложить синхронизацию на программистов вызовет их закономерный вой. Ведь общая память это так удобно! (sarcasm)

@mva Есть ещё одна вещь, которая мешает многопоточности — синхронизация. Она будет отъедать время, и даже не постоянное его количество, как в в законе Амдала, а возрастающее с числом потоков. Так что распараллеливание задачи на миллион потоков может занять даже больше времени, чем на десять (в законе Амдала этого не увидишь, там время в любом случае уменьшится при большем распарралеливании).
В идеальном случае время на синхронизацию будет расти логарифмически, в худшем — может линейно или даже ещё хуже, не знаю. Это даже не так влияет на закон Амдала, как на закон Густавсона-Барриса. Если его дополнить расходами на синхронизацию, то ситуация может стать печальной. Итак…
Пусть \(n\) — число процессоров, \(s\) — доля последовательно выполняемых операций, \(t\) — доля времени на синхронизацию \(e = 2,7...\) процессоров (это абстракция, число легко привести к времени на синхронизацию каждых 2, 3, 4 и т. п. процессоров), тогда доля времени на синхронизацию между \(n\) процессорами будет:
\[t_s = t\log n;\]
время на параллельные вычисления:
\[p = 1 - s - t\log n.\]
Как результат, итоговый объём вычислений:
\[S_n = n\left(1-s-t\log n\right) + s\].
Допустим что условные затраты на синхронизацию составляют 0,1, доля последовательных вычислений тоже 0,1. Тогда, например
n = 10 — Sn = 8,3
n = 100 — Sn = 72
n = 1000 — Sn = 605
n = 10 000 — Sn = 4895 (уже не так радужно, потеряли половину производительности)
n = 100 000 — Sn = 37 425
n = 1 000 000 — Sn = 259 225 (уже потеряли три четверти)
n = 10 000 000 — Sn = 1 440 952
n = 100 000 000 — Sn = 2 896 590 (всего 2,8% времени процессоры заняты делом!)
и ещё маленький шажочек…
n = 150 000 000 — Sn = 1 303 906 (производительность вообще упала!)
Не надо думать, что синхронизация это надуманная проблема — она включает в себя много всего: создание процесса, пересылку данных между процессорами, синхронный запуск, ожидание процессами других процессов, и в массивно-параллельных системах — те самые суперкомпьютеры, представляет отдельную проблему, решаемую кучей разных способов.

@a1batross @drq Про превьюхи я чёт подумал, что это про уменьшенные картинки в тексте. :)

@a1batross @drq Ещё бы по мелочи — предпросмотр (если форматирование тегами, а не визивиг), а также удобный просмотр больших постов, веток комментариев (но это уже на инстансе читающего).
Вообще проблема форков в том, что они будут в меньшинстве, а поди найди ещё сервер с нужной функциональностью. Мне вот повезло найти инстанс с огромным лимитом и рендером формул, но это практически случайность.

@drq Не помешали бы и макро-блоговые сервера (ну где можно писать большие посты с подразделами, выделенем, картинками по месту и т. п.), на френдике например. Френдика правда выглядит недопиленной местами или странной.

@grainloom Sometimes i need even smaller characters. Would be good if it support pulling the shift key with a nail.

@stalker_tk @drsebro Они буквально и точно отвечали на заданный вопрос, не задумываясь о том, насколько он полезен. И в том то и дело, что в примере ни одной догадки и предположения — исключительно логически достоверные выводы из минимально достаточного количества информации. Единственное допущение — что остальные математики действуют логически точно.

@drsebro В том то и дело, что есть.
Когда отвечает первый, он знает только про себя.
Если он не хочет пива, он ответит: «нет», т. к. без него точно не всем. Если, хочет, он говорит: «не знаю», т. к. не знает, хотят ли остальные. Второй по ответу первого понимает, что тот хочет пива, иначе ответ был бы: «нет». В остальном у него ситуация аналогичная, потому что он не знает про третьего. Третий повторяет рассуждение второго и аналогично догадывается о втором, поэтому его определён — «да», если хотят все, «нет» — если не хочет он.

@drsebro Три математика входят в бар. Бармен:
— Всем пива?
Первый:
— Не знаю.
Второй:
— Не знаю.
Третий:
— Да.

vovanium boosted

@iron_bug @mva Производителям-то пофиг, арм там, или не арм, главное, чтобы коры и тулчейны были доступны. Если нвидия огородит арм, то риск-5 может стать привлекательнее. Так то и арм далеко не сразу вылез — его долго поджимали 8-битки с одной стороны и х86 с другой.

@iron_bug @mva ARM это RISC-ядро. RISC-V это тоже RISC-ядро. Что делают производители по лицензии ARM-а (SOC, SOM, да хоть чёрта лысого), это их личное дело.

@iron_bug @mva разъясните для дураков плиз

@mva Может это шанс для RISC-V?

@a1batross @zloygik За шариковую мышку держался до последнего. Первые оптические были глючные — курсор мог скакнуть куда угодно, причём как в движении, так и просто когда мышь лежала неподвижно (да и сейчас иногда такое бывает). А уж если под мышь попадал волос, вообще могла начать с ума сходить. У шариковой мышки был ещё один малозаметный бонус — ей можно было относительно легко рисовать строго вертикальные и горизонтальные линии, т. к. движение и остановка каждого координатного ролика ощущались.

@freemo No opinion is obviously the funniest vegetable.

@cauf@mstdn.social Как лом чермета же.

Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.