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

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

1 Статья Участник:ADovganich/Нечеткий алгоритм С средних

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

  • 1.8 — Непонятна схема распараллеливания для такой оценки сложности. У вас C*K процессов? Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

В самом лучшем случае, для вычисления суммы n чисел нам потребуется выполнить [math]\log_{2} [/math]сложений. (Каскадная схема). Это описан самый быстрый из существующих способ.

В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP.

  • 1.8 — Даже эту формулу можно записать проще по тривиальным свойствам логарифма. Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

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

  • 1.8 — Схема распараллеливания должна быть описана более детально. Chalker (обсуждение) 22:43, 17 декабря 2016 (MSK)

Описали схему подробнее.


  • Сложность не зависит от N? В оценке сложности не учтена размерность входных векторов. Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Исправлено.

  • 1.6 — в терминах каких операций измеряется сложность? Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Подсчитаны операции умножения и деления. В разделе "вычисление центров кластеров" будет C*K умножений для вычисления числителя. (Деление числителя на знаменатель будет выполняться С раз, что на порядок меньше). Для раздела "вычисление решающей функции" посчитано количество умножений C*K раз. (Деления в этом разделе нет) Для обновления матрицы посчитано количество операций деления С*C*K (Порядок у деления m[i,k]=1/m[i,k] ниже)

  • 2.4 — я не совсем понимаю, на какой именно конфигурации выполнялся анализ масштабируемости. Там написано, что используется OpenMP (для систем с общей памятью), суперкомпьютер Ломоносов, а количество процессоров доходит до 120. Я не вижу таких узлов в Ломоносове в его описании [1]. Можете пояснить? Chalker (обсуждение) 18:31, 5 декабря 2016 (MSK)

Запускали в тестовой очереди. В тексте допустили неточность, для передачи данных данных использовали MPI. Запустили еще раз, номер node1-130-[01-16]. 120- количество потоков.

    • Текст до сих пор не исправлен, в приведённой реализации тоже используется OpenMP, а не MPI. Если используется она — то это запускается на одном узле. Данные точно верны? Chalker (обсуждение) 20:14, 17 декабря 2016 (MSK)

Исправили текст. В MPI используем K процессов (так как количество процессов ограничено, то на один процесс может выделяться больше одного вектора) и каждый процесс по отдельности обрабатывает свои вектора с использование OpenMP. В зависимости от номера процесса определяется какие вектора он будет обрабатывать. Каждый процесс обрабатывает свои вектора, а потом собирается общий результат.



Исправлено

Граф исправлен еще раз