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.