You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.9 KiB
80 lines
2.9 KiB
\documentclass[fleqn,12pt]{article}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[slovak]{babel}
|
|
\usepackage{amsmath}
|
|
% ---------------------------------------------------------------
|
|
% pri pouziti pdftex-u s obrazkami jpg pouzit nasledujuci riadok
|
|
\usepackage[pdftex]{color,graphicx}
|
|
% pri pouziti cslatex-u s obrazkami eps namiesto predosleho riadku
|
|
% pouzit nasledujuci riadok
|
|
% \usepackage{color,graphicx}
|
|
% ----------------------------------------------------------------
|
|
\setlength\textheight{200mm}
|
|
\setlength\textwidth{160mm}
|
|
\oddsidemargin=0mm\evensidemargin=0mm
|
|
\sloppy
|
|
\begin{document}
|
|
\thispagestyle{empty}
|
|
\begin{center}
|
|
{\Large Katedra počítačov a informatiky FEI TU v Košiciach}
|
|
\end{center}
|
|
\vfill
|
|
\begin{center}
|
|
{\huge Paralelné programovanie}
|
|
\end{center}
|
|
|
|
\begin{center}
|
|
{\large 2015/2016}
|
|
\end{center}
|
|
\vfill
|
|
|
|
\begin{center}
|
|
{\large Peter Babič} \hfill {\large Počítačové modelovanie}
|
|
\end{center}
|
|
|
|
\clearpage
|
|
|
|
\setcounter{section}{0}
|
|
\section{Paralelné hľadanie maxima čísel}
|
|
|
|
\subsection*{Paralelná dekompozícia problému}
|
|
|
|
Master proces sa stará o načítanie dát a rozpočítanie počtu prvkov priradených pre slave procesy na približne rovnaké časti. Tie sú následne rozoslané medzi všetky dostupné slave procesy, vrátane master procesu, pomocou funkcie \verb|MPI_Scatterv| Proces so získanej časti nájde maximum. Jednotlivé maximá sú následne spätne získané master procesom pomocou \verb|MPI_Gather|, ktorý z nich nájde absolútne maximum. Po ukončení behu paralelnej časti algoritmu master proces vypíše výsledok na štandardný výstup.
|
|
|
|
Program využije všetky dostupné vlákna. Jedinou podmienkou je, aby počet párov vstupných hodnôt bol rovný alebo väčší ako počet vlákien, inak algoritmus nemá zmysel paralelizovať.
|
|
|
|
\subsection*{Spôsob využitia nových komunikátorov}
|
|
|
|
Všetky procesy zahrnuté do riešenia sú súčasťou globálneho komunikátora \verb|MPI_COMM_WORLD|.
|
|
|
|
\subsection*{Spôsob využitia topológie procesov}
|
|
|
|
V riešení nepoli využité virtuálne topológie.
|
|
|
|
\subsection*{Hodnotenie efektívnosti výpočtu}
|
|
|
|
Experimentálne namerané výsledky behu sekvenčného a paralelného algoritmu na processore Intel Core2 Duo Processor T9500 so 4 GB priľahlej RAM sú uvedené v tabuľke \ref{t:efecti}. Vstupom bol súbor obsahujúci 500 000 hodnôt.
|
|
|
|
\begin{table}[h!]
|
|
\caption{Porovnanie sekvenčného (1) a paralelného (2+) algoritmu}
|
|
\label{t:efecti}
|
|
\centering
|
|
\begin{tabular}{l|rrrrrrrr}
|
|
\hline
|
|
Počet procesov & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
|
|
\hline
|
|
Čas v sekundách & 0.24 & 0.33 & 0.33 & 0.35 & 0.42 & 0.45 & 0.60 & 0.60 \\
|
|
\hline
|
|
Vyťaženie CPU v \% & 92 & 125 & 140 & 141 & 150 & 156 & 158 & 161 \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Výsledky naznačujú, že použitá implementácia algoritmu dosahuje najlepšie výsledky v sekvenčnej forme. S nárastom vlákien sa zvyšuje čas aj vyťaženosť CPU.
|
|
|
|
|
|
|
|
|
|
\end{document}
|
|
|
|
|
|
|