Assignments for parallel processing using OpenMPI.
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.
 
 
 
openmpi-assignments/assignment2.tex

79 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}{1}
\section{Paralelné transponovanie matice}
\subsection*{Paralelná dekompozícia problému}
Matica je v programe reprezentovaná ako jedno-rozmerné pole. Riešenie netrenasponuje aktuálne dáta, iba indexy. Master proces sa stará o načítanie dát a rozpočítanie počtu indexov priradených pre slave procesy na približne rovnaké časti. Tie sú následne indivuálne rozoslané medzi všetky dostupné slave procesy, vrátane master procesu, blokujúcou komunikáciou \verb|MPI_Send| a \verb|MPI_Receive|. Rozmery matice sú uložené do poľa a zdieľadné medzi všetkými procesmi pomocou \verb|MPI_Bcast|. Proces transponuje všetky získané indexy a tie sú následne spätne získané master procesom pomocou \verb|MPI_Gatherv|. 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.
\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 maticu s rozmermi 5 x 9.
\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 ms & 0.15 & 0.16 & 0.17 & 0.20 & 0.20 & 0.20 & 0.29 & 0.35 \\
\hline
Vyťaženie CPU v \% & 88 & 99 & 105 & 111 & 112 & 115 & 125 & 127 \\
\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}