From 548fa26572a332b21400411b008795f1a0738792 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Mon, 9 Dec 2024 22:02:36 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20added=20description=20of=20other=20zr?= =?UTF-8?q?=C3=B3wnoleglenia?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report/first_part/main.pdf | Bin 46486 -> 48853 bytes report/first_part/main.tex | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/report/first_part/main.pdf b/report/first_part/main.pdf index 361fee56443f1fac2ce898eec89ff39816ce852f..eb4fc21871ee3f9cbd6b57aecbf06e209174a013 100644 GIT binary patch delta 29636 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%0D1|4d#Sdzo5N=6&vqSBLDdYlkziqsc8#_i`W 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 H9QOYKHSlfE delta 27357 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

C_;PLQ!wiw+mVM`ZS(!MP?&&~x^ErJ2 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 diff --git a/report/first_part/main.tex b/report/first_part/main.tex index b1cba23f..4d291d60 100644 --- a/report/first_part/main.tex +++ b/report/first_part/main.tex @@ -114,6 +114,30 @@ Procesy wykorzystujemy do: \item Wymiana danych między procesami - wymaga serializacji i deserializacji danych, co może wprowadzić dodatkowe opóźnienia. \item Brak korzyści dla małych danych - w przypadku małych macierzy, gdzie rozmiar nie przekracza 5 tysięcy x 5 tysięcy elementów, zarządzanie procesami i koszty komunikacji międzyprocesowej mogą przewyższać korzyści wynikające z równoległego przetwarzania, \end{itemize} + +\subsection{Wątki} +Do implementacji wątków użyto dwóch bibliotek, ThreadPoolExecutor która umożliwia zarządzanie pulą wątków i delegowanie zadań do wątków +w sposób równoległy oraz funkcji partial z biblioteki functools która pozwala na tworzenie częściowo zainicjalizowanych funkcji. +\paragraph{Funkcje} +Wątki zaimplementowano w mnożeniu macierzy przeez wektor, odejmowaniu wektorów, dodawaniu wektorów oraz mnożeniu wektora przez skalar, metody zostają +zrównoleglone poprzez podzielenie liczby wierszy macierzy między wątki, następnie ThreadPoolExecutor tworzy wątki i przekazuje im odpowiednie, niezależne +części pracy do wykonania. +\paragraph{Zalety} +Zalety wykorzystania wątków to przede wszystkim szybki czas tworzenia i niszczenia wątków przez system operacyjny w porównaniu do procesów. +Co więcej mają one dostęp do całej przestrzeni adresowej programu, co oszczędza niepotrzebne kopiowanie danych. Jedynie ich własny stos jest prywatny. + +\subsection{Tablice rozproszone} +Tablice rozproszone dzielą macierz i przypisują każdą z jej części do konkretnego procesora. +Procesory wykonują obliczenia na danych przechowywanych w ich lokalnej pamięci, co minimalizuje konieczność przesyłania danych pomiędzy węzłami. \\ +Tablice rozporoszone nie są natywnie wspierane przez Python-a, w związku z tym zostały zaimplementowane przy użyciu modułu array z biblioteki \textbf{dask}. \\ +Wszystkie podstawowe funkcje wykorzystywane w Richardsonie zostały zrównoleglone przy użyciu tablic rozproszonych. + +\paragraph{Wyzwania} +\begin{itemize} +\item Przy dużej zależności danych dochodzi do częstej komunikacji która obniża wydajnośc +\item Elementy tablicy należy dobrze zbalansować aby procesory były równo obciążone +\end{itemize} + \subsection{Wyniki} \begin{table}[h!] \centering