Laboratorium z przedmiotu „Przetwarzanie równoległe i

Transkrypt

Laboratorium z przedmiotu „Przetwarzanie równoległe i
Laboratorium z przedmiotu
„Przetwarzanie równoległe i rozproszone”
Laboratorium 1
Autor: Michał Kopeć
Prowadzący: dr inż. Adam Mrozek
1. WSTĘP
Celem ćwiczenia było przeprowadzenie pomiaru czasu wykonywania prostych operacji
arytmetycznych oraz wejścia/wyjścia. Zmierzono zarówno czas CPU, jak i zegarowy.
Kolejnym zadaniem była organizacja środowiska tworzenia oprogramowania w systemie
Linux.
2. PRZEBIEG LABORATORIUM
Doświadczenie składało się z następujących kroków:

rozpakowanie plików dołączonych do laboratorium,

napisanie programu w języku C, składającego się z dwóch procedur:

o
wykonywanie instrukcji arytmetycznych w pętli,
o
wykonywanie instrukcji wejścia/wyjścia w pętli,
pomiar
czasu
wykonywania
procedur
przy
użyciu
funkcji
dołączonych
do laboratorium,

modyfikacja pliku Makefile pozwalająca na skompilowanie napisanego programu
z wykorzystaniem procedur pomiaru czasu,

kompilacja programu poleceniem make.
3. POMIARY
W tabeli poniżej zamieszczono średni czas wykonywania zaimplementowanych
procedur. Dla operacji arytmetycznych liczba iteracji wynosiła 1000000. W przypadku
instrukcji wejścia/wyjścia ograniczono ją do 1000.
Procedura arytmetyczna
Procedura
wejścia/wyjścia
Czas CPU
0.002999s
0.012998s
Czas zegarowy
0.003276s
28.806814s
4. KOD PROGRAMU
5. ZMODYFIKOWANY PLIK MAKEFILE
6. WNIOSKI
Czas zegarowy wykonywania operacji arytmetycznych jest minimalnie większy od
czasu CPU. W przypadku operacji wejścia/wyjścia, realny czas wykonania jest wyraźnie
wyższy od czasu procesora. Wykonanie instrukcji arytmetycznych wymaga realnie
znacznie mniej czasu, co wymagało zmniejszenia liczby iteracji w przypadku operacji
wejścia/wyjścia.