+++Ну мне просто не нравятся неточные цитаты. Они сбивают с толку.
Да, мне тоже. но к сожалению дословно все трудно помнить...
++++В программах есть параллельная часть и последовательная. Ускорение в зависимости от числа узлов определяется законом Амдала. В показаной задаче последовательная часть равна 0... Такие задачи, по моему, это тоже контекст параллельных вычислений.
дело не только в остуствии последовательной части, точнее не столько. в предложеных примерах отсутсвуют межузловые обмены в процессе вычислений и следовательно решение таких задач на системах с распределенной памятью заключается не в распараллеливании а в диспечерезации поэтому о таких задачах принято говорить как о распределенных. Собственно это все подробно изложенно в уже упомянутой мною книге.
+++А тест EP (построеный на этой задаче), на мой взгляд -- параллельная программа, широко используется для оценки верхней границы производительности паралелльных машин.
Для оценки верхней границы производительности используется нехитрая формула:
кол.процессоров Х кол.оп.за такт Х тактовая частота
называется пиковая производительность
++++Еще пример. При сильных межузловых взаимодействиях. Узлы могут часть циклов работать в холостую. И разница между мощностью узлов будет "не видна" из за пропускной способностью и/или латентностью сети.
это если в качестве сети использовать Езернет, если на системе используется "правильная" сеть, любая неоднородность сразу вылезает, поскольку узким местом становится не латентность и проп.спос. сети а рассинхронизация вычислений из-за неоднородности узлов.
+++Определение производительности с-мы вопрос комплексный. И в наибольшей степени, на мой взгляд, зависит от задачи.
Да! Безусловно!
++++ Да, кстати, что Вы понимаете под рантаймом. И приведите пример крайне неэффективного выполнения. У меня обычно либо выполняется с той скоростью которой должно, либо я просто не могу запустить программу X на платформе Y.
возможно я неточно выразился...но если скажем взять семейство разных пентиумов, то очевидно что код полученный на старшем экземпляре бинарно не совместим с младшим и работать на нем вообще скорее всего не будет. Совместимость вверх ес-но есть, но код собранный на младшем из процессоре будет на старшем работать не эффективно в сило того что не поддерживает новых оптимизаций.
ИМХО тоже справедливо и для процессоров разных производителей совместимых по командам но несовместимых по оптимизациям. Чтобы код работал эффективно необходим свой рантайм, ну например свой ATLAS, а лучше BLAS-GOTO. Что-то в там роде...
+++Это мой личный стиль общения.
ОК. буду иметь в виду.
на всякий случай, все написанное выше мое ИМХО
Олег.