Finalize paper
This commit is contained in:
parent
db086982ae
commit
877f9a4465
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 |
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
BIN
images/neon.png
BIN
images/neon.png
Binary file not shown.
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 56 KiB |
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue