2012-05-10 2 views
1

Я работаю в среде с распределенной памятью. Моя задача - имитировать использование частиц, привязанных пружинами больших 3D-объектов, деля их на более мелкие куски, и каждая часть моделируется другим компьютером. Я использую физический движок третьей стороны для достижения имитации. Проблема, с которой я сталкиваюсь, заключается в том, как передавать информацию о частицах в конечности, где объект разделен. Эта информация необходима для вычисления взаимодействующих сил частиц. Линия на изображении показывает, где был сделан разрез. Поскольку количество частиц o велико, коммуникационные накладные расходы также будут большими. Есть ли хороший способ передачи такой информации или есть способ передать другое значение, которое помогает мне определить необходимую мне информацию? Буду признателен за любую оказанную помощь. Благодарственные exampleПомощь в помощи распределенной физике

PS: на частице информации я имею в виду новые позиции, из которых можно вычислить результирующую силу для применения на частицах смоделированных в локальной машине

ответ

1

«Большой» означает много вещей. Здесь количество точек с передаваемыми данными может быть «большим» в том, что оно намного больше одного, но если вы говорите миллион частиц в решетке и делят его между 4-мя процессорами (скажем), разрезая его на квадраты, вы сообщаете только 500 частиц по каждой границе; большой по сравнению с одной, но очень небольшой по сравнению с 1 000 000.

Библиотека, очень часто используемая для этих видов вычислений с распределенной памятью (которая немного отличается от распределенных вычислений, которая предлагает узлы, разбросанные по всему Интернету, такого рода вычисления, в которых задействованы жестко связанные элементы, обычно лучше всего делать с рядом ближайших компьютеров в лаборатории или в кластере) является MPI. Такая схема общения очень распространена и называется «обмен ореолом» или «обмен памяти» или «обмен с ghostzone» или некоторая комбинация; вы должны найти множество примеров таких вещей, выполнив поиск этих терминов. (На этом сайте есть несколько вопросов по этой теме, но они, как правило, сосредоточены на очень конкретных вопросах реализации).

+0

Прошу прощения, я использовал неправильный тег, да, я работаю с функцией MPI, но я никогда не слышал о тех терминах, которые вы упомянули ранее. Спасибо, я сделаю поиск и посмотрю, что я могу найти – Ray

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