Таким образом, новая конфигурация программного обеспечения:
· Операционная система: Ubuntu Linux v. 9.10 kernel 2.6.31-14
· Механизм коммуникации: внутренние механизмы связи PVM, основанные на стандартном транспортном протоколе.
· Интерфейс управления кластером: консоль PVM 3.4.5, GNU bash, version 4.0.33(1), SSH, CSSH, XPVM 1.2.5 .
· Компилятор: GCC (GNU Compiler Collection) v. 4.1.1
Для того, чтобы писать программы для исполнения в параллельной вычислительной машиной следует использовать стандартные вызовы библиотеки pvm3.h, необходимо указывать дополнительный набор ключей для осуществления процесса компиляции ПО. Компиляция ПО проводилась в Qt-creator. Дополнительный набор ключей указывался в *.pro файле проекта: QMAKE_LIBS += -lpvm3 -lrt .
Обязательным условием для гетерогенных установок является компиляция исходных кодов ПО для каждой системы в отдельности, в нашем случае LINUX64. Далее следует разослать на все узлы кластера исполняемый файл, т.е. скопировать его в каталог ~/pvm3/bin/LINUX64 на каждом узле.
1.1. Тестирование новой конфигурации вычислительной системы.
В этом разделе результаты теста новой конфигурации будут сравниваться с результатами теста предыдущей конфигурации, для выявления прироста или ухудшения производительности, в зависимости от тех или иных параметров.
1.1.1. Нагрузочное тестирование сети.
Сначала выполняется нагрузочного тестирования сети, как самого слабого звена в структуре кластера. Для этого был реализован параллельный алгоритм решения квадратного уравнения, коэффициентами которого являются случайные вещественные числа. Исходный текст программы был дополнен необходимыми изменениями, связанными с параметрами работы PVM, и представлен в Приложении к данной работе.
Для выявления участков работы кластера предлагается несколько коэффициентов. Kp - отношение количества расчетов на узле к количеству посылок данных по сети. Kt - отношение суммарного процессорного времени к астрономическому времени работы главного процесса.
Коэффициент Kp – не меняется при данном тестировании по отношению к предыдущему. Коэффициент Kt используется для анализа прироста производительности кластера с учетом новой конфигурации системы и новыми условиями работы тестовой программы. Под новыми условиями работы понимается следующее: в старой конфигурации кластера процессы на разных узлах кластера предавали сообщения друг другу обычным способом, через посредника – демон pvmd, в новой конфигурации кластера программа скомпилирована таким образом, чтобы механизм коммуникаций между задачами работал на прямую, минуя демон pvmd, т.е. каждая задача самостоятельно предает нужные данные другим задачам и соответственно делают также. Таким образом, достигается значительный выигрыш в производительности всей кластерной системы при расчете на ней сильно связанной задачи, требующей частой синхронизации процессов. Об этом свидетельствуют следующие факторы:
1) Скорость пересылки информации по сети увеличивается с 1,5 МБайт/с (10 Мбит/c) до 7,5 Мбайт/с (60 Мбит/с), данный показатель был зафиксирован в Системном мониторе Ubuntu, где отражается статистика загрузки сети.
2) В новой конфигурации коэффициент Kt значительно увеличивается в процентном отношении к старой конфигурации, о чем свидетельствуют приведенный ниже таблицы результатов тестирования и диаграммы, динамики прироста (рис.2) и общей динамики данного коэффициента (рис.3)
| Обычная связь процессов старая конфигурация | |||||||||||
|   Количество процессов  |    Посылок по сети, B  |    Расчетов на узле, С  |    Время работы главного процесса (астрономическое),D  |    Суммарное процессорное время кластера, Е  |    Kp = log(C/B)  |    Kt1 = E/D  |  |||||
|   18  |    1,00E+00  |    1,00E+09  |    99,10054  |    1186,258957  |    9  |    11,97026  |  |||||
|   18  |    1,00E+01  |    1,00E+08  |    112,6868  |    1058,926276  |    7  |    9,397075  |  |||||
|   18  |    1,00E+02  |    1,00E+07  |    107,7564  |    1038,060469  |    5  |    9,633397  |  |||||
|   18  |    1,00E+03  |    1,00E+06  |    113,0704  |    1033,268205  |    3  |    9,13827  |  |||||
|   18  |    1,00E+04  |    1,00E+05  |    144,8674  |    1038,608148  |    1  |    7,16937  |  |||||
|   18  |    1,00E+05  |    1,00E+04  |    341,0926  |    1115,252644  |    -1  |    3,269648  |  |||||
|   18  |    1,00E+06  |    1,00E+03  |    1592,878  |    1791,672389  |    -3  |    1,124802  |  |||||
|   18  |    1,00E+07  |    1,00E+02  |    14682,29  |    8547,911557  |    -5  |    0,582192  |  |||||
|   18  |    1,00E+08  |    1,00E+01  |    144365,1  |    74368,11773  |    -7  |    0,515139  |  |||||
| Прямая связь процессов новая конфигурация | |||||||||||
|   Количество процессов  |    Посылок по сети, B  |    Расчетов на узле, С  |    Время работы главного процесса (астрономическое),D  |    Суммарное процессорное время кластера, Е  |    Kp = log(C/B)  |    Kt2 = E/D  |  |||||
|   18  |    1  |    1000000000  |    119,7327823  |    1107,298489  |    9  |    9,248081  |  |||||
|   18  |    10  |    100000000  |    139,0967096  |    1058,176217  |    7  |    7,607486  |  |||||
|   18  |    100  |    10000000  |    127,1325296  |    1018,450738  |    5  |    8,010937  |  |||||
|   18  |    1000  |    1000000  |    147,4517699  |    1092,258965  |    3  |    7,407568  |  |||||
|   18  |    10000  |    100000  |    212,6682274  |    1212,215327  |    1  |    5,70003  |  |||||
|   18  |    100000  |    10000  |    387,8083071  |    1385,465934  |    -1  |    3,572554  |  |||||
|   18  |    1000000  |    1000  |    1702,352634  |    3398,62797  |    -3  |    1,99643  |  |||||
|   18  |    10000000  |    100  |    15483,53345  |    22804,68602  |    -5  |    1,472835  |  |||||
|   18  |    100000000  |    10  |    114135,2611  |    165196,0456  |    -7  |    1,447371  |  |||||
Обобщение результатов таблинчых значений:
|   №  |    Количество процессов  |    Посылок по сети, B  |    Расчетов на узле, С  |    Kt2/Kt1  |    Динамика Kt, %  |  
|   1  |    18  |    1  |    1000000000  |    77%  |    -23  |  
|   2  |    18  |    10  |    100000000  |    81%  |    -19  |  
|   3  |    18  |    100  |    10000000  |    83%  |    -17  |  
|   4  |    18  |    1000  |    1000000  |    81%  |    -19  |  
|   5  |    18  |    10000  |    100000  |    80%  |    -20  |  
|   6  |    18  |    100000  |    10000  |    109%  |    9  |  
|   7  |    18  |    1000000  |    1000  |    177%  |    77  |  
|   8  |    18  |    10000000  |    100  |    253%  |    153  |  
|   9  |    18  |    100000000  |    10  |    281%  |    181  |