Уровень реализации

The serial-parallel summation method, scalability: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[досмотренная версия][досмотренная версия]
 
Строка 1: Строка 1:
 
{{level-i}}
 
{{level-i}}
  
Основные авторы описания: [[Участник:Teplov|А.М.Теплов]] (раздел [[#Масштабируемость алгоритма и его реализации|3]]).
+
Основные авторы описания: [[Участник:Teplov|А.М.Теплов]] (раздел [[#Масштабируемость алгоритма и его реализации|3]])
  
 
= Ссылки =
 
= Ссылки =
  
[http://git.algowiki-project.org/Teplov/Scalability/blob/master/arraysum/arraysum.c The algorithm implemented in C].
+
[https://gitlab.srcc.msu.ru/alex-teplov/Scalability/blob/master/arraysum/arraysum.c Исследованная реализация алгоритма на языке C].
  
 
= Локальность данных и вычислений =
 
= Локальность данных и вычислений =
Строка 15: Строка 15:
 
== Масштабируемость реализации алгоритма ==
 
== Масштабируемость реализации алгоритма ==
  
[[file:Масштабируемость производительность ссумирования элементов массива.png|thumb|center|700px|Figure 1. Parallel implementation of summing the array elements, maximum performance.]]
+
[[file:Масштабируемость производительность ссумирования элементов массива.png|thumb|center|700px|Рисунок 1. Параллельная реализация Суммирования элементов массива Максимальная производительность. ]]
[[file:Масштабируемость суммирования элементов массива Эффективность.png|thumb|center|700px|Figure 2. Parallel implementation of summing the array elements, maximum efficiency.]]
+
[[file:Масштабируемость суммирования элементов массива Эффективность.png|thumb|center|700px|Рисунок 2. Параллельная реализация суммирования элементов массива Максимальная эффективность. ]]
 
+
Набор изменяемых параметров запуска реализации алгоритма и границы значений параметров алгоритма:  
Variable parameters for the launch of the algorithm implementation and the limits of parameter variations:  
+
* число процессоров [2 : 256]
* number of processors [2 : 256]
+
* размер вектора [80000000:320000000]
* vector size [80000000:320000000]
+
Эффективность выполнения реализации алгоритма
 
+
* Минимальная эффективность 0,00004%
Efficiency of the algorithm implementation
+
* Максимальная эффективность 0,0037%
* Minimum efficiency 0,00004%
+
Оценка масштабируемости
*       Maximum efficiency 0,0037%  
+
* По числу процессов: -9.432e-07 – при увеличении числа процессов эффективность уменьшается на рассмотренной области изменений параметров запуска, однако, в целом уменьшение не интенсивное. Это объясняется тем, что при увеличении числа процессов  сильно возрастает доля накладных расходов на организацию схемы сдваивания суммирования, однако, так как общая эффективность составляет доли процента интенсивность сильная только при переходе от работы процессов в рамках одного физического узла к использованию коммуникационной сети. В остальной области рассмотренных значений параметров запуска эффективность близка к 0 в силу того, что на каждый процесс приходится чрезвычайно малая доля вычислений. Больше полезного времени уходит на организацию работы процессов.
 
+
* По размеру задачи: 1.881e-06 – при увеличении размера задачи эффективность в целом очень незначительно увеличивается по рассматриваемой области. Это объясняется общим увеличением вычислительной сложности задачи в связи с увеличением размерности. Однако вычислительная сложность алгоритма <math>(N-1)</math>не позволяет существенно увеличить долю времени затрачиваемую на вычисления.
Scalability assessment
+
* По двум направлениям: -1.423e-07 – при рассмотрении увеличения как вычислительной сложности, так и числа процессов по всей рассмотренной области значений эффективность уменьшается, однако интенсивность уменьшения эффективности небольшая. В совокупности с тем фактом, что разница между максимальной и минимальной эффективностью на рассмотренной области значений параметров несущественная говорит о том, что на поверхности присутствуют области с очень интенсивным изменением эффективности на участке 2-16 процессов, но очень малые по площади. На остальной поверхности изменения эффективности незначительны и находятся на приблизительно одном и том же уровне.
* By the number of processes: -9.432e-07 – as the number of processes increases, the efficiency (within the given range for the launch parameters) is reduced. But overall, the reduction is not very intensive. This is explained by the fact that an increase in the number of processors entails a strong increase of the costs for the organization of the doubling scheme for summation. However, the overall efficiency is only fractions of percentage; consequently, the intensity is only strong when, instead of the processes within a single physical node, we consider the use of a communication network. For the other values of the launch parameters, the efficiency is close to zero because an extremely small fraction of the overall calculation falls on each single process. Most of the productive time is taken by the organization of the processes .
 
* By the size of a problem: 1.881e-06 – as the size of the problem increases, the overall efficiency (within the region under discussion) increases very slightly. This is explained by an overall increase in the computational complexity of the problem due to increasing dimensionality. However, the computational complexity of the algorithm, equal to <math>(N-1)</math>, does not allow to significantly increase the portion of time spent on calculations.
 
* Along two directions: -1.423e-07 – Suppose that both the computational complexity and the number of processes increase over the entire region under discussion. Then the efficiency decreases; however, the reduction in efficiency is insignificant. For the parameters under discussion, the difference between the maximum and minimum efficiency is negligible. This says that there are regions on this surface with a very intensive change of efficiency for 2 to 16 processes; however, the area of these regions is very small. On the rest of the surface, the changes in efficiency are minor and have about the same level.
 
  
 
= Динамические характеристики и эффективность реализации алгоритма =
 
= Динамические характеристики и эффективность реализации алгоритма =

Текущая версия на 15:06, 8 июля 2022


Основные авторы описания: А.М.Теплов (раздел 3)

1 Ссылки

Исследованная реализация алгоритма на языке C.

2 Локальность данных и вычислений

2.1 Локальность реализации алгоритма

2.1.1 Структура обращений в память и качественная оценка локальности

2.1.2 Количественная оценка локальности

3 Масштабируемость алгоритма и его реализации

3.1 Масштабируемость алгоритма

3.2 Масштабируемость реализации алгоритма

Рисунок 1. Параллельная реализация Суммирования элементов массива Максимальная производительность.
Рисунок 2. Параллельная реализация суммирования элементов массива Максимальная эффективность.

Набор изменяемых параметров запуска реализации алгоритма и границы значений параметров алгоритма:

  • число процессоров [2 : 256]
  • размер вектора [80000000:320000000]

Эффективность выполнения реализации алгоритма

  • Минимальная эффективность 0,00004%
  • Максимальная эффективность 0,0037%

Оценка масштабируемости

  • По числу процессов: -9.432e-07 – при увеличении числа процессов эффективность уменьшается на рассмотренной области изменений параметров запуска, однако, в целом уменьшение не интенсивное. Это объясняется тем, что при увеличении числа процессов сильно возрастает доля накладных расходов на организацию схемы сдваивания суммирования, однако, так как общая эффективность составляет доли процента интенсивность сильная только при переходе от работы процессов в рамках одного физического узла к использованию коммуникационной сети. В остальной области рассмотренных значений параметров запуска эффективность близка к 0 в силу того, что на каждый процесс приходится чрезвычайно малая доля вычислений. Больше полезного времени уходит на организацию работы процессов.
  • По размеру задачи: 1.881e-06 – при увеличении размера задачи эффективность в целом очень незначительно увеличивается по рассматриваемой области. Это объясняется общим увеличением вычислительной сложности задачи в связи с увеличением размерности. Однако вычислительная сложность алгоритма [math](N-1)[/math]не позволяет существенно увеличить долю времени затрачиваемую на вычисления.
  • По двум направлениям: -1.423e-07 – при рассмотрении увеличения как вычислительной сложности, так и числа процессов по всей рассмотренной области значений эффективность уменьшается, однако интенсивность уменьшения эффективности небольшая. В совокупности с тем фактом, что разница между максимальной и минимальной эффективностью на рассмотренной области значений параметров несущественная говорит о том, что на поверхности присутствуют области с очень интенсивным изменением эффективности на участке 2-16 процессов, но очень малые по площади. На остальной поверхности изменения эффективности незначительны и находятся на приблизительно одном и том же уровне.

4 Динамические характеристики и эффективность реализации алгоритма

5 Результаты прогонов