2015-09-16 2 views
0

Я столкнулся с тем же вопросом C++, что и количество процессоров на кластере HPC, но я понял, что при увеличении количества процессоров время выполнения также увеличилось. Я ожидал значительного снижения времени выполнения. Может ли кто-нибудь пролить свет в этом вопросе?Увеличенное исполнение TIme даже с увеличением количества процессоров, почему?

Ниже приведены мои времена выполнения на # из процессоров

Number of CPUs  Problem size   Time (seconds) 
    1     3000000    15.48 
    2     3000000    18.2 
    4     3000000    21.73 
    8     3000000    40.55 
    16     3000000    60.14 
    32     3000000    98.75 

Мои мысли:

  • Слишком много сообщений увеличилось между процессорами, что приводит к увеличению времени выполнения.
+0

Возможно, это может помочь? [Как слишком много vCPU могут негативно повлиять на производительность] (http://www.gabesvirtualworld.com/how-too-many-vcpus-can-negatively-affect-your-performance/). Также взгляните на это: [Масштабируемость с фиксированным размером проблемы] (http://www.mcs.anl.gov/~itf/dbpp/text/node30.html) –

+1

Является ли ваш код на C++ параллельным? Как вы его подаете? – Gilles

ответ

0

Надеется, что это объясняет:

«Есть два основных фактора, которые влияют на производительность:. Скорость самих процессоров, а скорости их доступа к Memor у В кластере, довольно очевидно, что данный процессор будет иметь самый быстрый доступ к ОЗУ на одном компьютере (узле). Возможно, более удивительно, что подобные проблемы имеют отношение к типичному многоядерному ноутбуку из-за различий в скорости основной памяти и кеша. Следовательно, , хорошая многопроцессорная среда должна позволять контролировать «владение» куском памяти определенным процессором ».

Смежные вопросы