Browse Source

Last changes and fixes

master
Apostolos Fanakis 6 years ago
parent
commit
6e24e1afe0
  1. 14
      report/4.results.tex
  2. BIN
      report/report.pdf
  3. BIN
      report/res/diagrams/profile.png
  4. 4
      test_sample.c
  5. 5
      test_sample_functions.c

14
report/4.results.tex

@ -22,7 +22,7 @@
\begin{figure}[H]
\centering
\resizebox{\textwidth}{!}{
\resizebox{.9\textwidth}{!}{
\includegraphics[scale=1]{res/diagrams/graph_exp_12.eps}
}
\caption{Απόκλιση χρόνων δειγματοληψείας για τα πειράματα ένα και δύο}
@ -30,8 +30,18 @@
\begin{figure}[H]
\centering
\resizebox{\textwidth}{!}{
\resizebox{.9\textwidth}{!}{
\includegraphics[scale=1]{res/diagrams/graph_exp_34.eps}
}
\caption{Απόκλιση χρόνων δειγματοληψείας για τα πειράματα τρία και τέσσερα}
\end{figure}
Τέλος παρατηρώντας τη χρήση του επεξεργαστή κατά τη διάρκεια των πειραμάτων γίνεται εμφανές ότι η μέθοδος του τέταρτου πειράματος οδηγεί σε σαφώς μικρότερη χρήση επεξεργαστικών πόρων και άρα λιγότερη κατανάλωση ενέργειας. Το ίδιο μπορεί να παρατηρηθεί κάνοντας profiling του προγράμματος. Παρακάτω φαίνεται το ποσοστό χρήσης επεξεργαστικής ισχύος, επί της συνολικής ισχύς που χρησιμοποιήθηκε για μία εκτέλεση του προγράμματος, όπου παρατηρείται ότι η πλειοψηφία των υπολογισμών γίνεται στην επαναληπτική διαδικασί του τρίτου πειράματος.
\begin{figure}[H]
\centering
\resizebox{.9\textwidth}{!}{
\includegraphics{res/diagrams/profile.png}
}
\caption{Profile προγράμματος}
\end{figure}

BIN
report/report.pdf

Binary file not shown.

BIN
report/res/diagrams/profile.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

4
test_sample.c

@ -3,8 +3,8 @@
int main(int argc, char **argv) {
Parameters parameters;
parseArguments(argc, argv, &parameters);
//parameters.numberOfSamples = (parameters.time + parameters.delta - 1) / parameters.delta;
parameters.numberOfSamples = 1 + ((parameters.time - 1) / parameters.delta);
parameters.numberOfSamples = (parameters.time + parameters.delta - (parameters.delta / 10.))
/ parameters.delta;
// Initialize a matrix to store the sample values
double **samplesMatrix = (double **) malloc(parameters.numberOfSamples * sizeof(double *));

5
test_sample_functions.c

@ -21,9 +21,10 @@ volatile sig_atomic_t sample_flag = false;
/* ===== FUNCTIONS ===== */
/*
* testSampling implements the sampling experiment. Three different ways of sampling are
* testSampling implements the sampling experiment. Four different ways of sampling are
* implemented. On the first one sleep is used. On the second sleep is used and the sleep times are
* corrected based on the previous error. On the third alarms are used.
* corrected based on the previous error. On the third interrupts are used. On the fourth interrupts
* are combined with sleep to minimize power consumption.
*/
void testSampling(double ***samplesMatrix, Parameters parameters) {
printf(ANSI_COLOR_CYAN "----- RUNNING FIRST EXPERIMENT\n" ANSI_COLOR_RESET);

Loading…
Cancel
Save