Re[19]: Java Parallel computing: multicore, Erlang, Scala
От: remark Россия http://www.1024cores.net/
Дата: 28.11.08 11:31
Оценка: -1
Здравствуйте, Gaperton, Вы писали:

R>>Если у нас будет паттерн запрос-ответ (клиент-сервер), то всё будет намного хуже — будет ещё блокирование клиента, отправка ответа, доставание ответа, разблокирование клиента.


G>Все, хватит нести чушь и полоскать людям мозг. Надоело. Вот есть факт. Программы на MPI, основанные на передаче сообщений, в большинстве случаев быстрее, чем программы под OpenMP, который построен на разделяемой памяти. Даже на одной машине. Это наблюдаемый факт. А твои слова — это бла-бла-бла. Вот обгони для начала на разделяемой памяти умножение MPI-ное матриц на многоядерном проце, как ты говоришь, "на два порядка", и тогда будешь говорить мне, что там сказать честнее. Умнные все стали, сил нет, языками чесать.


G>http://www.lri.fr/~gk/QUID/papers/SPAA2003.pdf

G>We have demonstrated that it is absolutely not obvious
G>to get better performance with OpenMP codes compared to
G>MPI ones on shared memory machines.

G>А на нескольких машинах, к сведению, OpenMP не просто отстает, он С.О.С.Е.Т. Именно так. Причина в том, что модель на сообщениях — асинхронна, и поэтому хорошо толерантна к высоким задержкам. Почему и дает почти линейную масштабируемость.


Это уже становится интереснее — хотя бы какие-то объяснения с твоей стороны. Обязательно прочитаю статью.
НО, во-первых, что бы показать, что у разделяемой памяти нет преимуществ, ты должен приводить ситуации благоприятные для разделяемой памяти, если окажется, что таких ситуаций не удаётся найти или по всех них разделяемая память проигрывает, тогда возможно у неё действительно нет преимуществ.
Приводить же просто какие-то ситуации и показывать на них, что обмен сообщениями оказывается быстрее — бессмысленно. Это никак не показывает, что у разделяемой памяти нет преимуществ.

Во-вторых, что бросается в глаза, они тестируют на неких IBM SP3 Night Hawk II и SGI Origin 3800 — если не ошибаюсь, то это всё датировано 2000 годом и ранее. Это машины прошлого поколения, во-вторых, очень специфические. Я ориентируюсь и говорю про машины, которые использует 99% из нас сейчас — либо однопроцессорные многоядерные, либо несколько-процессорные многоядерные. Опять же, если на тех машинах обмен сообщениями оказывается быстрее, то это никак не говорит в пользу того, что у разделяемой памяти не преимуществ вообще (ну точнее говорит, но очень-очень слабо).

Когда прочитаю статью прокомментирую по-сути статьи.

Да, на экзотических распределенных машинах для супер-вычислений разделяемая память С.О.С.Е.Т. С этим никто не спорит. Там просто нет разделяемой памяти. Но это, в принципе, и мало кому интересно. Сколько процентов из нас разрабатывает ПО для распределенных кластеров?

Для того, что бы показать, что у разделяемой памяти ЕСТЬ преимущества мне НЕ надо обгонять MPI умножение матриц. И уж точно не надо это делать ВНАЧАЛЕ.
Я надеюсь, что это ты просто специально пытаешь внести некоторые логические ошибки в свои доказательства, что бы доказать свою точку зрения.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.