[Moscow.pm] Темы для докладов
Анатолий Гришаев
0body0 на rambler.ru
Вт Фев 10 04:48:30 PST 2015
10.02.2015 15:17, Михаил Монашёв пишет:
> Здравствуйте, Анатолий.
>
>> 3) Программы в которых несколько потоков делают одну работу просто
>> сложнее, чем там где туже работу делает один поток, хотя бы из-за
>> необходимости синхронизации.
>> Пример: перемножение матрицы.
> А какая нужна синхронизация при перемножении матриц? У каждого
> процесса свой кусок одной из перемножаемых матриц и по этому куску он
> бегает. Т.е. данные заранее поделены на равные части и не надо ничего
> синхронизировать.
>
1) Для того, чтобы дождаться когда все потоки закончат работу
2) В реальной задаче еще данные можно загрузить/выгрузить а это тоже
можно делать параллельно
3) Нужно разбить на подзадачи чтобы числа не попадали на одну страницу
кэша у разных процов(иначе кэш сбрасывается и core duo становиться i486)
4) Если разбить на слишком больше куски, то какие-то процессы начинают
простаивать
5) А если слишком маленькие, то теряется время на переключение задач.
6) Матриц может быть несколько и нужно считать в определенном порядке.
Подробная информация о списке рассылки Moscow-pm