| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Распределенная обработка матриц |
| Автор: Strider007 25.2.2011, 14:58 |
| Всем доброго времени суток. Хотелось бы узнать Ваше мнение и советы по поводу следующего задания: Необходимо реализовать систему распределенной обработки матриц. То есть предполагается наличие некоторого клиента, с помощью которого эти матрицы будут загружаться/выгружаться, а также выполняться действия с матрицами. Для организации распределенного вычисления необходимо создание нескольких узлов, на которых будут производиться вычисления. Причем каждый узел хранит свою часть матрицы и с производит вычисления только с ней, а потом передает результаты клиенту. А теперь главный вопрос - как по Вашему мнению надо разбивать исходные матрицы, загружаемые в клиент -> на несколько узлов для вычисления? При условии, что мы точно знаем количество узлов перед началом вычисления и это количество на протяжении всего вычисления неизменно. Спасибо. |
| Автор: bsa 25.2.2011, 16:19 |
| какого размера матрицы и какие операции над ними выполнять собираешься? |
| Автор: VictorTsaregorodtsev 25.2.2011, 16:27 |
| Зависит от тех действий, которые предполагается производить с матрицами. Теории дофига - и как по распараллеливанию разных методов, так и по переведению операций с матрицами в "блочный" вид (в последнем случае имеется в виду и такая работа с кусками матрицы, чтобы эти куски помещались в кэш - поэтому идеи по распараллеливанию могут расти и из задачи оптимального кэширования данных и результатов). Распараллеливающего софта тоже много - см. на библиотеки LAPACK, BLAS. Т.е. спрашивайте ссылки на более-менее формальную литературу с теорией и сравнительным анализом разных методов при разных условиях. Если советовать другой форум по этому вопросы - то насчет чисто программистских не знаю, а из широкопрофильных можно посоветовать ixbt, раздел Процессоры (программисты-вычислители предпочитают тусоваться там, а не в разделе по Программированию этого форума). И будьте готовы гораздо более детально описывать ситуацию (начиная от задачи - от нужных операций с матрицами, размеров матриц, точности хранения данных, предполагаемой распределенной системы,...). |