Procesy w systemie komputerowym na styku dane
Transkrypt
Procesy w systemie komputerowym na styku dane
Referat pracy doktorskiej Promotor: prof. Franciszek Grabowski Procesy w systemie komputerowym na styku dane-algorytm prostego sortowania przez wstawianie w ujęciu statystyki nieekstensywnej Dominik Strzałka Zakład Systemów Rozproszonych Politechnika Rzeszowska GLIWICE 2009 Plan wystąpienia: 1. Cele i tezy pracy 2. Podejście systemowe w informatyce 3. Sortowanie przez wstawianie 4. Klasyczna analiza algorytmu 5. Problem dynamiki pracy 6. Fundament termodynamiczny: entropia Tsallisa 7. Analiza dynamiki pracy algorytmu 8. Propozycja praktycznego wykorzystania badań Cele pracy 1. Opis ewolucji paradygmatów informatyki. 2. Analizę konsekwencji odejścia od paradygmatu przetwarzania algorytmicznego na rzecz przetwarzania interakcyjnego. 3. Przegląd wybranych cech systemów złoŜonych. 4. PrzybliŜenie koncepcji entropii nieekstensywnej oraz idei sprzęŜenia zwrotnego w systemach znajdujących się w środowisku o ograniczonych zasobach. 5. Analizę algorytmu prostego sortowania przez wstawianie w klasycznym ujęciu. 6. Analizę termodynamiczną algorytmu prostego sortowania przez wstawianie w ujęciu entropii nieekstensywnej. 7. Badania dynamiki pracy algorytmu sortującego. 8. Wskazanie moŜliwości praktycznego zastosowania wyników pracy. Tezy 1. W klasycznym modelu obliczeń algorytmicznych (maszyna Turinga) przyjmuje się, Ŝe na styku dane-algorytm generowane są wyłącznie procesy z zaleŜnościami o charakterze krótkozasięgowym. Tymczasem styk dane-algorytm moŜe być systemem złoŜonym charakteryzującym się zaleŜnościami o charakterze długozasięgowym. 2. O dynamice procesów w czasie przetwarzania decydują poszczególne warstwy systemu. Hierarchicznie najwyŜszą warstwą jest styk algorytm struktura danych i dynamika procesów w nim generowanych ma najwyŜszą wagę. 3. Podczas sortowania przez wstawianie dla zbiorów wejściowych z róŜnego typu zaleŜnościami czasowymi dynamika przetwarzania jest daleka od stanu równowagi termodynamicznej. Tezy 4. Immanentną cechą struktury danych wejściowych jest to, iŜ moŜe ona nie posiadać charakteru jednorodnego, lecz charakteryzować się zaleŜnościami o charakterze długozasięgowym. 5. W trakcie przetwarzania występujące w zadaniu zaleŜności o charakterze długozasięgowym skutkują niedopasowaniem zadania do struktury wykonawczej. 6. Przetwarzanie w systemie komputerowym posiada takŜe charakter interaktywny; o złoŜoności obliczeniowej nie decyduje wyłącznie statyczna miara złoŜoności algorytmu, lecz dynamiczna złoŜoność obliczeniowa całego systemu komputerowego. Istotny wpływ w tym względzie ma styk dane-algorytm. Struktura zadania – środowisko przetwarzania Nierównowaga termodynamiczna Fundament termodynamiczny mądrość Przetwarzanie interakcyjne Przetwarzanie równoległe i rozproszone wiedza informacja dane Obliczenia autonomiczne Przetwarzanie algorytmiczne Przetwarzanie sekwencyjne Stopień złoŜoności Stopień złoŜonoś oności Entropia??? MASZYNA TURINGA PRZETWARZANIE ALGORYTMICZNE - obliczenia są „zamknięte” tzn. wyklucza się w nich wpływ otoczenia; - w implementacjach zasoby (czas i pamięć) są skończone; - zachowanie jest ściśle ustalone (deterministyczne). KaŜdy komputer moŜe zostać zasymulowany na maszynie Turinga. Kiedykolwiek istnieje efektywna metoda rozwiązywania pewnego problemu przez komputer, moŜe ona być obliczona przez maszynę Turinga. PRZETWARZANIE INTERAKCYJNE SYSTEMY ZŁOśONE ALGORYTM JĘZYK PROGRAMOWANIA (NEUTRALNY) PROGRAMISTA (NEUTRALNY) KOMPILATOR (NEUTRALNY) DANE WEJŚCIOWE SPRZĘT (IDEALNY) SPRZĘśENIE ZWROTNE PODEJŚCIE SYSTEMOWE DANE WEJŚCIOWE ALGORYTM SPRZĘśENIE ZWROTNE Przetwarzanie algorytmiczne, jak do tej pory traktowane było w kategoriach systemów prostych dziś wymaga zupełnie nowego spojrzenia. SORTOWANIE PRZEZ WSTAWIANIE START j 2 1 for j 2 to length(A) do 2 key A[j] 3 i j-1 4 while (i>0 and A[i]>key) 5 do A[i+1] A[i] 6 i i–1 7 A[i+1] key key A[j] i j-1 i>0 N A[i]>key T A[i+1] key j j+1 A[i+1] A[i] i i-1 j>length(A) T STOP N Jak ocenić „jakość” tego algorytmu ? Pesymistyczna: dla kaŜdego kolejnego elementu wykonaj o jedną operację dominującą więcej, stąd złoŜoność: O(n2) Optymistyczna: dla kaŜdego kolejnego elementu wykonaj jedną operację dominującą, stąd złoŜoność: Powszechnie akceptowanym kryterium jest złoŜoność obliczeniowa Ω(n) A co z „jakością” pomiędzy przypadkami pesymistycznym i optymistycznym ? ZłoŜoność oczekiwana ? przypadek pesymistyczny złoŜoność oczekiwana inwersje przypadek optymistyczny sekwensy α1 = 1 α2 → ∞ DYNAMIKA PROCESU SORTOWANIA Przetwarzanie jako przepływ t(n) przepływ laminarny przepływ turbulentny T(n) przypadek optymistyczny n Problem termodynamicznego fundamentu q=-50 q=-2 q=1 q=1.2 q=1.5 0.5 istnienia rozkładów prawdopodobieństwa 0.4 p(x) 0.3 Entropia BG 0.2 0.1 Rozkłady o skończonej wartości wariancji 0.0 -4 -3 -2 -1 0 1 2 4 q=1 q=1.6667 q=1.8 q=2 q=2.5 q=2.999 0.1 0.01 p(x) CięŜkie (potęgowe) i półcięŜkie ogony 3 x 1E-3 Brak fundamentu termodynamicznego 1E-4 -10 -5 0 x 5 10 Algorytm jako system ze stanami nierównowagowymi Sortowanie to proces wprowadzania porządku, czyli zmniejszania entropii. M1 – ilość wywołań pętli zewnętrznej, M2 – ilość wywołań pętli wewnętrznej, M3 – ilość braku wywołań pętli wewnętrznej. M = M1 + M2 + M3 = n W =C M1 M ⋅C M2 M − M1 M − M1 )! ( M! M! = ⋅ = M 1 !( M − M 1 ) ! M 2 !( M − M 1 − M 2 ) M 1 ! M 2 ! M 3 ! Przypadek optymistyczny: ni ! WO = = ni 1!0!(ni − 1)! Z punktu widzenia termodynamiki są to przypadki dokładnie takie same, nadto całkowicie deterministyczne Przypadek pesymistyczny: WP = ni ! = ni 1!(ni − 1)!0! Przypadek „dynamiczny”: WD = (n − 2)!(ni − 1)ni = n (n − 1) ni ! = i i i (ni − 2)! 1!1!(ni − 2 )! W przypadku „dynamicznym” produkcja entropii jest na znacznie wyŜszym poziomie. Czy ma ona charakter ekstensywny? Rozkład prawdopodobieństwa pojawiania się przyrostów ilości operacji dominujących potrzebnych do sortowania kaŜdego kolejnego elementu w procesie sortowania zbioru liczącego n = 32000 elementów. Tylko w wybranych fragmentach rozkład ma charakter ekstensywny. spadek przyrost Entropia Tsallis’a moŜe pozwolić na pełny opis dynamiki ikey A[1...i-1] - START czas trwania j 2 key A[j] i j-1 ciąg juŜ posortowany i>0 N A[i]>key SPRZĘśENIE ZWROTNE IN OUT sortowanie i > 0 T A[i+1] key j j+1 A[i+1] A[i] i i-1 j>length(A) T A[i] > key STOP N W proponowanym podejściu dynamika procesu sortowania badana będzie dla wybranych zbiorów danych wejściowych. Są to trajektorie ułamkowego ruchu Browna z dwoma wartościami wykładnika H. Własności statystyczne czasu Ŝycia wewnętrznej pętli algorytmu Rozkład wartości wykładnika prawa potęgowego Prawo potęgowe Własności statystyczne przyrostów ilości wywołań pętli wewnętrznej algorytmu Problem stacjonarności Linie kwantylowe zostały zbadane takŜe dla wszystkich pozostałych analizowanych szeregów Własności statystyczne przyrostów ilości wywołań pętli wewnętrznej algorytmu Problem rozkładu prawdopodobieństwa rozkład rzeczywisty rozkład Gaussa 1E-3 p(t'(n)) 1E-4 Ogony rozkładu w skali log-lin zanikają wolno 1E-5 1E-6 1E-7 -5000 spadek 0 t'(n) 5000 przyrost Proces ma charakter subekstensywny Własności statystyczne przyrostów ilości wywołań pętli wewnętrznej algorytmu Problem długoterminowości Przeskalowany zasięg JeŜeli zbiór danych charakteryzował się zaleŜnościami o charakterze długoterminowym, to dynamika pracy algorytmu takŜe była nimi rządzona. Nierównowaga termodynamiczna w algorytmie Diagramy bifurkacyjne dla algorytmu sortowania przez wstawianie ZaleŜności o charakterze długoterminowym w zadaniu sprawiają, Ŝe bifurkacje mają specyficzny charakter. MoŜliwość praktycznego wykorzystania badań predykcja długoterminowa algorytm sterowanie dostępem bufor system operacyjny śledzenie stanu dane wejściowe modyfikacja priorytetów zasoby sprzętowe algorytm dane wejściowe Komputer sterowany programem bufor Predykcja zaleŜności o charakterze długoterminowym Komputer sterowany danymi Dziękuję za uwagę