6218156484

6218156484



20 Dariusz Burak

—    Procedurę 2 - dla pozostałych standardowych trybów pracy szyfrów blokowych,

—    Procedurę 3 - dla szyfrów strumieniowych oraz szyfrów asymetrycznych.

Wszystkie procedury zrównoleglenia pętli zawierają transformacje składowe zgromadzone w ramach trzech grup transformacji. Grupę pierwszą tworzą transformacje wstępne, grupę drugą transformacje usuwające, bądź redukujące istniejące zależności w kodzie źródłowym algorytmów, a grupę trzecią transformacje umożliwiające przetwarzanie równoległe pętli programowych.

W celu uzyskania optymalnej wersji programu poprzez przebadanie wszystkich możliwych wariantów (ciągów) transformacji metoda automatycznego zrównoleglenia wybranych algorytmów szyfrowania wykorzystuje koncepcję kompilacji ite-racyjnej, zaproponowaną przez Knijnenburga, Kisukiegoi 0’Boyle’a w [11, 12, 13]. Zastosowanie oryginalnych procedur zrównoleglenia pętli programowych skutecznie rozwiązuje problem znacznej pracochłonności wykonywania testowych wersji programu w ramach kompilacji iteracyjnej z uwagi na znaczne ograniczenie liczby możliwych wariantów (6 możliwości w przypadku Procedury 1, trzy możliwości w przypadku Procedury 2, dwie możliwości w przypadku Procedury 3 [6]).

5. Propozycja kompilatora oraz zestawu narzędzi

wspierających automatyczne zrównoleglenie algorytmów szyfrowania

W skład zestawu narzędzi wspierających proces automatycznego zrównoleglenia algorytmów szyfrowania (Rys.l) wchodzi:

—    wstępny restrukturyzator kodu,

—    translator z języka C na język Petit,

—    program Petit,

—    optymalizator kodu równoległego,

—    translator wstawiający dyrektywy standardu OpenMP,

—    profiler kodu,

—    kontroler transformacji kodu.

5.1. Wstępny restrukturyzator kodu

Zadaniem wstępnego restrukturyzatora kodu źródłowego zapisanego w języku C jest umożliwienie przeprowadzenia analizy zależności danych z zastosowaniem programu Petit. Z uwagi na specyfikę kodów źródłowych algorytmów szyfrowania oraz ograniczenia programu Petit do głównych zadań restrukturyzatora należy:

—    konwersja zmiennych wskaźnikowych równoważnymi im zmiennymi tablicowymi,

—    zastąpienie indeksowania tablic według stałych wartości na indeksowanie według zmiennych indeksowych pętli for (w ciałach pętli for),



Wyszukiwarka

Podobne podstrony:
Image5215 dla pozostałych
Image5216 dla pozostały di (x,y).
Image5251 ’24w O x > O, y > O, x + y < 1, dla pozostały di
skanuj0112 (20) 124 PHP i MySQL dla każdego Funkcja zwraca wartość określającą liczbę elementów w po
skanuj0114 (20) 126 PHP i MySQL dla każdego Rysunek 4.17. Efekt działania funkcji array_count_values
skanuj0116 (20) 128 PHP i MySQL dla każdego Został tu utworzony i przypisany zmiennej obj obiekt kla
img169 160 160 140 120 100 80 60 40 20 0 -20 Rys. 6.4. Prosta regresji dla danych z przykładu 26.8.
skanuj0122 (5) 254 DI-.ONTOLOGIA ETYCZNA żc dzieje się co ze szkodą dla pozostały ch. Typowym przykł
img131 Tabela 7.20 Tablica analizy wariancji dla wyników badan liczby chloroplastów w komórkach mchu
img273 Jeżeli przez Se oznaczymy resztową sumę kwadratów dla zmiennej standaryzowanej y to■V = Syy
R5PC A str163 Część ogólna zawiera te normy, które regulują zagadnienia wspólne dla pozostałych dzia
strona12 5) Wektor losowy (X, Y) ma gęstość: A. f(x,y) = dla 0 < x < 1 dla pozost. x,y (x+y 1

więcej podobnych podstron