Обсуждение участника:Stalles

Материал из Алговики
Перейти к навигации Перейти к поиску

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK) Хорошее описание метода и алгоритма. Есть несколько замечаний по содержанию и вопросы по исследованию масштабируемости (ниже с моей подписью)


1 Пункт 1.2.2

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)

Однако можно заметить, что координаты концов обрабатываемых отрезков хранятся в программном стеке процесса [math]IntTrap() [/math], и недоступны программисту.

Что подразумевается под недоступностью стека для программиста, если далее рассматривается работа с этим стеком? Нужно пояснить это утверждение.

--Бобцов Борис 22:32, 14 декабря 2016 (MSK)

Исправлено

2 Пункт 1.2.3

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)

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

Нужно описать немного подробнее, как из определения стека появляется возможность обрабатывать отрезки независимо друг от друга.

--Бобцов Борис 22:32, 14 декабря 2016 (MSK)

Исправлено

Алгоритм локального стека можно считать наилучшим из перечисленных последовательных методов для разработки его параллельной версии.

Где в работе были перечислены последовательные методы, которые здесь сравниваются? С какой точки зрения локальный стек является наилучшим, по сравнению с ними?

3 Пункт 1.5

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)

if( abs( sab - sabc ) > [math]\epsilon[/math] * abs ( sabc ) ) //[math]\epsilon[/math] - заданная точность


Не отличается ли здесь условие на деление отрезка от того, что приведено в пункте 1.2.1?


--Бобцов Борис 22:37, 14 декабря 2016 (MSK)

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

4 Пункт 1.9

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)

Функция может иметь любой вид представления, однако это представление "константно", то есть можно считать, что объём равен [math] O\left( 1 \right) [/math].

Объём равен [math] O\left( 1 \right) [/math] - это уже не любой вид представления функции.

--Бобцов Борис 22:40, 14 декабря 2016 (MSK)

Исправлено

5 Пункт 2.4

--Evgeny Mortikov (обсуждение) 05:06, 3 декабря 2016 (MSK)

Правильно ли я понимаю, что представленные результаты по исследованию масштабируемости относятся к несколько другому алгоритму – рассматривается равномерное разбиение отрезка по MPI процессам, а в рамках каждого рассчитывается алгоритм с адаптивной сеткой? Можно ли по полученным результатам судить о масштабируемости исследуемого алгоритма? Нужно это пояснить в работе.

Есть ли в реализации глобальный стек, который описан в работе?

--Бобцов Борис 22:32, 14 декабря 2016 (MSK)

-Правильно.

-Если честно, не очень понимаю, почему нельзя судить о масштабируемости. В задании нужно было показать масштабируемость - зависимость производительности от числа процессоров. Полученные результаты как раз эту зависимость и демонстрируют.

-Глобального стека в реализации нет. Насколько я понимаю, и в требованиях учебного задания его тоже нет. В задании сказано реализовать алгоритм с адаптивной сеткой, а про метод распараллеливания конкретно ничего не было сказано. Алгоритм геометрического параллелизма был выбран из-за минимума межпроцессорного общения и относительно низкой сложности реализации. Кстати, этот алгоритм также описан в работе.


6 Статья Участник:Бобцов Борис/Вычисление определенного интеграла с использованием адаптивно сгущающейся сетки

6.1 Замечания по тексту