Finalize paper

This commit is contained in:
Pavle Portic 2020-02-22 18:46:59 +01:00
parent db086982ae
commit 877f9a4465
Signed by: TheEdgeOfRage
GPG Key ID: 6758ACE46AA2A849
5 changed files with 22 additions and 15 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

BIN
images/natrium.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -203,10 +203,9 @@ Podaci se prikupljaju tako što se isti program koji poziva sistemske pozive pok
\subsection{Interno i eksterno prikupljanje podataka}
Prikupljanje podataka izvršeno je na način koji je naveden u procesu planiranja. Detalji arhitekture sistema i programa koji su pokretani opisani su u naredna dva poglavlja.
\subsection{Merenje i poređenje performansi sistema}
\subsection{Merenje i poređenje performansi sistema}\label{benchmark}
Prikupljeni podaci prikazani su narednim tabelama. Merna jedinica svih vremenskih intervala je milisekunda:
% TODO Remove slab freelist randomization
\begin{figure}[H]
\includegraphics[width=\linewidth]{images/neon.png}
\caption{AMD Ryzen 7 1700 @ 3.6 GHz}
@ -218,10 +217,9 @@ Prikupljeni podaci prikazani su narednim tabelama. Merna jedinica svih vremenski
\end{figure}
\begin{figure}[H]
\includegraphics[width=\linewidth]{images/natrijum.png}
\includegraphics[width=\linewidth]{images/natrium.png}
\caption{Intel Core i5--3320M @ 2.6 GHz}
\end{figure}
% TODO analiza rezultata
Iz priloženog se primećuje da različite konfiguracije Linux jezgra znatno utiču na vreme izvršavanja pojedinih sistemskih poziva. Pošto je uzrok promene u vremenu paljenje i gašenje pojedinih funkcionalnosti jezgra, nije potrebno ispitivanje razloga koji dovodi do promene performansi.
@ -317,17 +315,19 @@ Povratna vrednost sistemskog poziva write je broj upisanih bajtova ako je pisanj
\section{Mmap i munmap}
\textit{Mmap} povezuje adresni prostor procesa sa objektom u RAM memoriji. \textit{Munmap} sistemski poziv je zadužen da ukloni vezu koju \textit{mmap} kreira. Pošto su operacije usko povezane, njihovo vreme izvršavanja se meri zajedno. Program kao argument komandne linije prima broj izvršavanja sistemskih poziva \textit{mmap} i \textit{munmap}, $ n $ i broj memorijskih stranica koje se mapiraju, \texttt{pages}. Svaki od $ n $ poziva prvo izvršava \textit{mmap}, pa nakon njega \textit{munmap} sistemski poziv.
\textit{mmap}:
\begin{minted}{c}
char* region = mmap(
(void*) pagesize,
pages* pagesize,
PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_ANON|MAP_PRIVATE,
0,
0
);
\end{minted}
\begin{samepage}
\textit{mmap}:
\begin{minted}{c}
char* region = mmap(
(void*) pagesize,
pages* pagesize,
PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_ANON|MAP_PRIVATE,
0,
0
);
\end{minted}
\end{samepage}
\textit{munmap}:
\begin{minted}{c}
@ -384,6 +384,13 @@ pthread_join(thread_id, NULL);
\end{minted}
i meri vreme koje je potrebno da se kod izvrši. Prva komanda kreira nit i identifikator niti sačuva u promenjivoj \texttt{thread\_id}. Nakon toga pozove funkciju \texttt{threadFun()} bez parametara. Druga komanda čeka da se izvrši funkcija \texttt{threadFun()} bez da sačuva povratnu vrednost i nakon toga uništi nit.
\chapter{Zaključak}
Iz izmerenih vremena izvršavanja u~\hyperref[benchmark]{sekciji 3.2.2} se prvobitno vidi razlika između Intel i AMD sistema. Kod Intel sistema izolacija jezgarne tabele stranica ima značjano veći uticaj na performanse nego kod AMD sistema. Obrnuto od toga, gašenje \textit{Spectre} mitigacije, daje značajniji porast performansama na AMD sistemima.
Za ostale parametre se u većini slučajeva dobijaju bolje performanse ako su ugašeni (podrazumevano su upaljeni), sem kod nekih izuzetaka kao npr.\ \textit{fork} sistemski poziv uz \texttt{PAGE\_TABLE\_ISOLATION} parametar ugašen. Pretpostavka je da sa spojenim tabelama stranica, operativni sistem mora da prođe kroz više stranica i napravi njihove kopije prilikom kreiranja novog procesa.
Dalje ispitivanje bi moglo da se radi nad različitim kombinacijama parametara što zahteva znatno veće vreme prevođenja jezgra i pokretanja merenja vremena izvršavanja, pošto broj kombinacija raste eksponencijalno sa svakim parametrom.
\chapter{Literatura}
\sloppy
\printbibliography[heading=none]