<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: cluster communication problem</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7284.html</link>
    <description>Доброго времени суток! Подскажите пожалуйста хорошую идею по решению следующей задачи. Есть кластер многоядерных машин под ОС Linux, на нодах которого работает некая прикладная программа (в виде n ее копий по числу доступных на данной ноде потоков). Даная программа обеспечивает параллельные вычисления по shared memory в пределах одной физической машины. Кроме того, на каждой ноде работает одна копия другой программы (сетевой интерфейс) для обмена данными между физическими машинами и запуска задач на данной многопоточной ноде посредством shared memory. Таким образом, все данные, которые обрабатываться копиями прикладных программ проходят через сетевой интерфейс с/на центральную ноду кластера. Проблема в том, что программа сетевого интерфейса потребляет ресурсы наравне с прикладными программами не выполняя сравнительно много полезной работы, а применение функции sleep() сильно тормозит всю ноду по причине ожидания нею новых/отгрузки старых данных. Как правильно организовать включение/выключение программы сетево</description>

<item>
    <title>cluster communication problem (ghost_in_machine)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7284.html#4</link>
    <pubDate>Fri, 05 Sep 2008 14:16:43 GMT</pubDate>
    <description>&amp;gt;А почему MPI нельзя? &lt;br&gt;&lt;br&gt;Во-первых, всем приятного возвращения из отпуска. )&lt;br&gt;Во-вторых, проблему в треде я решил (ИМХО!) приемлемо &amp;#8211; UDP сокеты + обработчик из вот этой темы http://www.opennet.ru/openforum/vsluhforumID9/7497.html на SIGIO.&lt;br&gt;В-третьих, почему не MPI. MPI можно, но мне не нравиться несколько его свойств (сам MPI не пользовал, только читал документацию, потому поправите, если что):&lt;br&gt;1. MPI запрашивает данные, нужные для продолжения расчета, в момент, когда они уже нужны алгоритму. В моих задачах (биомедицинское моделирование) есть возможность предсказывать, какие данные понадобятся дальше, и, таким образом, избегать простоев потоков в ожидании их доставки, да и саму доставку можно оптимизировать как по времени, так и по топологии сети (последнее впрочем, скорее мечты). Хотя эту часть работы можно переложить на приложение, но ее реализация по затратам усилий сопоставима с разработкой простенькой специализированной программной платформы для кластерных вычислений (виртуальный процессор, стек</description>
</item>

<item>
    <title>cluster communication problem (Alex)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7284.html#3</link>
    <pubDate>Fri, 05 Sep 2008 10:46:41 GMT</pubDate>
    <description>А почему MPI нельзя?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>cluster communication problem (ghost_in_machine)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7284.html#2</link>
    <pubDate>Thu, 03 Apr 2008 07:37:18 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Есть способ выключить программу до появления данных в сокете или &lt;br&gt;&amp;gt;&amp;gt;изменению семафора, но как организовать реакцию на них одновременно. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Например, два процесса (или потока), один читает из shared memory по событию &lt;br&gt;&amp;gt;на семафоре и пишет в сокет, другой читает из сокета по &lt;br&gt;&amp;gt;мере прихода данных (select/poll) и пишет в shared memory. &lt;br&gt;&lt;br&gt;Решение не очень удобное, надо выполнять по факту двойную работу. Но все равно спасибо за совет.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>cluster communication problem (Michelnok)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7284.html#1</link>
    <pubDate>Wed, 02 Apr 2008 13:37:45 GMT</pubDate>
    <description>&amp;gt;Есть способ выключить программу до появления данных в сокете или &lt;br&gt;&amp;gt;изменению семафора, но как организовать реакцию на них одновременно. &lt;br&gt;&lt;br&gt;Например, два процесса (или потока), один читает из shared memory по событию на семафоре и пишет в сокет, другой читает из сокета по мере прихода данных (select/poll) и пишет в shared memory.&lt;br&gt;</description>
</item>

</channel>
</rss>
