[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