Dariusz Burak
Politechnika Szczecińska, Wydział Informatyki
Abstract:
Implementation issues of a parallelizing compiler based on an automatic paral-lelizing method of selected encryption algorithms are described. The compiler is devoted for parallelizing encryption algorithms written in the C language. The implementation of the compiler is based on the following well-known tools: Petit and OpenMP A PI. Petit is applied for finding data dependency relationships in the source codę. The OpenMP standard is chosen for representing parallelism of encryption algorithms.
Słowa kluczowe:
parallelizing compiler, loop transformations, OpenMP, data dependencie analysis, encryption algorithms
W dzisiejszych czasach problem szybkiego tworzenia równoległych implementacji algorytmów szyfrowania na podstawie sekwencyjnych kodów źródłowych jest bardzo istotny z punktu widzenia użytkowników sieci komputerowych. Wraz z rozwojem Internetu wzrasta również ilość informacji przesyłanych poprzez statystycznego użytkownika sieci. Wymusza to działania mające na celu skrócenie czasu szyfrowania i deszyfrowania danych. Zważywszy na coraz większą powszechność technologii wieloprocesorowej ze wspólną pamięcią oraz technologii wielordzeniowej istnieje potrzeba efektywnego wykorzystania ich mocy obliczeniowych. Naturalnym sposobem wyzyskania ich mocy obliczeniowej jest zrównoleglenie czasochłonnych obliczeniowo algorytmów. Możliwe są tutaj dwa podejścia: zrównoleglenie ręczne -w oparciu o czasochłonną i skomplikowaną analizę zależności danych lub zrównoleglenie automatyczne, tzn. przebiegające w ramach kompilacji kodu źródłowego algorytmu sekwencyjnego. Z uwagi na szereg istotnych zalet (szybkość i prostota działania oraz relatywnie niski koszt wykonania) zdecydowano się na utworzenia kompilatora zrównoleglającego opartego na automatycznej metodzie zrównolegle-nia. Jednakże jedną z głównych wad rozwiązań automatycznych istniejących obecnie jest stosunkowo niska jakość generowanego kodu równoległego, co wynika z ich uniwersalnego przeznaczenia- kompilatory zrównoleglające SUIF [1, 2|, Polar is [3], Parafrase-2 [4] i inne. W trosce o zapewnienie maksymalnej efektywności działania kompilatora, tzn. uzyskania przyspieszenia pracy algorytmów szyfrowania na