REALIZACJA ARCHITEKTUR MACIERZY PROCESOROWYCH W DYNAMICZNIE REPROGRAMOWALNYCH UKŁADACH FPGA

Podobne dokumenty
Zadanie na wykonanie Projektu Zespołowego

Realizacja logiki szybkiego przeniesienia w prototypie prądowym układu FPGA Spartan II

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

Zaawansowane metody numeryczne

WikiWS For Business Sharks

Programowanie Równoległe i Rozproszone

Diagonalizacja macierzy kwadratowej

Zmodyfikowana technika programowania dynamicznego

Laboratorium ochrony danych

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

Wykład 2: Uczenie nadzorowane sieci neuronowych - I

Jerzy Kaniewski, Robert Berezowski, Dariusz Gretkowski, Oleg Maslennikow i Przemysław Sołtan

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

Regulamin promocji 14 wiosna

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

RÓWNOLEGŁY ALGORYTM POPULACYJNY DLA PROBLEMU GNIAZDOWEGO Z RÓWNOLEGŁYMI MASZYNAMI

Wykład 2: Uczenie nadzorowane sieci neuronowych - I

SZACOWANIE NIEPEWNOŚCI POMIARU METODĄ PROPAGACJI ROZKŁADÓW

Odtworzenie wywodu metodą wstępującą (bottom up)

Problemy jednoczesnego testowania wielu hipotez statystycznych i ich zastosowania w analizie mikromacierzy DNA

3. ŁUK ELEKTRYCZNY PRĄDU STAŁEGO I PRZEMIENNEGO

Urządzenia wejścia-wyjścia

Diagnostyka układów kombinacyjnych

EKONOMETRIA I Spotkanie 1, dn

STATYSTYKA MATEMATYCZNA WYKŁAD 5 WERYFIKACJA HIPOTEZ NIEPARAMETRYCZNYCH

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

W praktyce często zdarza się, że wyniki obu prób możemy traktować jako. wyniki pomiarów na tym samym elemencie populacji np.

Regulamin promocji upalne lato

Modele wieloczynnikowe. Modele wieloczynnikowe. Modele wieloczynnikowe ogólne. α β β β ε. Analiza i Zarządzanie Portfelem cz. 4.

ZESZYTY NAUKOWE INSTYTUTU POJAZDÓW 2(88)/2012

Treść zadań 1 8 odnosi się do poniższego diagramu przestrzenno-czasowego.

Metody analizy obwodów

Za: Stanisław Latoś, Niwelacja trygonometryczna, [w:] Ćwiczenia z geodezji II [red.] J. Beluch

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 208. Komputerowa realizacja automatów skończonych

STARE A NOWE KRAJE UE KONKURENCYJNOŚĆ POLSKIEGO EKSPORTU

STATECZNOŚĆ SKARP. α - kąt nachylenia skarpy [ o ], φ - kąt tarcia wewnętrznego gruntu [ o ],

Wprowadzenie do Sieci Neuronowych Sieci rekurencyjne

Regulamin promocji zimowa piętnastka

SYMULACJA KOMPUTEROWA NAPRĘŻEŃ DYNAMICZNYCH WE WRĘGACH MASOWCA NA FALI NIEREGULARNEJ

ZESZYTY NAUKOWE INSTYTUTU POJAZDÓW 5(96)/2013

RUCH OBROTOWY Można opisać ruch obrotowy ze stałym przyspieszeniem ε poprzez analogię do ruchu postępowego jednostajnie zmiennego.

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

KRZYWA BÉZIERA TWORZENIE I WIZUALIZACJA KRZYWYCH PARAMETRYCZNYCH NA PRZYKŁADZIE KRZYWEJ BÉZIERA

OPTYMALIZACJA PROCESU PRZESIEWANIA W PRZESIEWACZACH WIELOPOKŁADOWYCH

BADANIE DRGAŃ WŁASNYCH NAPĘDU ROBOTA KUCHENNEGO Z SILNIKIEM SRM

METODA SYNTEZY AUTOMATÓW SKOŃCZONYCH MEALY EGO I MOORE A NA

11/22/2014. Jeśli stała c jest równa zero to takie gry nazywamy grami o sumie zerowej.

5. Pochodna funkcji. lim. x c x c. (x c) = lim. g(c + h) g(c) = lim

Prawdziwa ortofotomapa

ZAŁĄCZNIK NR 1C KARTA USŁUGI Utrzymanie Systemu Kopii Zapasowych (USKZ)

PODSTAWA WYMIARU ORAZ WYSOKOŚĆ EMERYTURY USTALANEJ NA DOTYCHCZASOWYCH ZASADACH

Kodowanie informacji. Instytut Informatyki UWr Studia wieczorowe. Wykład nr 2: rozszerzone i dynamiczne Huffmana

Wizualizacja struktur macierzy procesorowych w standardzie SVG

Systemy Ochrony Powietrza Ćwiczenia Laboratoryjne

(M2) Dynamika 1. ŚRODEK MASY. T. Środek ciężkości i środek masy

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

Ćwiczenie 10. Metody eksploracji danych

Sprawozdanie powinno zawierać:

Kształtowanie się firm informatycznych jako nowych elementów struktury przestrzennej przemysłu

Ćwiczenie 2. Parametry statyczne tranzystorów bipolarnych

Model ASAD. ceny i płace mogą ulegać zmianom (w odróżnieniu od poprzednio omawianych modeli)


Nowoczesne technk nformatyczne - Ćwczene 2: PERCEPTRON str. 2 Potencjał membranowy u wyznaczany jest klasyczne: gdze: w waga -tego wejśca neuronu b ba

WPŁYW PARAMETRÓW DYSKRETYZACJI NA NIEPEWNOŚĆ WYNIKÓW POMIARU OBIEKTÓW OBRAZU CYFROWEGO

KONCEPCJA ZASTOSOWANIA ALGORYTMU FAKTORYZACJI DO OCENY NIEZAWODNOŚCI CIĄGÓW KOMUNIKACYJNYCH

Oligopol dynamiczny. Rozpatrzmy model sekwencyjnej konkurencji ilościowej jako gra jednokrotna z pełną i doskonalej informacją

Krzysztof Borowski Zastosowanie metody wideł cenowych w analizie technicznej

Neural networks. Krótka historia rozpoznawanie znaków alfanumerycznych.

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

APROKSYMACJA QUASIJEDNOSTAJNA

Zastosowanie symulatora ChemCad do modelowania złożonych układów reakcyjnych procesów petrochemicznych

Określanie mocy cylindra C w zaleŝności od ostrości wzroku V 0 Ostrość wzroku V 0 7/5 6/5 5/5 4/5 3/5 2/5 Moc cylindra C 0,5 0,75 1,0 1,25 1,5 > 2

TRANZYSTOR BIPOLARNY CHARAKTERYSTYKI STATYCZNE

EUROELEKTRA. Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej. Rok szkolny 2013/2014

MODELOWANIE PRZEPŁYWU POWIETRZA W KANAŁACH WENTYLACYJNYCH PIECZARKARNI

System informatyczny (SI)

5. Maszyna Turinga. q 1 Q. Konfiguracja: (q,α β) q stan αβ niepusta część taśmy wskazanie położenia głowicy

Opracowanie metody predykcji czasu życia baterii na obiekcie i oceny jej aktualnego stanu na podstawie analizy bieżących parametrów jej eksploatacji.

Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

-Macierz gęstości: stany czyste i mieszane (przykłady) -równanie ruchu dla macierzy gęstości -granica klasyczna rozkładów kwantowych

Politechnika Koszalińska, Wydział Elektroniki

p Z(G). (G : Z({x i })),

D Archiwum Prac Dyplomowych - Instrukcja dla studentów

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W PILE INSTYTUT POLITECHNICZNY. Zakład Budowy i Eksploatacji Maszyn PRACOWNIA TERMODYNAMIKI TECHNICZNEJ INSTRUKCJA

Proces narodzin i śmierci

Planowanie eksperymentu pomiarowego I

Problem plecakowy (KNAPSACK PROBLEM).

Evaluation of estimation accuracy of correlation functions with use of virtual correlator model

V. TERMODYNAMIKA KLASYCZNA

ANALIZA PREFERENCJI SŁUCHACZY UNIWERSYTETU TRZECIEGO WIEKU Z WYKORZYSTANIEM WYBRANYCH METOD NIESYMETRYCZNEGO SKALOWANIA WIELOWYMIAROWEGO

Sieci Neuronowe 1 Michał Bereta

I. Elementy analizy matematycznej

Wykład Turbina parowa kondensacyjna

OPTYMALIZACJA ALGORYTMÓW WYZNACZANIA RUCHU CIECZY LEPKIEJ METODĄ SZTUCZNEJ ŚCIŚLIWOŚCI

Metody numeryczne Wykład 4

Jakość cieplna obudowy budynków - doświadczenia z ekspertyz

Badanie współzależności dwóch cech ilościowych X i Y. Analiza korelacji prostej

Regulamin promocji fiber xmas 2015

Portfele zawierające walor pozbawiony ryzyka. Elementy teorii rynku kapitałowego

Transkrypt:

REALIZACJA ARCHITEKTUR MACIERZY PROCESOROWYCH W DYNAMICZNIE RROGRAMOWALNYCH UKŁADACH FPGA Oleg Maslennkow Poltechnka Koszalńska, Wydzał Elektronk, Ul. Śnadeckch, 75-453 Koszaln emal: oleg@e.tu.koszaln.pl Streszczene W pracy wykonana jest analza efektywnośc realzac systemów czasu rzeczywstego z archtekturą macerzy procesorowych w dynamczne rekonfgurowalnych (welokontekstowych) układach FPGA. W wynku proponuje sę sposób podzału struktury systemu na podstruktury o porównywalnej złożonośc, oparty o dekompozycję grafu algorytmu na podgrafy odwzorowane otrzymanych podgrafów na odpowedne podstruktury systemu. Zaletam opracowanego sposobu jest możlwość realzac całego systemu w mnejszym (w porównanu do zwykłych układów FPGA) welokontekstowym układze FPGA (lub) zwększene wydajnośc realzowanego w tym układze systemu. 1. WPROWADZENIE Koncepcja dynamczne reprogramowalnych układów FPGA staje obecne coraz popularnejsza ntensywnej opracowywana przez różne zespoły badawcze, w tym polske [1-3]. Spowodowane to dodatkowym możlwoścam funkcjonalnym takch układów, naczej nazywanych układam welokontekstowym, w porównanu do klasycznych układów FPGA. Welokontekstowy układ FPGA posada pewną lczbę p jednakowych bloków pamęc konfguracyjnej (dla zwykłych układów FPGA p = 1), w których mogą być przechowywane nawet p różnych jego konfgurac (kontekstów), z tym że w każdy moment czasu aktywnym może być tylko jeden kontekst (jeden blok PK). Taka organzacja PK pozwala na szybką zmanę konfgurac układu (w deale w cągu jednego taktu zegarowego), co faktyczne oznacza możlwość zmany konfgurac w trakce funkcjonowana systemu. Poza tym, stneje możlwość ładowana nowych danych do neaktywnych bloków pamęc konfguracyjnej układu w trakce pracy systemu. Wymenone możlwośc pozwalają w nny, bardzej efektywny sposób mplementować systemy cyfrowe w takch układach FPGA. Manowce, strukturę całego złożonego systemu teraz można spróbować podzelć na p podstruktur o porównywalnej złożonośc sprzętowej (np. o porównywalnej lczbe wykorzystanych komórek CLB) w ten sposób, żeby wynk oblczeń produkowane przez -tą podstrukturę były wykorzystane jako dane wejścowe w (+1)-ej podstrukturze. Faktyczne oznacza to podzał oblczeń w dzedzne czasu. W takm przypadku realzacja systemu już ne wymaga wykorzystana dużego układu FPGA, w którym jego struktura ma sę zmeścć w całośc. Teraz system może być zrealzowany w znaczne mnejszym (nawet do p razy) p-kontekstowym układze FPGA, w poszczególnych blokach PK którego zapsane są konfguracje wszystkch podstruktur systemu. W trakce oblczeń wywołane właścwych podstruktur odbywa sę poprzez uaktywnene odpowednch bloków PK. Efektywność wykorzystana welokontekstowych układów FPGA zależy jednak od sposobu otrzymana wymenonych p podstruktur systemu, na przykład od sposobu podzału struktury całego systemu na podstruktury o porównywalnej złożonośc. Tak podzał może być realzowany np. na pozome opsu VHDL struktury systemu poprzez analzę zależnośc nformacyjnych pomędzy jego poszczególnym s podukładam, oceny ch złożonośc sprzętowej, następne poprzez zgrupowane s podukładów w p

podstruktur (s p). Tak sposób proponuje sę w pracy [3]. Nestety, złożoność opsanego sposobu, zdanem autora, rośne z wzrostem lczby p. Poza tym, sposób ten ne gwarantuje otrzymana p podstruktur o porównywalnej złożonośc dla każdego systemu, poneważ wynk podzału całkowce zależy od opsu VHDL systemu. Oprócz tego, sposób ten ne jest przeznaczony do podzału struktur systemów równoległych, w tym np. struktur macerzy procesorowych (MP). Z tego powodu, w pracy wykonana jest analza efektywnośc realzac właśne takch archtektur w welokontekstowych układach FPGA. Zakładając, że archtektury macerzy z ogranczoną lczbą elementów przetwarzających () są zwykle otrzymywane w wynku stosowana metod dekompozyc grafu algorytmu na podgrafy następne odwzorowana otrzymanych podgrafów na odpowedne podstruktury systemu [4], autor proponuje sposób otrzymana p podstruktur systemu (o porównywalnej złożonośc) w oparcu o graf algorytmu. Zaletam opracowanego sposobu jest możlwość umeszczena całego systemu w mnejszym p-kontekstowym układze FPGA, (lub) zwększene wydajnośc realzowanego w tym układze systemu (poprzez zmnejszene czasu wykonana algorytmu).. ANALIZA EFEKTYWNOŚCI REALIZACJI ARCHITEKTUR MACIERZY PROCESOROWYCH Z OGRANICZONĄ LICZBĄ W UKŁADACH FPGA Jednym z zasadnczych wymagań przy projektowanu archtektur macerzy procesorowych stanow koneczność zapewnena możlwośc przetwarzana welkch zborów danych wejścowych w systemach o ogranczonej lczbe [4, 5]. Dla zapewnena tej możlwośc stosowane są [4] dwe zasadncze metody dekompozyc grafu zależnośc nformacyjnych algorytmu na zbór podgrafów - lokalne sekwencyjna globalne równoległa (LSGR) lub lokalne równoległa globalne sekwencyjna (LRGS). Zgodne z metodą LSGR dowolnemu podgrafow odpowada swój, przy czym każdy sekwencyjne wykonuje werzchołk odpowednego podgrafu. Pozwala to zmnejszyć wymagana w stosunku do zdolnośc przepustowej kanałów We/Wy elementów przetwarzających, lecz wymaga zastosowana dodatkowych bloków pamęc wewnątrz (przykład dekompozyc grafu algorytmu otrzymana, jako wynk stosowana metody LSGR, archtekturę systemu przedstawono na rys. 1,a). W zwązku z tym, archtektura systemu ne zmena sę podczas realzac poszczególnych podgrafów. Dlatego struktura wewnętrzna każdego pownna zawerać blok funkcyjne przeznaczone do realzac wszystkch typów werzchołków (operac) odpowednego podgrafu. Przy realzac takej archtektury w welokontekstowym układze teoretyczne stneje możlwość podzału struktury wewnętrznej każdego na p podstruktur na podstawe analzy złożonośc werzchołków (operac) odpowednego podgrafu oraz zależnośc nformacyjnych medzy werzchołkam. Jednak w tym przypadku wracamy do opsanego wyżej sposobu podzału struktury wewnętrznej na podstruktury, co sę wąże z wymenonym wadam tego sposobu. Komplkuje sprawę w tym przypadku jeszcze to, ze zmana typu operac (typu werzchołka), ewentualne podstruktury w jednym, zwykle ne jest równoczesna ze zmaną typu operac w nnych systemu. Z tego powodu efektywna realzacja archtektur MP otrzymywanych w wynku stosowana metody LSGR w welokontekstowych układach FPGA jest raczej nemożlwa. Aby zapobec konecznośc stosowana dodatkowych bloków pamęc wewnątrz, zgodne z metodą LRGS dowolny podgraf jest odwzorowywany w całą macerz procesorową; werzchołk jednego pografu są wykonywane współbeżne, podczas gdy zbór podgrafów jest realzowany sekwencyjne. W konsekwenc wszystke te wynk pośredne, które odpowadają zależnoścom nformacyjnym pomędzy podgrafam, muszą być przechowywane w blokach pamęc rozmeszczonych na zewnątrz sec elementów

przetwarzających. Przykład dekompozyc grafu algorytmu otrzymana (jako wynk stosowana metody LRGS) archtektura systemu przedstawone są na rys. 1,b. a) b) GRAF ALGORYTMU ARCHITEKTURA SYSTEMU GRAF ALGORYTMU ARCHITEKTURA SYSTEMU PODGRAFY PODGRAFY BLOK PAMIĘCI Rys. 1. Przykład stosowana metod LSGR (a) LPGS (b) Podczas projektowana archtektury MP w oparcu o metodę LPGS, celem projektanta jest otrzymane zboru podgrafów o maksymalne podobnej topolog (strukturze) jednakowym zborze typów operac (werzchołków). Osągnęce tego celu oznacza, że przejśce systemu od realzac jednego podgrafu do realzac następnego ne będze wymagało wprowadzena znaczących zman w archtekturze macerzy, jak w strukturach wewnętrznych jej poszczególnych, co zmnejsza ch złożoność sprzętową (np. lczbę CLB) przy realzac systemu w układze FPGA. Ilustracją opsanego podejśca jest przedstawony w następnym podrozdzale przykład zaprojektowana archtektury macerzy procesorowej realzującej algorytm Cholesky ego. Nestety, w przypadku ogólnym realzacja poszczególnych s podgrafów (otrzymanych w wynku stosowana metody LPGS) może wymagać stosowana p (s p) różnych archtektur macerzy procesorowych, cechujących sę nawet różnym funkcjam synchronzac oblczeń, co zwększa złożoność sprzętową systemu. Stosowane welokontekstowego układu FPGA pozwala perfekcyjne rozwązać ten problem poprzez opracowane zachowane w blokach pamęc konfguracyjnej układu FPGA plków (kontekstów) dla wszystkch p różnych archtektur MP oraz zmanę kontekstu przy przejścu systemu od realzac jednego podgrafu do następnego. Z tego powodu w przypadku ogólnym sposób otrzymana p podstruktur systemu pownen zawerać następne etapy: 1. Na podstawe analzy złożonośc każdego typu werzchołków grafu algorytmu (tzn. typów operac oraz formatu danych wejścowych wynków) określa sę lczba komórek CLB L ( = 1,,..., q) przeznaczonych dla jego realzac w wybranym układze FPGA (gdze q lczba różnych typów werzchołków grafu).. Zgodne z metodą LPGS wykonuje sę podzał grafu na pewną lczbę s fragmentów (podgrafów), dążąc do otrzymana podgrafów o maksymalne podobnej strukturze (topolog) jednakowych zborach typów werzchołków. 3. Korzystając z dowolnej z metod odwzorowana algorytmów w archtektury macerzy procesorowych np. [4, 5, 6], dla każdego z s otrzymanych podgrafów zaprojektowana zostaje struktura MP wraz z funkcją synchronzac oblczeń. Dzęk temu każda archtektura ma zoptymalzowaną (dopasowaną do odpowednego podgrafu) funkcję synchronzac oblczeń, co pozwala zmnejszyć czas realzac podgrafów, tzn. czas realzac całego algorytmu. 4. Dla każdej z s (s s) otrzymanych archtektur MP opracowywane są struktury wewnętrzne poszczególnych. Na tej podstawe określa złożoność sprzętowa (lczba CLB) każdej z otrzymanych archtektur. 5. Punkty -4 są powtarzane dla nnej wartośc s, jeśl przynajmnej jedna z s otrzymanych archtektur ne meśc sę w całośc w wybranym układze FPGA (lub

wybera sę wększy p-kontekstowy układ FPGA). 6. Formowane są s plków konfguracyjnych (kontekstów) - dla każdej z otrzymanych archtektur MP. Należy zaznaczyć, ze w przypadku s p, wszystke konteksty są wpsywane do perwszych s bloków pamęc konfguracyjnej p-kontekstowego układu FPGA. W przypadku przecwnym, przed rozpoczęcem oblczeń do bloków pamęc konfguracyjnej są wpsane konteksty od perwszego do p-tego. Pozostałe konteksty p+1,..., s są ładowane do neaktywnych bloków pamęc konfguracyjnej już w trakce oblczeń. 3. OPRACOWANIE ARCHITEKTURY MACIERZY PROCESOROWEJ DLA REALIZACJI ALGORYTMU CHOLESKY EGO I ANALIZA EFEKTYWNOŚCI JEJ IMPLEMENTACJI W WIELOKONTEKSTOWYCH UKŁADACH FPGA Metoda Cholesky ego [7] (nne nazwy - metoda perwastka kwadratowego lub metoda Banachewcza) jest przeznaczona do rozkładu symetrycznej dodatno określonej macerzy A(N,N) = {a j } (deta>0) na czynnk trójkątne L(N,N) = {l j } L T tak, że A = L L T, (1) gdze macerz L jest macerzą trójkątną dolną, a macerz L T jest transponowaną do macerzy L. Proces rozkładu trwa N kroków, przy czym na -tym kroku ( = 1,,..., N) oblczane są wszystke elementy -tej kolumny macerzy L zgodne ze wzoram () gdze reprezentuje 1 wartość elementu a na -tym kroku algorytmu ( a = a ). Elementy macerzy A są modyfkowane zgodne z wyrażenem (3), przy czym elementy te w trakce oblczeń przekształcane są w elementy macerzy wynkowej L zgodne z wyrażenem (4). a l = l = a / l, (j = +1,..., N), () a +1 jk = a jk l +1 = a l k, (j=+1,...,n; k=+1,...,j) (3) l, ( = 1,..., N; j =,..., N). (4) Przykładowy algorytm realzujący tak rozkład LL T macerzy może być przedstawony za pomocą fragmentu programu (5) zapsanego w języku Pascal. for = 1 to N do begn a(, )= SQRT(a(, )); for j = +1 to N do begn a(j, )= a(j, )/a(, ); (5) for k = +1 to j do a(j, k) = a(j, k) - a(j, )a(k, ); end end Algorytm (5) przedstawa sobą złożone gnazdo pętl składające sę z trzech elementarnych gnazd. Z tego wynka, że są graf tego algorytmu ma q = 3 typy węzłów. Werzchołk perwszego typu odpowadają oblczenu elementów l(, ), werzchołk drugego typu oblczenu wartośc elementów l(j, ), natomast werzchołk trzecego typu modyfkac elementów macerzy zgodne ze wzorem (3). Poza tym, maksymalna lczba włożonych a nstrukc wynos n=3. Dlatego graf bazowy GB tego algorytmu będze trójwymarowym. Dla przypadku macerzy A(N,N), gdze N=4 przedstawony on został na rys.,a. Graf ten przedstawa sobą N warstwową pramdę, w której -ta warstwa reprezentuje -ty krok a

algorytmu (5). Macerz zależnośc nformacyjnych algorytmu zawera trzy wektory d, d d, 1, przy czym wektor d 1 =(1,0,0) odpowada za przekazane zmodyfkowanych elementów macerzy A na kolejny krok algorytmu (na kolejną warstwę grafu), natomast wektory d =(0,1,0) d3 =(0,0,1) odpowadają za przekazane elementów l(, ) l(j, ) dla modyfkac elementów macerzy A. Na rys.,a werzchołk perwszego typu są zaznaczone na grafe czarnym kolorem, a drugego typu szarym kolorem. a) b) c) l 44 4,4,4 4 l 4 3 l 33 SQ k l,, 3,3,3 l 43 3 l 3 RG DIV MX MX RG l 11 1,1,1 a 11 j l 1 1,, l 3 l 4 l RG ML FIFO SM 1,,1 a 1,4,4 a 1 l 31 a 33 1,3,1 l a 3 a 41 44 a 31 a 43 a 4 a 41 1 A l 1 Rys.. Graf zależnośc nformacyjnych (a); struktura S1 realzująca algorytm Cholesky ego (b); struktura wewnętrzna -tego, = 1,..., N (c) Nech w wynku odwzorowana tego algorytmu w jednowymarowe (m = 1) archtektury macerzy procesorowych (w oparcu o metodę [6]) otrzymana została macerz odwzorowana F(m+1,n) przedstawona za pomocą wyrażena (6). W tej macerzy funkcja odwzorowana przestrzennego F S (1,3)=[1 0 0] (tj. funkcja przydzału poszczególnych werzchołków grafu do elementów przetwarzających MP) odpowada projekc grafu algorytmu na współrzędną, w wynku czego powstaje struktura S1 macerzy procesorowej przedstawona na rys.,b. j k F ( m, n) f11 f1 f 1 0 0 (6) S 13 F( m + 1, n) = F(,3) = = = FT (1, n) f1 f f3 1 N 1 Każdy element przetwarzający z numerem p w tej strukturze (p = 1,..., N), będze wykonywał werzchołk K = (p, j, k) wszystkch trzech typów odpowedno do lnowej funkc F T = [1, N, 1] odwzorowana szeregującego z następującą wartoścą stałej const1: const1= 1 - F T K 1 =1 [1, N, 1] (1, 1, 1) = - N - 1, gdze K 1 = (1, 1, 1) jest perwszym wykonywanym werzchołkem w grafe algorytmu. Zgodne z metodą [6] werzchołek K = (, j, k) grafu algorytmu będze realzowany w takce t = F T K+ const1. W zwązku z tym, czas realzac algorytmu dla N=4 wynos t = F K F K + 1 = 4-6 +1=19 (7) T ost T taktów, a w przypadku ogólnym dla otrzymanej archtektury będze wynosł t = N + N 1 taktów (gdze Kost oznacza ostatn werzchołek w grafe G B, K ost = (N, N, N)). Należy zaznaczyć, że w klase funkc lnowych ne stneje funkc F T, która dawałaby lepszy czas 1

realzac algorytmu (5). Z tego powodu nawet najlepsze jednowymarowe MP realzujące algorytm Cholesky ego będą mel nsk współczynnk η obcążena, równy 3 W N / 6 1 η =, (8) h t N( N + N 1) 6 gdze W złożoność oblczenowa algorytmu (bardzej dokładne, jest to lczba werzchołków w grafe bazowym algorytmu, zakładając, że czas realzac werzchołka wynos jeden takt); h lczba macerzy procesorowej; t czas realzac algorytmu. Strukturę wewnętrzną -tego struktury S1 ( = 1,..., N) przedstawono na rys.,c, gdze FIFO oznacza kolejkę o długośc (N-1) komórek, SQ blok oblczena perwastka kwadratowego, DIV blok dzelena, ML blok mnożący, SM sumator, natomast przez MX RG zaznaczono odpowedno multpleksery rejestry. Należy zaznaczyć, że lną przerywaną w tej strukturze oznaczono możlwy sposób przekazana wartośc z wejśca na jego wyjśce. Wprowadzene takego połączena pozwala zmnejszyć lczbę wyjść struktury S1 z N do jednego (co jest pokazane np. na rys. 3,b), poneważ wszystke wynk oblczeń produkowane w od perwszego do (N-1)-go mogą być teraz w trakce oblczeń przekazywane na wyjśce ostatnego. W celu opracowana archtektury macerzy procesorowej przeznaczonej do realzac algorytmu (5) zawerającej ogranczoną lczbę h < N elementów przetwarzających, wykorzystana będze metoda LRGS dekompozyc. Następne przeprowadzona zostane analza porównawcza efektywnośc mplementac otrzymanej archtektury w zwykłych welokontekstowych układach FPGA. Zgodne z zalecenam metody LRGS oraz zaproponowanym w poprzednm podrozdzale sposobem, należy wykonać podzał grafu na pewną lczbę s podgrafów, dążąc do otrzymana podgrafów o maksymalne podobnej strukturze (topolog) jednakowych zborach typów werzchołków. Analza grafu G B wykazuje, że można go podzelć na s = ]N/h[ fragmentów (podgrafów) o jednakowej topolog zborach typów werzchołków (gdze ] x [ oznacza najblższą lczbę całkowtą, równą lub wększą od x) na dwa różne sposoby: rozcnając graf za pomocą rodzny dwuwymarowych hyperpłaszczyzn, prostopadłych do os lub k. Oba sposoby prowadzą do otrzymana dentycznych wynków, dlatego rys. 3,a lustruje tylko perwszy sposób. Należy zaznaczyć, że na rys. 3,a dla przypadku N = 9 przedstawono dwuwymarowy graf G algorytmu otrzymany poprzez projekcję grafu G B na płaszczyznę daną za pomocą os k (wprowadzene grafu G ma na celu wyłączne osągnęce wększej dostępnośc prezentac). W grafe G każdy werzchołek odpowada pewnej makrooperac, wykonywanej na całej kolumne macerzy A. Wspomnane rodzny hyperpłaszczyzn rozcnają graf G na regularne rodzny podgrafów G g, przy czym każdy z podgrafów zawera h warstw, gdze g = l,..., s. Zgodne z wybraną metoda dekompozyc, wszystke podgrafy danej rodzny pownny zostać odwzorowane na tę samą strukturę MP o określonej lczbe. Dla przypadku N = 9 h = 3 otrzymuje sę s = 3 take struktury, które są przedstawone na rys. 3,b. Dzęk jednakowej topolog zborach typów werzchołków we wszystkch podgrafach G g, struktury te są dentyczne, a nawet struktura wewnętrzna we wszystkch trzech otrzymanych strukturach jest dentyczna ze strukturą wewnętrzna macerzy S1. Ostateczna struktura S macerzy procesorowej z określoną lczbą h, zaprojektowana zgodne z metodą LPGS, jest przedstawona dla przypadku h = 3 na rys. 3,c. Ona różn sę od struktury S1 tylko zewnętrznym blokem pamęc typu FIFO przeznaczonym dla zapamętywana wynków pośrednch. Implementacja struktury S w zwykłym jedno-kontekstowym układze FPGA oznacza, że realzacja wszystkch podgrafów w tej strukturze będze sę odbywała w oparcu o

funkcję odwzorowana szeregującego F T = [1, N, 1] (poneważ zmana funkc F T wymaga wprowadzena odpowednch zman w strukturze wewnętrznej ). Z tego powodu, czas realzac wszystkch podgrafów G g (g = l,..., s) będze jednakowy, a czas realzac całego algorytmu (5) będze wynosł t s taktów. 1 N a) b) c) h h F I F O h k N Rys. 3. Dekompozycja grafu G zgodne z LRGS-metodą (a); projekcje podgrafów G g na oś (b); wynkowa archtektura macerzy procesorowej (c) Czas ten może być zmnejszony w przypadku, gdy w układze FPGA będą mplementowane wyłączne elementy przetwarzające struktury S, bez zewnętrznego bloku pamęc FIFO. W tym przypadku pojawa sę możlwość zmany długośc tej kolejk (oczywśce, kosztem zwększena złożonośc bloku sterowana), np. po zakończenu realzac każdego podgrafu. Taka możlwość jest uzasadnona tym, że (zgodne z algorytmem (5)) po wykonanu każdego kroku algorytmu zmnejsza sę o jeden lczba elementów w każdej kolumne w każdym werszu macerzy A (borących udzał w dalszych oblczenach). To oznacza, że po realzac każdego podgrafu G g, lczba ta zmnejsza sę o h elementów. Z tego powodu długość zewnętrznej kolejk FIFO po realzac każdego podgrafu G g może być zmnejszona o N h komórek. W wynku, czas realzac podgrafu G g będze równy t N g h + h taktów, a czas realzac całego algorytmu (5) będze wynosł S t ( N g h + h) s N s N g = 1 taktów. Należy zaznaczyć, że osągnęte zmnejszene czasu realzac algorytmu jest newelke, szczególne dla dużych wartośc N. Stąd można wnoskować (borąc pod uwagę także zwększene złożonośc bloku sterowana), ze efektywność realzac oba warantów archtektury S w zwykłych jedno-kontekstowych układach FPGA jest nska. Bardzej efektywne wykorzystać ważną cechę algorytmu (5), polegającą na zmnejszenu na każdym kroku o jeden lczby elementów w każdej kolumne w każdym werszu macerzy A, można przy mplementac struktury S w dynamczne rekonfgurowalnych welokontekstowych układach FPGA. Teraz bowem, pojawa sę możlwość określena funkc odwzorowana szeregującego F T dla każdego podgrafu G g z osobna. Poneważ po realzac każdego podgrafu, w każdej kolumne w każdym werszu macerzy A zmnejsza sę o h lczba elementów, które borą udzał w dalszych oblczenach, dla g-go podgrafu G g (g = 1,..., s) funkcja ta będze mała następującą postać: [ 1 ( N g h + h) 1] / F =. (10) g T (9)

Funkcja ta określa kolejność realzac werzchołków podgrafu G g w strukturze S, uwzględna zmnejszene długośc wszystkch kolejek FIFO znajdujących sę wewnątrz struktury S o h komórek oraz długość zewnętrznej kolejk FIFO o h ( N - h) komórek po zakończenu realzac każdego podgrafu. To oznacza, że przy mplementac struktury S w welokontekstowym układze FPGA do poszczególnych bloków pamęc konfguracyjnej układu mogą być zapsane wszystke s konfgurac struktury S (gdze s lczba podgrafów), które sę różną wyłączne długoścą kolejek FIFO. W tym przypadku czas realzac podgrafu G g będze równy t 3 ( N g h + h) taktów, a czas realzac całego algorytmu (5) będze wynosł S t3 ( N g h + h) s N /3 + N (11) g = 1 taktów, tj. prawe trzykrotne mnej w porównanu do czasu realzac algorytmu na tej samej strukturze S przy jej realzac w zwykłym jedno-kontekstowym układze FPGA. To powoduje prawe trzykrotne zwększene wydajnośc systemu oraz współczynnka obcążena (η 1/). Należy zaznaczyć, że dla wększośc podstawowych algorytmów algebry lnowej można uzyskać podobne wynk, poneważ one też mogą być realzowane na strukturze S. 4. PODSUMOWANIE Na podstawe wykonanej w nnejszej pracy analzy ustalono, że efektywna realzacja archtektur macerzy procesorowych w dynamczne rekonfgurowalnych welokontekstowych układach FPGA jest możlwa pod warunkem otrzymana takch archtektur w oparcu o lokalne równoległą globalne szeregową metodę dekompozyc grafu algorytmu na podgrafy. W wynku proponuje sę sposób podzału struktury systemu na podstruktury o porównywalnej złożonośc, oparty o dekompozycję grafu algorytmu na podgrafy odwzorowane otrzymanych podgrafów na odpowedne podstruktury systemu. Na przykładze zaprojektowana archtektury macerzy procesorowej dla realzac algorytmu Cholesky ego przeprowadzonej analzy efektywnośc jej mplementac w jedno- welo-kontekstowych układach FPGA pokazano, że zaletam opracowanego sposobu jest możlwość realzac całego systemu w mnejszym (w porównanu do zwykłych układów FPGA) welokontekstowym układze FPGA (lub) zwększene wydajnośc realzowanego w tym układze systemu. LITERATURA [1] Canto E., Moreno J.M., Cabestany J., Lacadena I., Inserser J.M. A Method for Improvng the Functonal Densty on Dynamcally Reconfgurable Logc by Temporal Bparttonng. Proc. 7-th Int.Conf. Mxed desgn of ntegrated crcuts systems, MIXDES 000, Gdyna, Poland, pp. 155-160. [] Moreno J.M., Naperalsk A., Kełbk R., Lacadena I., Insenser J.M., FIPSOC New Concepr of programmable Devces, Proc. 3-th Int. Workshop DDECS 000, Smolence, Slovaka, 000, pp.154-160. [3] Kełbk R., Moreno J.M., Naperalsk A., Szymańsk T. Hgh-Level Parttonng for Dynamcally Reconfgurable Logc. Proc. 7-th Int.Conf. Mxed desgn of ntegrated crcuts systems, MIXDES 000, Gdyna, Poland, pp. 171-174. [4] S. Y. Kung. VLSI Array Processors. Englewood Clffs, N.J., Prentce Hall, 1988. [5] Moreno J.H., Lang T. Matrx computatons on systolc-type arrays. Kluwer Acad.Publ., 199. [6]. Wyrzykowsk R., Kanevsk J.S., Maslennkov O. Mappng recursve algorthms nto processor arrays. Proc. Int. Workshop Parallel Numercs'94, M.Vajtersc and P.Znterhof eds., Smolence, (Slovaka), 1994, pp.169-191. [7]. Jennngs A., McKeown J.J. Matrx computatons. Wlley &Sons, Chchester,199.

REALIZATION OF VLSI PROCESSOR ARRAYS IN DYNAMICALLY PROGRAMMABLE FPGA DEVICES Oleg Maslennkow Techncal Unversty of Koszaln, Department of Electroncs, Ul. Snadeckch, 75-453 Koszaln emal: oleg@e.tu.koszaln.pl Abstract In ths paper, an analyss of effectve mplementaton of fxed-sze processor arrays n dynamcally programmable FPGA devces s performed. As the result, the approach to decomposton of the processor array structure to several substructures wth nearly equal hardware overheads s proposed. Ths approach s based on the locally parallel globally sequental method of the target algorthm dependence graph decomposton, wth further mappng of obtaned subgraphs onto resultng substructures of the array. The proposed approach allows radcally reduce (up to p tmes) the number of confgurable logc cells needed for mplementaton of the target system n FPGA devces wth p copes of the confguraton memory block, or (and) radcally reduce of the algorthm executon tme. The mentoned advantages of the approach s llustrated on the example of desgnng the fxedsze processor array for realzaton of Cholesky algorthm and ts mplementaton n dynamcally programmable FPGA devces.