Теория и практика параллельных вычислений

         

Результаты вычислительных экспериментов


Рассмотрим результаты вычислительных экспериментов, выполненных для оценки эффективности приведенного выше параллельного алгоритма умножения матрицы на вектор. Кроме того, используем полученные результаты для сравнения теоретических оценок и экспериментальных показателей времени вычислений и проверим тем самым точность полученных аналитических соотношений. Эксперименты проводились на вычислительном кластере Нижегородского университета на базе процессоров Intel Xeon 4 EM64T, 3000 МГц и сети Gigabit Ethernet под управлением операционной системы Microsoft Windows Server 2003 Standard x64 Edition и системы управления кластером Microsoft Compute Cluster Server (см. п. 1.2.3).

Определение параметров теоретических зависимостей (величин ?, w, , ?) осуществлялось следующим образом. Для оценки длительности ? базовой скалярной операции проводилось решение задачи умножения матрицы на вектор при помощи последовательного алгоритма и полученное таким образом время вычислений делилось на общее количество выполненных операций – в результате подобных экспериментов для величины ? было получено значение 1,93 нсек. Эксперименты, выполненные для определения параметров сети передачи данных, показали значения латентности и пропускной способности ? соответственно 47 мкс и 53,29 Мбайт/с. Все вычисления производились над числовыми значениями типа double, т.е. величина w равна 8 байт.

Результаты вычислительных экспериментов приведены в таблице 6.1. Эксперименты проводились с использованием двух, четырех и восьми процессоров. Времена выполнения алгоритмов указаны в секундах.

Таблица 6.1. Результаты вычислительных экспериментов для параллельного алгоритма умножения матрицы на вектор при ленточной схеме разделения данных по строкам

Размер матрицыПоследовательный алгоритмПараллельный алгоритм2 процессора4 процессора8 процессоровВремяУскорениеВремяУскорениеВремяУскорение
10000,00410,00211,87980,00172,40890,01750,2333
20000,0160,00841,88430,00473,33880,00324,9443
30000,0310,01851,67000,00973,17780,00595,1952
40000,0620,03811,62630,01883,28380,02442,5329
50000,110,05741,91560,03143,49930,01507,3216

Результаты вычислительных экспериментов


Теория и практика параллельных вычислений



         

Результаты вычислительных экспериментов


Вычислительные эксперименты для оценки эффективности параллельного алгоритма умножения матрицы на вектор при разбиении данных по столбцам проводились при условиях, указанных в п. 6.5.5. Результаты вычислительных экспериментов приведены в таблице 6.3.

Таблица 6.3. Результаты вычислительных экспериментов по исследованию параллельного алгоритма умножения матрицы на вектор, основанного на разбиении матрицы по столбцам

Размер матрицыПоследовательный алгоритмПараллельный алгоритм2 процессора4 процессора8 процессоровВремяУскорениеВремяУскорениеВремяУскорение
10000,00410,00221,83520,00153,15380,00084,9409
20000,0160,00851,87990,00463,42460,00295,4682
30000,0310,0191,63150,00953,24130,00555,5456
40000,0620,03311,86790,01683,67140,00906,8599
50000,110,05182,12280,02654,13610,01368,0580

Сравнение экспериментального времени

выполнения эксперимента и времени Tp, вычисленного по соотношениям (6.14), (6.15), представлено в таблице 6.4 и на рис. 6.6 и 6.7. Теоретическое время вычисляется согласно (6.14), а теоретическое время – в соответствии с (6.15).


Рис. 6.6.  График зависимости теоретического и экспериментального времени выполнения параллельного алгоритма на четырех процессорах от объема исходных данных (ленточное разбиение матрицы по столбцам)

Таблица 6.4. Сравнение экспериментального и теоретического времени выполнения параллельного алгоритма умножения матрицы на вектор, основанного на разбиении матрицы по столбцам

Размер матрицы2 процессора4 процессора8 процессоров
10000,00220,00210,00210,00130,00130,00140,00080,00110,0015
20000,00850,00820,00800,00460,00440,00440,00290,00270,0031
30000,0190,01770,01770,00950,00940,00940,00550,00540,0056
40000,03310,03130,03130,01680,01630,01620,00900,00900,0091
50000,05180,04870,04870,02650,02510,02510,01360,01350,0136


Рис. 6.7.  Зависимость ускорения от количества процессоров при выполнении параллельного алгоритма умножения матрицы на вектор (ленточное разбиение матрицы по столбцам) для разных размеров матриц



Содержание раздела






Результаты вычислительных экспериментов


Теория и практика параллельных вычислений

         

Результаты вычислительных экспериментов


Вычислительные эксперименты для оценки эффективности параллельного алгоритма проводились при тех же условиях, что и ранее выполненные расчеты (см. п. 6.5.5). Результаты экспериментов приведены в таблице 6.5. Вычисления проводились с использованием четырех и девяти процессоров.

Сравнение экспериментального времени

выполнения эксперимента и теоретического времени T

p, вычисленного в соответствии с выражением (6.19), представлено в таблице 6.5 и на рис. 6.10.

Таблица 6.5. Результаты вычислительных экспериментов по исследованию параллельного алгоритма умножения матрицы на вектор при блочном разделении данных

Размер матрицПоследовательный алгоритмПараллельный алгоритм4 процессора9 процессоровВремяУскорениеВремяУскорение
10000,00410,00281,42600,00113,7998
20000,0160,00991,61270,00953,2614
30000,0310,02141,44410,00953,2614
40000,0620,03811,62540,01753,5420
50000,110,05831,88600,02634,1755


Рис. 6.9.  Зависимость ускорения от количества процессоров при выполнении параллельного алгоритма умножения матрицы на вектор (блочное разбиение матрицы) для разных размеров матриц

Таблица 6.5. Сравнение экспериментального и теоретического времени выполнения параллельного алгоритма умножения матрицы на вектор при блочном разделении данных

Размер матрицПоследовательный алгоритмПараллельный алгоритм
10000,00250,00280,00120,0011
20000,00950,00990,00430,0042
30000,02120,02140,00950,0095
40000,03760,03810,01680,0175
50000,05860,05830,02620,0263


Рис. 6.10.  График зависимости экспериментального и теоретического времени проведения эксперимента на четырех процессорах от объема исходных данных (блочное разбиение матрицы)



Содержание раздела






Содержание раздела