Я запускаю анализ анализа кривой доходности termstrc в R за 10 лет ежедневных данных о ценах на облигации для 5 разных стран. Это очень интенсивно вычисляется, он занимает 3200 секунд в каждой стране по стандартным приложениям, и если я использую foreach и% dopar% (с doSNOW) на моем Mac OS 2009 i7, используя все 4 ядра (8 с гиперпотоком), я получаю это до 850 секунд. Мне нужно повторять этот анализ каждый раз, когда я добавляю страну (для расчета межстрановых спрэдов), и у меня есть 19 стран, в которых еще много кривых доходности кредитов. Принятое время начинает выглядеть как серьезная проблема. Кстати, рассматриваемая функция termstrc анализируется в R, но записывается в C.
Теперь мы небольшая компания из 12 человек (с ограниченным бюджетом), все оснащены 8 ГБ оперативной памяти, i7 ПК, из которых по меньшей мере половина используется для задач повседневной обработки текста/электронной почты/просмотра, т.е. используя максимум 5% от их производительности. Все они подключены к сети с использованием гигабитного (но не 10-гигабитного) ethernet.
Можно ли скопировать некоторые из этих недоиспользуемых компьютеров с использованием MPI и запустить мой R-анализ по ним? Будет ли затронута сеть? Каждая итерация функции анализа кривой доходности занимает около 1,2 секунды, поэтому я предполагаю, что если гранулярность параллельной обработки должна передать целую функциональную итерацию в каждый кластер node, 1,2 секунды должны быть довольно большими по сравнению с задержкой гигабитного Ethernet
Можно ли это сделать? Как? И какое влияние окажут на моих коллег. Могут ли они продолжать читать свои письма, пока я обкладываю налоги на их машины?
Я отмечаю, что Open MPI, похоже, больше не поддерживает Windows, а MPICH. Что бы вы использовали, если таковые имеются?
Возможно, запустите виртуальную машину Ubuntu на каждом ПК?