|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
mayton Я просто хотел баб-зайчику показать как глубоко можно углубиться в задачу и где параллелизм полезен и где лишняя коннкуренция вредна. параллелизм - ок, конкуренция - ниок. Ясно. Понятно. Хотя при перемножении матриц в A и B тоже могут писать, ну да ладно... В итоге весь контейнер блочится мьютексом на чтение И на запись? Или самый идеал - множество контейнеров вместо одного? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 14:33 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчикВ итоге весь контейнер блочится мьютексом на чтение И на запись? Контейнер не блочится. Блочится мутекс. А чем занимается его владелец - сугубо его личное дело. бабушкин зайчик Или самый идеал - множество контейнеров вместо одного? Идеал - отсутствие конкуренции. Как он достигается - сугубо всё равно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 14:50 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, в смысле контейнер не блочится, если никто к нему доступа не имеет, кроме хозяина? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 15:38 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Дословно. Перечитай моё сообщение ещё раз. Любой может доступиться к контейнеру если не будет предварительно пытаться заблокировать мутекс, наплевав на мнение его хозяина. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 16:18 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик В итоге весь контейнер блочится мьютексом на чтение И на запись? Или самый идеал - множество контейнеров вместо одного? Не везет тебе с архитектурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 09:21 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
критикуешь - предлагай ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 10:12 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик критикуешь - предлагай вам выше давали ссылку что любое блокирование это компромисс. Вы её не читали. Компромиссы не очертили и не согласились "что-то терять при установке блокировки". Итог - пустой тред о погоде. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 10:28 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
выше ты мне дал ссылку на блокировки в БД нахрена мне читать очередную статью про ACID и блокировки транзакций? я с БД работаю уже 10+ лет, я разве про БД тут спрашиваю? ты когда начнёшь по теме что-то говорить, а не умного из себя строить? выцепил первую попавшую ссылку из гугла со словом "блокировки" и тычет мне её уйди отсюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 12:33 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчикя с БД работаю уже 10+ лет Если за это время до тебя не дошло, что блокировки и их применение везде одинаковое - забей, займись чем-нибудь попроще. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 12:37 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик выше ты мне дал ссылку на блокировки в БД смотрим: 22388622 авторТак чем же придется пожертвовать при использовании стратегии высокого параллелизма? Параллелизм это не про БД.)) бабушкин зайчик ты когда начнёшь по теме что-то говорить, а не умного из себя строить? А кто тебя в теме поддержал? ))) Буквально все в теме сказали: "Борис ты не прав". Вот твои слова: бабушкин зайчик В итоге весь контейнер блочится мьютексом на чтение И на запись? Какой ВЕСЬ контейнер Карл? бабушкин зайчик Или самый идеал - множество контейнеров вместо одного? ИДЕАЛ - ВЫСОКИЙ ПАРАЛЛЕЛИЗМ И ОТСУТСТВИЕ БЛОКИРОВОК. ДОШЛО? По архитектуре у тебя двойка - нет идеала в архитектуре. Иди в школу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 12:45 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov бабушкин зайчикя с БД работаю уже 10+ лет Если за это время до тебя не дошло, что блокировки и их применение везде одинаковое - забей, займись чем-нибудь попроще. +1 Можно кодировать успешно. А можно программировать. Вот во втором случае и решаешь каждый абзац кода с компромиссами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 12:46 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик выше ты мне дал ссылку на блокировки в БД нахрена мне читать очередную статью про ACID и блокировки транзакций? я с БД работаю уже 10+ лет, я разве про БД тут спрашиваю? Почитай про NoSQL, весь этот зоопарк недоБД родился чтобы ACID обойти. Еще Теорема CAP . Может какие мысли появятся как их идеи применить в твоей задаче. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 14:16 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
С пессиместичной блокировкой вроде все разобрались. Блочим. Читаем-пишем. Разблокируем обратно. Всё уныло и понятно. С оптимистичной что? Есть моё наивное предположение что она будет дешевле но только при условии что читателей - статистически будет больше. Пропорцию я могу предложить пареттовскую. На 20% писателей которые бьют по блокировке - будет 80% читателей которые тоже ее бьют но контейнер при этом не меняют. Я не могу придумать алгоритм или какой-то стресс-тест чтобы явно показать преимущества но на ум приходит Convays-Life на двумерном поле. Потоки (штук 4-16) читают и пишут состояние ячеек. Причем по алгоритму конвея надо читать 8 соседей чтобы установить свою одну ячейку. Мне почему-то кажется что Жизнь Конвея будет эффективнее работать при оптимистичных блокировках. И если сердитый зайчик реализует оптимистик-режим то из сердитого он может стать нормальным зайчиком. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 17:38 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Какой ВЕСЬ контейнер Карл? вот этот: Dimitry Sibiryakov бабушкин зайчикпоэтому мне по 5 раз приходится спрашивать, как же правильно с контейнером работать конкурентно Ну ок, раз ты хочешь абсолютного и простого ответа, получи: с контейнером надо работать в эксклюзивном режиме, под мутексом и никак иначе. нафиг я тебя читаю вообще :закрытьлицоладошкой: уходи говорю. Dimitry Sibiryakov бабушкин зайчикя с БД работаю уже 10+ лет Если за это время до тебя не дошло, что блокировки и их применение везде одинаковое - забей, займись чем-нибудь попроще. а ты вообще в показаниях путаешься, тебя спрашивают про контейнеры, но ты отмазываешь БД, которая "не твоя проблема" Dimitry Sibiryakov бабушкин зайчикЯ тебе описал реальный пример, как ты его без mutex решать хочешь? Заявлю "это проблема СУБД, не моя" и вообще mutex использовать не буду по причине, описанной выше. не будет он mutex использовать... или только mutex будет использовать... FastCGI туда приплёл... ты же даже не вникаешь в вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:00 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Dima T бабушкин зайчик выше ты мне дал ссылку на блокировки в БД нахрена мне читать очередную статью про ACID и блокировки транзакций? я с БД работаю уже 10+ лет, я разве про БД тут спрашиваю? Почитай про NoSQL, весь этот зоопарк недоБД родился чтобы ACID обойти. Еще Теорема CAP . Может какие мысли появятся как их идеи применить в твоей задаче. вообще-то я смотрю в сторону CQRS (щас вышепроцитированные товарищи совсем потеряются) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:01 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик Dima T пропущено... Почитай про NoSQL, весь этот зоопарк недоБД родился чтобы ACID обойти. Еще Теорема CAP . Может какие мысли появятся как их идеи применить в твоей задаче. вообще-то я смотрю в сторону CQRS (щас вышепроцитированные товарищи совсем потеряются) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:08 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик PetroNotC Sharp Какой ВЕСЬ контейнер Карл? вот этот: Dimitry Sibiryakov пропущено... Ну ок, раз ты хочешь абсолютного и простого ответа, получи: с контейнером надо работать в эксклюзивном режиме, под мутексом и никак иначе. нафиг я тебя читаю вообще :закрытьлицоладошкой: уходи говорю. Dimitry Sibiryakov пропущено... Если за это время до тебя не дошло, что блокировки и их применение везде одинаковое - забей, займись чем-нибудь попроще. а ты вообще в показаниях путаешься, тебя спрашивают про контейнеры, но ты отмазываешь БД, которая "не твоя проблема" Dimitry Sibiryakov пропущено... Заявлю "это проблема СУБД, не моя" и вообще mutex использовать не буду по причине, описанной выше. не будет он mutex использовать... или только mutex будет использовать... FastCGI туда приплёл... ты же даже не вникаешь в вопрос. ... Зачем слушаю... ... Ты не вникаешь... ... Отмазываешь... Ты точно инженер? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:12 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
mayton, Снимаю шляпу героическим попыткам повернуть топик к ТЗ или коду. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:13 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик mayton Я просто хотел баб-зайчику показать как глубоко можно углубиться в задачу и где параллелизм полезен и где лишняя коннкуренция вредна. параллелизм - ок, конкуренция - ниок. Ясно. Понятно. Хотя при перемножении матриц в A и B тоже могут писать, ну да ладно... В итоге весь контейнер блочится мьютексом на чтение И на запись? Или самый идеал - множество контейнеров вместо одного? В данном случае вообще ничего не надо блочить, это и есть идеал распараллеливания, просто раздать потокам задания кто какой элемент результата считает и готово. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:47 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Dima T, Совершенно верно. Это раздать потокам работу. Там подтянется позже менеджер потоков, пул потоков,... А мембер мыслит узко в терминах "расшарить контейнер" ака "глобальная переменная". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 19:48 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
mayton wroteС *оптимистичной* что? Есть моё наивное предположение что она будет дешевле но только при условии что читателей - статистически будет больше. Вопрос не в количестве, вопрос в качестве. Если зайчиков "контейнер" это std::vector, а читатели достают один его элемент по индексу, то накладные расходы на оптимистичную блокировку превысят таковые на пессимистичную при любом количестве читателей. У Жизни есть неочевидная особенность: новое состояние поля должно складываться в новое поле, а старое состояние только читается. Поэтому как и в случае перемножения матриц никакие блокировки не нужны от слова "совсем" (при условии статичности целевого поля). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 20:09 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
еще пару постов, и mvcc будет изобретен в очередной раз повторно, после первого изобретения в 1978 году. Но там вполне допускается и наоборот. Новое значение состояния пишется в старое поле, а старое значение уходит в новую историю состояний. Как показывает Oracle, на живом собственном примере - тоже вполне удачный вариант (попробуй обгони). Говорят, что любая из известных к настоящему моменту, и используемых в бд схем обслуживания concurrency, в комбинации с параллельностью поступающих запросов, масштабируется в весьма ограниченном диапазоне конкурирующих запросов. Кто-то лет 15-20 назад моделировал для классических disk oriented систем, что в любом случае, в районе 1000 процессов, какие схемы ни катай, возникает гарантированный stop the world. Просто у некоторых схем он возникает раньше, а других позже, какие-то третьи скатываются плавнее к состоянию непроходимости. Что интересно, по какому-то совершенно случайному совпадению, число ядер в современных серверных процессорах (~64 физических) практически совпадает с максимумом пропускной способности произвольной схемы обеспечения concurrency, которая в тогда была оценена где-то в 128 конкурирующих процессов для любой схемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 20:48 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Dima T В данном случае вообще ничего не надо блочить, это и есть идеал распараллеливания, просто раздать потокам задания кто какой элемент результата считает и готово. Dimitry Sibiryakov Поэтому как и в случае перемножения матриц никакие блокировки не нужны от слова "совсем" (при условии статичности целевого поля). если там нет никаких потоков (которые пишут в A/B), то какой интерес вообще в этой задаче? Что там решать то, и что она делает в теме с mutex? Многопоточно сложил всё в раздельные строки (массивы) для C и собрал матрицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 20:54 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
бабушкин зайчик Dima T В данном случае вообще ничего не надо блочить, это и есть идеал распараллеливания, просто раздать потокам задания кто какой элемент результата считает и готово. Dimitry Sibiryakov Поэтому как и в случае перемножения матриц никакие блокировки не нужны от слова "совсем" (при условии статичности целевого поля). если там нет никаких потоков (которые пишут в A/B), то какой интерес вообще в этой задаче? Что там решать то, и что она делает в теме с mutex? Многопоточно сложил всё в раздельные строки (массивы) для C и собрал матрицу. То контейнеры, то запросы, то http server 22389971 Mayton тебе доказал что конкуренция и блокировка Г... а параллелизм здорово. Ты же споришь)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 21:47 |
|
Ускорить умножение квадратных матриц (продолжение темы с mutex)
|
|||
---|---|---|---|
#18+
Может Конвей - неудачный пример? Давайте численные методы. Кстати даже сам факт того что мы не можем придумать hiload задачу c интенсивным использованием разделяемых переменных говорит о том что сама постановка .. слишком натянута что-ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 23:10 |
|
|
start [/forum/topic.php?fid=57&startmsg=40107747&tid=2017148]: |
0ms |
get settings: |
18ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
651ms |
get tp. blocked users: |
1ms |
others: | 347ms |
total: | 1082ms |
0 / 0 |