Skip to content

Commit ec99de9

Browse files
committed
4 and 5 tasks edited
1 parent 4b30250 commit ec99de9

File tree

8 files changed

+9
-5
lines changed

8 files changed

+9
-5
lines changed

bibliography.tex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
\itemВикипедия. Проблема АВА. URL: \url{https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_ABA} (дата обращения: 14.02.19).
2121
\itemТранзакционная память: история и развитие. URL: \url{https://habr.com/ru/post/221667/} (дата обращения: 14.02.19).
2222
\itemВикипедия. Модель акторов. URL: \url{https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BE%D0%B2} (дата обращения: 14.02.19).
23+
\itemКормен, Томас Х. и др. Алгоритмы: построение и анализ, 3-е изд. : Пер. с англ. - М. : ООО ''И. Д. Вильямс'', 2013. - 1328 с. : ил. - Парал. тит. англ.
2324
\end{enumerate}
2425
}

main.pdf

675 Bytes
Binary file not shown.

main.synctex.gz

1.77 KB
Binary file not shown.

section4_1.tex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
\end{itemize}
2121
\itemНаписать отчёт о проделанной работе.
2222
\itemПодготовиться к устным вопросам на защите.
23-
\item\textbf{Необязательное задание №1 (для получения оценки «четыре»).} Провести аналогичные описанным эксперименты, используя вместо gcc компилятор Solaris Studio (или любой другой на своё усмотрение). При компиляции следует использовать следующие опции для автоматического распараллеливания: \verb+«solarisstudio -cc -O3 -xautopar -xloopinfo lab1.c»+
23+
\itemНайти вычислительную сложность алгоритма до и после распараллеливания, сравнить полученные результаты.
24+
\sloppy
25+
\item\textbf{Необязательное задание №1 (для получения оценки «четыре» и «пять»).} Провести аналогичные описанным эксперименты, используя вместо gcc компилятор Solaris Studio (или любой другой на своё усмотрение). При компиляции следует использовать следующие опции для автоматического распараллеливания: \\\verb+«solarisstudio -cc -O3 -xautopar -xloopinfo lab1.c»+
2426
\item\textbf{Необязательное задание №2 (для получения оценки «пять»).} Это задание выполняется только после выполнения предыдущего пункта. Провести аналогичные описанным эксперименты, используя вместо gcc компилятор Intel ICC (или любой другой на своё усмотрение). В ICC следует при компиляции использовать следующие опции для автоматического распараллеливания: \verb+«icc -parallel -par-report -par-threshold K -o lab1-icc-par-K lab1.c»+.
2527
\end{enumerate}
2628

section5_1.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
\itemСравнить полученные результаты с результатами лабораторной работы №1: на графиках показать, как изменилось время выполнения программы, параллельное ускорение и параллельная эффективность.
1010
\itemНаписать отчёт о проделанной работе.
1111
\itemПодготовиться к устным вопросам на защите.
12-
\item\textbf{Необязательное задание №1} (для получения оценки «четыре»). Исследовать параллельное ускорение для различных значений $M > K$, т.е. оценить накладные расходы при создании чрезмерного большого количества нитей. Для иллюстрации того, что программа действительно распараллелилась, привести график загрузки
12+
\item\textbf{Необязательное задание №1} (для получения оценки «четыре» и «пять»). Исследовать параллельное ускорение для различных значений $M > K$, т.е. оценить накладные расходы при создании чрезмерного большого количества нитей. Для иллюстрации того, что программа действительно распараллелилась, привести график загрузки
1313
процессора (ядер) во время выполнения программы при $N\;=\;N_2$ для всех использованных $M$. Для получения графика можно как написать скрипт, так и просто сделать скриншот диспетчера задач, указав на скриншоте моменты начала и окончания эксперимента (в отчёте нужно привести текст скрипта или название использованного диспетчера).
1414
\item\textbf{Необязательное задание №2} (для получения оценки «пять»). Это задание выполняется только после выполнения предыдущего пункта. Используя закон
1515
Амдала, рассчитать коэффициент распараллеливания для всех экспериментов и привести его на графиках. Прокомментировать полученные результаты.

section6_1.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
\itemПровести эксперименты, замеряя параллельное ускорение. Привести сравнение графиков параллельного ускорения с ЛР №1 и ЛР №2.
99
\item Провести эксперименты, добавив параметр ''schedule'' и варьируя в экспериментах тип расписания. Исследование нужно провести для всех возможных расписаний: static, dynamic, guided. Способ варьирования параметра chunk\textunderscore size выбрать самостоятельно (но должно быть не менее 5 точек варьирования). Привести сравнение параллельного ускорения при различных расписаниях с результатами п.4.
1010
\itemВыбрать из рассмотренных в п.4 и п.5 наилучший вариант при различных $N$. Сформулировать условия, при которых наилучшие результаты получились бы при использовании других типов расписания.
11+
\itemНайти вычислительную сложность алгоритма до и после распараллеливания, сравнить полученные результаты.
1112
\itemНаписать отчёт о проделанной работе.
1213
\itemПодготовиться к устным вопросам на защите.
13-
\item\textbf{Необязательное задание №1} (для получения оценки «четыре»). Для иллюстрации того, что программа действительно распараллелилась, привести график загрузки процессора (ядер) от времени при выполнении программы при $N\;=\;N_1$ для лучшего варианта распараллеливания. Для получения графика можно как написать скрипт
14+
\item\textbf{Необязательное задание №1} (для получения оценки «четыре» и «пять»). Для иллюстрации того, что программа действительно распараллелилась, привести график загрузки процессора (ядер) от времени при выполнении программы при $N\;=\;N_1$ для лучшего варианта распараллеливания. Для получения графика можно как написать скрипт
1415
так и просто сделать скриншот диспетчера задач, указав на скриншоте моменты начала и окончания эксперимента (в отчёте нужно привести текст скрипта или название использованного диспетчера). Недостаточно привести однократное моментальное измерение загрузки утилитой htop, т.к. требуется привести график изменения загрузки за всё время выполнения программы.
1516
\item\textbf{Необязательное задание №2} (для получения оценки «пять»). Построить график параллельного ускорения для точек $N\;<\;N_1$ и найти значения $N$, при которых накладные расходы на распараллеливание превышают выигрыш от распараллеливания (независимо для различных типов расписания).
1617
\end{enumerate}

section7_1.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
\includegraphics[width=1\linewidth]{lab4Example}
1515
\end{figure}
1616
\itemПровести эксперименты, варьируя $N$ от $min(\frac{N_x}{2},\;N_1)$ до $N_2$, где значения $N_1$ и $N_2$ взять из ЛР-1, а $N_x$ – это такое значение $N$, при котором накладные расходы на распараллеливание превышают выигрыш от распараллеливания. Написать отчёт о проделанной работе. Подготовиться к устным вопросам на защите.
17-
\item\textbf{Необязательное задание на «четвёрку».} Уменьшить количество итераций основного цикла с 100 до 10 и провести эксперименты, замеряя время выполнения следующими методами:
17+
\item\textbf{Необязательное задание на «четвёрку» и «пятёрку».} Уменьшить количество итераций основного цикла с 100 до 10 и провести эксперименты, замеряя время выполнения следующими методами:
1818
\begin{itemize}
1919
\itemИспользование минимального из десяти полученных замеров;
2020
\itemРасчёт по десяти измерениям доверительного интервала с уровнем доверия 95\%.

section8_1.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
\itemИзменить исходную программу так, чтобы вместо OpenMP-директив применялся стандарт «POSIX Threads»:
66
\begin{itemize}
77
\itemдля получения оценки \textbf{«3»} достаточно изменить только один этап (Generate, Map, Merge, Sort), который является узким местом (bottle neck), а также функцию вывода в консоль процента завершения программы;
8-
\itemдля получения оценки \textbf{«4»} необходимо изменить всю программу, но допускается в качестве расписания циклов использовать «schedule static»;
8+
\itemдля получения оценки \textbf{«4»} и \textbf{«5»} необходимо изменить всю программу, но допускается в качестве расписания циклов использовать «schedule static»;
99
\itemдля получения оценки \textbf{«5»} необходимо хотя бы один цикл распараллелить, реализовав вручную расписание «schedule dynamic» или «schedule guided».
1010
\end{itemize}
1111
\itemПровести эксперименты и по результатам выполнить сравнение работы двух параллельных программ («OpenMP» и «POSIX Threads»), которое должно описывать следующие аспекты работы обеих программ (для различных $N$):

0 commit comments

Comments
 (0)