mgr in. Krzysztof Siedlecki

Wielkość: px
Rozpocząć pokaz od strony:

Download "mgr in. Krzysztof Siedlecki"

Transkrypt

1 P O L I T E C H N I K A S Z C Z E C ISKA W Y D Z I A Ł I N F O R M A T Y K I K A T E D R A T E C H N I K P R O G R A M O W A N I A mgr in. Krzysztof Siedlecki A l g o r y t m y w y s z u k i w a n i a d r o b n o - i g r u b o z i a r n i s t e j r ó w n o l e g ł oci w ptlach programowych z z a l enociami afinicznymi R o z p r a w a d o k t o r s k a P R O M O T O R : prof. dr hab. in. Włodzimierz Bielecki SZCZECIN 2008

2 Podzikowania Składam serdeczne podzikowania wszystkim, którzy słuc mi swoj pomoc przyczynili si do powstania niniejszej pracy, a w szczególnoci: prof dr. hab. in. Włodzimierzowi Bieleckiemu za opiek naukow w trakcie moich studiów doktoranckich oraz cenn pomoc merytoryczn podczas realizacji pracy naukowej, mojej onie Edycie za wszelk pomoc w trakcie pisania pracy, cierpliwo i wsparcie w wielu trudnych chwilach.

3 Spis treci Spis treci SPIS TRECI... I SPIS RYSUNKÓW... IV SPIS TABEL... VII SPIS ALGORYTMÓW... VIII SPIS SYMBOLI... IX SŁOWNIK SKRÓTÓW... X 1. WSTP STAN PROBLEMU CEL I TEZA BADAWCZA PRACY STRUKTURA PRACY PRZETWARZANIE RÓWNOLEGŁE PRZEGLD ZAGADNIENIA ARCHITEKTURA MASZYN RÓWNOLEGŁYCH ZALENOCI: REPREZENTACJA I WYKRYWANIE... 16!" # $ 2.3. PRZETWARZANIE RÓWNOLEGŁE PODSTAWOWE POJ CIA # %$&' # ( $ & ) " 2.4. RODOWISKA PROGRAMOWANIA SYSTEMÓW WIELOPROCESOROWYCH * +,(# * (+-#' *# +./! # ** 0 (+# 2.5. PROGRAMOWANIE KOMPUTERÓW WIELOPROCESOROWYCH PODSUMOWANIE ALGORYTMY WYSZUKIWANIA NIEZALENYCH FRAGMENTÓW KODU PROJEKTOWANIE RÓWNOLEGŁYCH ALGORYTMÓW IDEA WYZNACZANIA NIEZALENYCH FRAGMENTÓW KODU i

4 Spis treci 3.3. POJ CIA ZWIZANE Z WYZNACZANIEM NIEZALENYCH FRAGMENTÓW KODU P TLE IDEALNIE ZAGNIEDONE #* &$! 1 #* 2 $!3) $&* #*# 2! 3) &$&4 #** 2 ) $&!3) ' 3.5. P TLE DOWOLNIE ZAGNIEDONE # 2 $!3) $&'4 # 2!!3) ) $& ## 2!3) $&)3& &$& ' #* 2!3) $& ) TWORZENIE KODU REPREZENTUJCEGO DROBNOZIARNIST RÓWNOLEGŁO PODSUMOWANIE BADANIA EKSPERYMENTALNE KRYTERIA WYBORU P TLI DO TESTÓW MODYFIKACJE P TLI TRANSFORMACJE KODU WYNIKOWEGO BADANIA EKSPERYMENTALNE WYBRANYCH P TLI ZBIÓR P TLI LIVERMORE 90 ** +64" ** +61"* **# +6"' 4.5. BADANIE EKSPERYMENTALNE WYBRANYCH P TLI ZBIÓR TESTÓW NPB * +7/8 81 * +9/8&.381* *# +:; 8< ** +;=88 * +; =833& 8# *' +; =8 8*1 * +; =8 &8'# *4 +; =83 8' *" +87/8!8" *1+8+8>8## 4.6. WNIOSKI Z PRZEPROWADZONYCH BADA ii

5 Spis treci 5. PRACE POKREWNE PODSUMOWANIE WNIOSKI KOCOWE DALSZE BADANIA PUBLIKACJE WŁASNE BIBLIOGRAFIA iii

6 Spis rysunków Spis rysunków RYSUNEK 2.1. ARCHITEKTURA KOMPUTERA RÓWNOLEGŁEGO TYPU SIMD [29] RYSUNEK 2.2. ARCHITEKTURA MASZYN RÓWNOLEGŁYCH TYPU SIMD [29] RYSUNEK 2.3. SCHEMAT BUDOWY SYSTEMÓW WIELOPROCESOROWYCH Z PAMI CI DZIELON[29] RYSUNEK 2.4. ARCHITEKTURA UMA [29] RYSUNEK 2.5. ARCHITEKTURA NUMA [29] RYSUNEK 2.6. ARCHITEKTURA COMA [29] RYSUNEK 2.7. BUDOWA SYSTEMU Z PAMI CI ROZPROSZON [29] RYSUNEK 2.8. GRAFICZNA REPREZENTACJA ZBIORÓW S 1 I S 2 [OP. WŁASNE] RYSUNEK 2.9. GRAFICZNA REPREZENTACJA MAPOWANIA ZGODNIE Z RELACJ R [OP. WŁASNE] RYSUNEK MAPOWANIE POJ Z DZIEDZINY ZALENOCI DANYCH NA PRZYJ TY SPOSÓB REPREZENTACJI ZALENOCI [OP. WŁASNE] RYSUNEK GRAF ZALENOCI [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA WIELKOCI TEORETYCZNEGO PROBLEMU (N) ORAZ LICZBY PROCESORÓW (P) [OP. WŁASNE] RYSUNEK MODEL ROZWIDLENIA WTKÓW (ANG. FORK-JOIN) [51] RYSUNEK 3.1. METODOLOGIA PROJEKTOWANIA PROGRAMÓW RÓWNOLEGŁYCH [34] RYSUNEK 3.2. SCHEMAT IDEOWY ALGORYTMÓW (PRZEPŁYW DANYCH) [OP. WŁASNE] RYSUNEK 3.3. RELACJA ZALENOCI R, TRANZYTYWNE POZYTYWNE DOMKNI CIE ORAZ TRANZYTYWNE DOMKNI CIE (W KOLEJNOCI OD LEWEJ) [OP. WŁASNE] RYSUNEK 3.4. POCZTKI SLICE ÓW, KRACOWE POCZTKI, FRAGMENTY WYMAGAJCE I POZBAWIONE SYNCHRONIZACJI [OP. WŁASNE] RYSUNEK 3.5A PRZESTRZE ITERACJI P TLI WRAZ Z ZALENOCIAMI DLA PRZYKŁADU 3.1 [OP. WŁASNE] RYSUNEK 3.5B ZALENOCI DLA PRZYKŁADU 3.1 PO WYKONANIU ALGORYTMÓW 3.1 I 3.2 [OP. WŁASNE] RYSUNEK 3.6. ZALENOCI DLA P TLI Z PRZYKŁADU 3.2, GDZIE N=8 [OP. WŁASNE] RYSUNEK 3.7. PRZESTRZE ITERACJI P TLI DLA PRZYKŁADU 3.3, GDZIE N = 4 [OP. WŁASNE] RYSUNEK 3.8A KOLEJNO PRZEBIERANIA ELEMENTÓW ZBIORÓW S I S [OP. WŁASNE].. 63 RYSUNEK 3.8B KOD PRZEBIERAJCY NIEZALENE FRAGMENTY [OP. WŁASNE] RYSUNEK 3.9A ZALENOCI OPISANE PRZEZ RELACJE R 1, R 2, R 3, R 4, R 5, N=10 [OP. WŁASNE] iv

7 Spis rysunków RYSUNEK 3.9B ZALENOCI OPISANE PRZEZ RELACJE R 1, R 2, R 3, R 4, R 5 ', N=10 [OP. WŁASNE] RYSUNEK RODZAJE ZALENOCI W GRAFIE CRDG [OP. WŁASNE] RYSUNEK NIEZALENE FRAGMENTY DLA P TLI Z PRZYKŁADU 3.5, GDZIE N=5 I M=6 [OP. WŁASNE] RYSUNEK GRAF RDG DLA P TLI PO LEWEJ [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI K8 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI K8 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI K10 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI K10 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI K22 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI K22 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI BT_ERROR_2 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI BT_ERROR_2 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI P TLA BT_ERROR_2 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI FT_AUXFNCT_2 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI FT_AUXFNCT_2 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI FT_AUXFNCT_2 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI LU_HP_L2NORM_2 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI LU_HP_L2NORM_2 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI LU_HP_L2NORM_2 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI UA_ADAPT_1 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI UA_ADAPT_1 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI UA_ADAPT_1 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI UA_DIFFUSE_3 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI UA_DIFFUSE_3 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI UA_DIFFUSE_3 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI UA_PRECOND_4 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI UA_PRECOND_4 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI UA_PRECOND_4 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI UA_SETUP_16 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI UA_SETUP_16 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI UA_SETUP_16 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI UA_TRANSFER_11 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI UA_TRANSFER_11 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI UA_TRANSFER_11 [OP. WŁASNE] v

8 Spis rysunków RYSUNEK CZAS WYKONANIA P TLI _BT_RHS_1 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI _BT_RHS_1 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI _BT_RHS_1 [OP. WŁASNE] RYSUNEK CZAS WYKONANIA P TLI _SP_NINVR_1 [OP. WŁASNE] RYSUNEK PRZYPIESZENIE DLA P TLI _SP_NINVR_1 [OP. WŁASNE] RYSUNEK EFEKTYWNO DLA P TLI _SP_NINVR_1 [OP. WŁASNE] RYSUNEK 5.1. ZALENOCI DLA P TLI Z PRZYKŁADU 5.1 [OP. WŁASNE] RYSUNEK 5.2. ZREDUKOWANY ZBIÓR ZALENOCI DLA PRZYKŁADU 5.1 [OP. WŁASNE] 145 vi

9 Spis tabel Spis tabel TABELA 2.1. PODSTAWOWE OPERACJE NA RELACJACH I ZBIORACH W ARYTMETYCE PRESSBURGERA TABELA 2.2. ZESTAWIENIE TRANSFORMACJI DO UZYSKANIA OKRELONEJ ZIARNISTOCI KODU [1], [5] TABELA 2.3. PORÓWNANIE MODELI PROGRAMOWANIA RÓWNOLEGŁEGO TABELA 4.1. PRZYKŁAD REDUKCJI ZALENOCI ODWROTNYCH ORAZ PO WYJCIU TABELA 4.2. STATYSTYKI ILOCIOWE I PROCENTOWE DLA TESTU NPB TABELA 4.3. ZESTAWIENIE ILOCIOWE P TLI ORYGINALNYCH I ZMODYFIKOWANYCH TABELA WYNIKI DZIAŁANIA ALGORYTMÓW DLA P TLI ZE ZBIORU LIVERMORE TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI K TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI K TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI K TABELA 4.5. ZESTAWIANIE TYPÓW HARMONOGRAMOWANIA TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI BT_EROR_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI FT_AUXFNCT_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI LU_HP_L2NORM_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI UA_ADAPT_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI UA_DIFFUSE_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI UA_PRECOND_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI UA_SETUP_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI UA_TRANSFER_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI _BT_RHS_ TABELA POSTA SEKWENCYJNA I RÓWNOLEGŁA P TLI _SP_NINVR_ TABELA ZESTAWIENIE WYNIKÓW Z PRZEPROWADZONYCH BADA TABELA 5.1. MOLIWE TRANSFORMACJE W ZALENOCI OD TYPU PRZEKSZTAŁCE [60] TABELA A.1. CHARAKTERYSTYKA SYSTEMU SGI ALTRIX TABELA A.2. CHARAKTERYSTYKA SYSTEMU INTEL QUAD-CORE vii

10 Spis algorytmów Spis algorytmów ALGORYTM 3.1 REDUKCJA NADMIAROWYCH ZALENOCI ALGORYTM 3.2 REDUKCJA RELACJI O RÓWNOLEGŁYCH WEKTORACH DYSTANSU ALGORYTM 3.3 WYSZUKIWANIE POCZTKÓW DLA FRAGMENTÓW KODU ALGORYTM 3.4 WYZNACZANIE PODPRZESTRZENI ZAWIERAJCYCH NIEZALENE FRAGMENTY ALGORYTM 3.5. WYZNACZANIE ITERACJI NALECYCH DO NIEZALENYCH FRAGMENTÓW ORAZ GENERACJA KODU ALGORYTM 3.6. WYSZUKIWANIE POCZTKÓW NIEZALENYCH FRAGMENTÓW W GRAFIE ZREDUKOWANYCH RELACJI (CRDG) ALGORYTM 3.7. WYZNACZANIE ORAZ GENEROWANIE KODU DLA NIEZALENYCH FRAGMENTÓW DLA GRAFU CRDG ALGORYTM 3.8. WYZNACZANIE NIEZALENYCH FRAGMENTÓW KODU DLA P TLI O DOWOLNYM GRAFIE ZALENOCI ALGORYTM 3.9. WYSZUKIWANIE NIEZALENYCH FRAGMENTÓW KODU W GNIEDZIE P TLI viii

11 Spis symboli Spis symboli symbol oznacza porzdek leksykograficzny midzy dwoma instancjami instrukcji S 1 (I) i S 2 (J), taki, e wykonanie instancji instrukcji S 1 (I) poprzedza wykonanie instrukcji S 2 (J) symbol oznacza wystpienie zalenoci prostej (ang. data-flow dependence) midzy dwoma instancjami instrukcjami -1 0 symbol oznacza wystpienie antyzalenoci (ang. antidependence) midzy dwoma instancjami instrukcjami symbol oznacza wystpienie zalenoci po wyjciu (ang. output dependence) midzy dwoma instancjami instrukcjami ang. exist, kwantyfikator szczegółowy oznacza, e istnieje takie podstawienie zmiennej, e dane twierdzenie zachodzi ang. intersection, cz wspólna dwóch zbiorów lub relacji ang. difference, rónica dwóch zbiorów lub relacji ang. union, unia (suma) dwóch zbiorów lub relacji ang. inverse, zaprzeczenie relacji, nieprawda e... ang. all, kwantyfikator ogólny oznacza, e dane twierdzenie jest prawdziwe przy dowolnej wartoci zmiennej ix

12 Spis skrótów Słownik skrótów ATF ang. Affine Transformation Framework, zbiór przekształce afinicznych pozwalajcych na wykonanie wielu transformacji w sposób jenolity UMA ang. uniform memory access, architektura o jednolitym dostpie do pamici gloalnej NUMA ang. nonuniform memory Access, architektura o niejednolitym dostpie do pamici globalnej COMA ang. cache-only memory architecture, architektura w której pami globalna składa si z pamici podrcznych procesorów SMP ang. symetric multiprocessor, system wieloprocesorowy o architekturze typu UMA OpenMP ang. Open Multi-Processing, standard programowania równoległego oparty na dyrektywach preprocesora oraz funkcjach bibliotecznych RDG ang. reduced dependence graph, zredukowany graf zalenoci CRDG ang. connected reduced dependence graphs, połczony zredukowany graf zalenoci SCC ang. strongly connected component, cile połczony graf NPB ang. NAS Parallel Benchmarks, zbiór programów pozwalajcy na zbadanie wydajnoci systemów jedno- i wieloprocesorowych SPMD ang. Single Program Multiple Data, pojedynczy program wiele danych PCAM ang. partitioning, communication, agglomeration and mapping, proces projektowania algorytmów równoległych złoony z czterech etapów: podział, komunikacja, aglomeracja i mapowanie x

13 1 1. WSTP Niniejszy rozdział stanowi wprowadzenie do problematyki poruszanej w rozprawie doktorskiej. W podrozdziale 1.1 zaprezentowano skrócony opis stanu wiedzy w zakresie poruszanego tematu oraz prowadzonych bada. Przedstawiono uzasadnienie podjtego zagadnienia, luk poznawcz, w której zawiera si praca oraz dziedzin nauk, do jakiej praca została zakwalifikowana. W kolejnym punkcie zdefiniowano cel pracy wraz z tez badawcz pracy. Przedstawiono przesłanki przemawiajce za wybranym kierunkiem bada oraz korzyci wynikajce z tego wyboru. Dodatkowo opisano dane wejciowe i wyjciowe, zakres stosowalnoci, wykorzystane narzdzia oraz metodyk bada i sposób weryfikacji zaproponowanych algorytmów. Podrozdział 1.3 obejmuje struktur pracy wraz z krótk charakterystyk poszczególnych rozdziałów Stan problemu Nieustanny postp technologiczny w dziedzinie sprztu komputerowego oraz wysiłki ze strony twórców oprogramowania w zakresie przetwarzania równoległego skutkuj popularyzacj tej dziedziny w rodowiskach akademickich i biznesowych. Zapotrzebowanie na maszyny o duej mocy obliczeniowej nieustannie wzrasta. Tendencja ta ma charakter stały i w najbliszej przyszłoci bdzie ulega nasileniu. Programy dedykowane na maszyny wieloprocesorowe znaczco róni si od programów sekwencyjnych. Zagadnienia takie jak: zarzdzanie wtkami czy wyszukiwanie fragmentów kodu do zrównoleglenia nie nale do łatwych, dlatego te uytkownicy nieposiadajcy wiedzy z dziedziny przetwarzania równoległego i rozproszonego najczciej nie wykorzystuj w pełni mocy tkwicych w maszynach wieloprocesorowych. Tworzone przez nich programy niejednokrotnie zawieraj błdy

14 Wstp i s nieefektywne. W zwizku z powyszym dla przecitnego uytkownika bardziej naturalne i mniej skomplikowane wydaje si tworzenie rozwiza sekwencyjnych w przeciwiestwie do rozwiza równoległych. Przekształcanie programów sekwencyjnych na ich odpowiedniki równoległe powinno by w jak najwikszym stopniu zautomatyzowane np. przy pomocy dedykowanych kompilatorów wykorzystujcych odpowiednie techniki analizy i transformacji kodu sekwencyjnego na jego równoległy odpowiednik. Statystycznie najwicej czasu, jaki procesor potrzebuje do realizacji zadania zajmuje wykonanie instrukcji zawartych w ptlach programowych, w szczególnoci w ptlach składajcych si z wielu iteracji. Ze wzgldu na czas wykonania, transformacja tych obszarów programu moe przynie najwiksze korzyci. Przekształcenie ptli programowych do ich równoległej postaci naley poprzedzi analiz zalenoci, której zadaniem jest okrelenie, w jaki sposób iteracje bd instrukcje ptli zale od siebie w trakcie wykonania. Informacje uzyskane w wyniku przeprowadzonej analizy pozwalaj wyeliminowa zalenoci poprzez wykonanie jednej lub sekwencji odpowiednich transformacji. Kolejnym krokiem jest podział przestrzeni iteracji ptli na wiele procesorów (dla maszyn równoległych) lub wzłów (dla systemów rozproszonych). W zwizku ze złoonoci procesu analizy zalenoci wystpujcych w ptlach jak i generacji kodu, wydaje si niezbdnym stworzenie algorytmów umoliwiajcych automatyzacj procesu transformacji ptli sekwencyjnych na ptle równoległe. Zaproponowano wiele rozwiza umoliwiajcych wykonanie automatycznej transformacji ptli [7], [89], [90], [35], [27], [31], [32], [68], [67], [69], jednak adne z nich nie pozwala na wyszukanie pełnej równoległoci pozbawionej synchronizacji. Ponisza praca prezentuje autorskie algorytmy pozwalajce na uzyskanie niezalenych fragmentów kodu dla ptli programowych w sytuacji, kiedy inne techniki zawodz. Algorytmy te mog by równie zastosowane dla ptli dowolnie zagniedonych w przypadku, kiedy górna granica ptli podana jest jako parametr. Wyszukiwanie niezalenych fragmentów kodu pozwala na uzyskanie skalowanego rozwizania dla maszyn równoległych o rónej liczbie jednostek przetwarzajcych. Dodatkowo umoliwia osignicie wzrostu wydajnoci - dziki zwikszeniu lokalnoci danych (dla komputerów jednoprocesorowych) oraz redukcj wymaganej pamici, co w systemach mobilnych i osadzonych wie si ze zmniejszeniem zapotrzebowania na pobór prdu). Wyznaczenie niezalenych fragmentów kodu pozwala na zastosowanie dowolnej techniki zwikszajcej lokalno kodu np. blokowanie [1]. W takim przypadku wynik uzyskany w jednej iteracji musi by przechowywany w buforze do 2

15 Wstp czasu ostatniego uycia przez instrukcje z innej iteracji. Naley pamita jednoczenie, i rozmiar pamici niezbdnej do przechowania wyników uzyskanych i uywanych w rónych iteracjach okrelony jest iloci iteracji, przez które musi by przechowywany. Główna idea proponowanego rozwizania bazuje na podziale przestrzeni iteracji ptli [80]. Pocztkowo przestrze ptli dzielona jest na zbiór iteracji zalenych oraz niezalenych. Nastpnie zbiór zalenych iteracji przeszukiwany jest w celu uzyskania niezalenych fragmentów kodu. Uzyskane fragmenty przestrzeni iteracji mog by wykonane niezalenie bez koniecznoci synchronizacji pomidzy nimi. Prezentowane podejcie bazuje na dokładnej analizie zalenoci opisanych przy pomocy relacji i zbiorów krotek [58]. Zgodnie z powyszym opisem, proces tworzenia wydajnego oprogramowania jest czynnoci czasochłonn i skomplikowan, wymagajc od twórcy gruntownej wiedzy z dziedziny przetwarzania równoległego. Główne czynniki, na jakie naley zwróci uwag podczas tworzenia/projektowania programu równoległego to: architektura systemu, podział problemu na mniejsze zadania (dekompozycja / partycjonowanie) - dekompozycja domeny problemu, dekompozycja funkcjonalna, komunikacja synchroniczna oraz asynchroniczna, koszt komunikacji, opónienia oraz przepustowo, synchronizacja bariera, semafor, flaga, zalenoci danych zalenoci midzy danymi, relacje zalenoci, zarzdzanie obcieniem oblicze, ziarnisto podziału drobnoziarnisto, gruboziarnisto. W niniejszej pracy główny nacisk połoony został na podział przestrzeni iteracji ptli umoliwiajcy wyszukanie jak najwikszej liczby niezalenych fragmentów kodu. Podział taki bezporednio zwizany jest z ziarnistoci kodu, która okrela liczb oraz wielko zada, na jakie problem został podzielony. Pozwala to na uzyskanie zarówno drobnoziarnistoci jak i gruboziarnistoci poprzez zastosowanie aglomeracji (łczenie niezalenych ziaren w wiksze). Wiele istniejcych transformacji dedykowanych jest dla okrelonego typu ptli programowych np. transformacje unimodularne [7], [89], [90] - ptle idealnie zagniedone, czy te transformacje oparte na rekurencji Hamiltona (ang. Hamiltonian Recurrence) [35] - ptle o stałym wektorze dystansu. Przekształcenia oparte na mapowaniu przestrzeni iteracji przy pomocy transformacji afinicznych (ang. Affine Transformation Framework) uwaane s aktualnie za transformacje 3

16 Wstp najmocniejsze pozwalajce na wyznaczenie równoległoci pozbawionej synchronizacji [27], [31], [32], [68], [67], [69]. Jednake dla ptli niejednorodnych transformacje te nie umoliwiaj wyznaczenia harmonogramowania pozwalajcego na uzyskanie maksymalnej liczby niezalenych fragmentów kodu [27]. Celem prowadzonych bada było wypełnienie luki poznawczej, poprzez opracowanie algorytmów umoliwiajcych wyszukanie maksymalnej liczby niezalenych fragmentów kodu dla ptli dowolnie zagniedonych. Niniejsza praca ley w dziedzinie nauk technicznych i dotyczy dyscypliny informatyka. Problematyka w niej poruszana mieci si w zakresie przetwarzania równoległego, analizy zalenoci, transformacji ptli programowych oraz technik kompilacji. Wyniki uzyskane w ramach prowadzonych bada dotycz przekształce ptli programowych z wykorzystaniem analizy zalenoci. Wyniki zostały przedstawione w autorskich publikacjach w czasopismach i na konferencjach polskich [19], [17], [11], [18] oraz wiatowych [15], [14], [13], [10], [16], [12]. Stworzone algorytmy stanowi rozwinicie zagadnie zwizanych z automatycznym zrównolegleniem ptli sekwencyjnych dla kompilatorów ogólnego przeznaczenia Cel i teza badawcza pracy Aktualnie dostpne algorytmy umoliwiajce transformacje ptli programowych, pozwalaj na wyznaczenie równoległoci w ograniczonym stopniu i zakresie. Najczciej ograniczenia te dotycz struktury ptli, typu wystpujcych zalenoci jak równie poziomu, na jakim rozpatrywana jest równoległo. W odniesieniu do struktury ptli dziedzina problemu moe zosta zawona do: ptli idealnie zagniedonych, ptli nie zawierajcych instrukcji sterujcych lub ptli o stałym kroku. W drugim przypadku zawenie dziedziny problemu dotyczy typu wystpowania zalenoci, np. akceptowane s tylko zalenoci jednorodne (stały wektor dystansu) lub te zalenoci okrelonego typu (proste, odwrotne lub po-wyjciu). Ostatni typ ogranicze dotyczy składowej ptli, traktowanej jako cz niepodzielna (atomowa). Wiele rozwiza ogranicza si do transformacji ptli na poziomie pojedynczej iteracji - instrukcje (instancje instrukcji) nie s rozpatrywane osobno. Nałoenie jednego lub kombinacji powyszych ogranicze umoliwia zawenie problemu do wybranej klasy ptli, a tym samym upraszcza proces analizy i transformacji ptli. Według autora niniejszej pracy prawdziwym wyzwaniem jest opracowanie rozwizania pozwalajcego na transformacj ptli dowolnie 4

17 Wstp zagniedonych zarówno na poziomie iteracji jak i instrukcji przy jednoczesnej minimalizacji dodatkowych ogranicze. Takie podejcie bdzie pierwszym krokiem do opracowania efektywnego kompilatora ogólnego przeznaczenia, umoliwiajcego w automatyczny sposób transformacj kodu sekwencyjnego na jego równoległy odpowiednik. Celem niniejszej pracy jest opracowanie oraz weryfikacja algorytmów wyszukiwania drobno- i gruboziarnistej równoległoci w ptlach programowych z zalenociami afinicznymi. Badania prowadzone w ramach pracy słu do wykazania prawdziwoci nastpujcej tezy badawczej. Moliwe jest opracowanie algorytmów do automatycznego wyszukiwania drobno- i gruboziarnistej równoległoci w ptlach programowych o złoonoci pozwalajcej na ich zastosowanie w akademickich oraz przemysłowych kompilatorach optymalizujcych. W zakresie przetwarzania równoległego ziarnisto oblicze (ang. granularity) [86] wyznacza stosunek czasu oblicze do czasu potrzebnego na synchronizacj i komunikacj. W przypadku, gdy czas oblicze jest mniejszy od czasu zarzdzania wtkami (stosunek czasów jest mniejszy lub zbliony do 1) mówimy o drobnoziarnistej równoległoci (ang. fine-grained parallelism). Drobnoziarnisto, przy prawidłowym mapowaniu zada do poszczególnych procesorów, umoliwia maksymaln redukcj bezczynnoci jednostek przetwarzajcych oraz efektywne zarzdzanie obcieniem systemu wieloprocesorowego. Jednak koszt zarzdzania wieloma wtkami moe by zbyt duy i wpłyn na obnienie wydajnoci przetwarzania. W zwizku z tym podział kodu na drobne ziarna preferowany jest w systemach, w których koszt zarzdzania wtkami jest niewielki, a balansowanie obcieniem ma zasadnicze znaczenie dla wydajnoci całego systemu. Jeeli natomiast czas oblicze jest wikszy od czasu potrzebnego na zarzdzanie wtkami to mamy do czynienia z gruboziarnist równoległoci (ang. coarse-grained parallelism). Zalet takiego podziału jest moliwo zwikszenia wydajnoci algorytmu poprzez: redukcj czasu potrzebnego na synchronizacj i komunikacj, zwikszenie lokalnoci kodu oraz zmniejszenie zapotrzebowania na pami. Ze wzgldu na due czasy przestojów i rón wielko ziaren główn niedogodnoci jest trudno w balansowaniu obcieniem na poszczególnych jednostkach przetwarzajcych. Gruboziarnisty podział preferowany jest w systemach, w których koszt komunikacji midzy jednostkami przetwarzajcymi jest znaczny (np. systemy rozproszone). 5

18 Wstp Do głównych korzyci wynikajcych z opracowania algorytmów automatycznego wyznaczania drobno- i gruboziarnistej równoległoci mona zaliczy: zwikszenie skalowalnoci kodu, minimalizacja kosztów zwizanych z zarzdzaniem wtkami, zmniejszenie zapotrzebowania na pami niezbdn do rozwizania okrelonego problemu, redukcja kosztów i błdów zwizanych z rczn transformacj kodu sekwencyjnego na równoległy odpowiednik. Za podjciem zagadnienia bdcego tematem niniejszej pracy przemawiaj przesłanki naukowe i ekonomiczne. Biorc pod uwag przesłanki naukowe wanym wydaje si udzielenie odpowiedzi na pytanie, jaka jest maksymalna liczba niezalenych fragmentów kodu dostpna w zadanej ptli programowej. Niezaleny fragment kodu jest to zbiór instrukcji powizanych ze sob poprzez odwołania do wspólnych danych, a jednoczenie nieposiadajcy zalenoci miedzy innymi fragmentami kodu. Kady z takich fragmentów (zwany niezalenym wtkiem) moe zosta wykonany niezalenie od innych fragmentów na oddzielnych jednostkach przetwarzajcych. Równoczenie zaleno poszczególnych instrukcji w pojedynczym fragmencie, pozwala na zwikszenie lokalnoci kodu. Kada kolejna instrukcja bazuje na wyniku instrukcji poprzedzajcej. Zachowujc kolejno wykonywania instrukcji moliwe jest zapisanie biecego wyniku w szybkiej pamici podrcznej procesora, na potrzeby kolejnych oblicze. Wpływa to na redukcj czasu wykonania programu. Uzupełniajc przesłanki naukowe o aspekt ekonomiczny daje si zauway fakt, i automatyzacja procesu transformacji kodu sekwencyjnego na odpowiednik równoległy pozwala na zmniejszenie kosztów oraz redukcj błdów ludzkich zwizanych z rcznym przekształcaniem kodu. Minimalizujc udział uytkownika w procesie zrównoleglenia kodu przyczyniamy si do wzrostu popularnoci i wykorzystana systemów wieloprocesorowych w rozwizaniach komercyjnych, umoliwiajc tym, samym skorzystanie z maszyn i rodowisk wieloprocesorowych szerszemu gronu uytkowników. Ze wzgldu na moliwo transformacji ptli dowolnie zagniedonych, opracowane algorytmy maj szeroki zakres stosowalnoci. Zaproponowane przekształcenia ptli znajduj swoje zastosowanie w procesie transformacji dowolnych programów naukowych jak równie komercyjnych. W zalenoci od uzyskanej ziarnistoci, wygenerowany kod moe zosta z powodzeniem wykonany na maszynach wieloprocesorowych rónego typu (systemy rozproszone lub systemy ze wspólna pamici wykorzystujce w swojej architekturze procesory jedno i wielordzeniowe). Algorytmy dedykowane dla ptli idealnie zagniedonych pozwalaj na wyznaczenie kodu o wikszym ziarnie w stosunku do algorytmów dla ptli dowolnie 6

19 Wstp zagniedonych. Rónica ziarnistoci uzyskiwanego kodu w zalenoci od zastosowanego algorytmu wynika głównie z tego, i algorytmy analizuj ptl na poziomie iteracji, natomiast w algorytmach analiza prowadzona jest na poziomie pojedynczych instrukcji. Dane wejciowe algorytmów wyszukiwania drobno i gruboziarnistej równoległoci stanowi kod ródłowy zapisany w jzyku Petit. W celu umoliwienie konwersji ptli programowych zapisanych w jzyku Fortran wykorzystany został translator Fortran-to- Petit. Wyjciem algorytmów, po uprzednim wykryciu i redukcji zalenoci oraz wyznaczeniu zbiorów zawierajcych niezalene iteracji/instancji instrukcji, jest kod ródłowy reprezentujcy równoległo. Po wybraniu docelowego rodowiska (OpenMP, Posix Threads, MPI, PVM) moe zosta przekształcony do odpowiedniej postaci. Do wyznaczenia zalenoci wykorzystano narzdzie Petit [57]. Modyfikacje na relacjach (wyjcie programu Petit) oraz generacj kodu przeprowadzono przy pomocy pakietu Omega Calculator [59]. Powysze narzdzie stanowi integraln cz projektu Omega opracowanego na Uniwersytecie Maryland (University of Maryland). Badania przeprowadzone były na maszynie wieloprocesorowej z pamici dzielon SGI Altix 3700 (Poznaskie Centrum Superkomputerowo-Sieciowe) [46], przy wykorzystaniu kompilatora C++ firmy Intel w wersji 9.0 [52], [53]. Kod równoległy zapisany został zgodnie ze standardem programowania OpenMP [75]. Zaproponowane algorytmy zweryfikowano pod wzgldem poprawnoci i jakoci uzyskiwanych wyników. Uzyskane wyniki dla wersji wielowtkowych (ilo wtków: 2, 4, 8, 16; górne granice ptli: 64, 128, 256, 512) porównano z wersja sekwencyjn, co pozwoliło na ustalenie poprawnoci oraz okrelenie jakoci uzyskanych wyników (przyspieszenie, efektywno). Ilo operacji wykonanych w pojedynczym tecie wahała si od 64 iteracji (dla niezagniedonej ptli) do iteracji (dla ptli poczwórnie zagniedonej) dla kadej instrukcji ptli Struktura pracy Praca podzielona została na sze rozdziałów. Zawarto merytoryczna kadego z nich opisana została poniej. Pierwszy rozdział stanowi wprowadzenie do tematyki pracy. Przedstawiono w nim uzasadnienie wyboru tematu, tło omawianych zagadnie, cel, tez badawcz oraz struktur pracy. 7

20 Wstp W rozdziale 2 przedstawiono zagadnienia z dziedziny przetwarzania równoległego i rozproszonego. Omówione zostały najbardziej popularne architektury systemów równoległych wraz ze rodowiskami programistycznymi umoliwiajcymi tworzenie na nich oprogramowania równoległego. Wyjaniono podstawowe pojcia zwizane z analiz zalenoci, przedstawiono wskaniki wykorzystywane do okrelania jakoci kodu jak i samej architektury systemów równoległych. Kolejny rozdział zawiera opis zaproponowanych algorytmów wraz z przykładami obrazujcymi ich działanie. Algorytmy te podzielono na dwie kategorie w zalenoci od typu ptli. Dodatkowo kady zbiór algorytmów poprzedzono niezbdn wiedz umoliwiajc zrozumienie zaproponowanego rozwizania. W rozdziale 4 zaprezentowano badania eksperymentalne przeprowadzone przy pomocy autorskiego narzdzia, opracowanego na potrzeby bada zgodnie z zaproponowanymi algorytmami opisanymi w poprzednim rozdziale. Rozdział koczy podsumowanie wraz z wnioskami wynikajcymi z pracy. Rozdział 5 zawiera prezentacj pokrewnych prac dotyczcych tematyki poruszanej w niniejszej dysertacji. Dodatkowo w rozdziale tym przedstawiono przykład ptli, dla której transformacje afiniczne (jedne z mocniejszych transformacji) zawodz, natomiast zaproponowane algorytmy powalaj na uzyskanie niezalenych fragmentów kodu, gotowych do zrównoleglenia. Ostatni rozdział zawiera wnioski kocowe dotyczce realizacji podjtych w pracy zagadnie. 8

21 2 2. PRZETWARZANIE RÓWNOLEGŁE PRZEGLD ZAGADNIENIA Nieustanny wzrost iloci danych koniecznych do przetworzenia wie si nierozerwalnie z cigłym wzrostem zapotrzebowania na moc obliczeniow systemów informatycznych. Moce obliczeniowe pojedynczej jednostki przetwarzajcej w wielu dziedzinach nauki, przemysłu, jak równie w codziennym yciu, stały si niewystarczajce. Jednym z bardziej popularnych rozwiza problemu braku mocy obliczeniowej jest udostpnienie uytkownikowi systemów posiadajcych wicej ni jedn jednostk przetwarzajc. Architektury takich systemów mog róni si od siebie w sposób zasadniczy, co skutkuje odmiennym podejciem do modelu programowania. Podstawow rónic pomidzy programami dedykowanymi na maszyny wieloprocesorowe, a programami sekwencyjnymi stanowi liczba wtków odpowiedzialna za rozwizanie okrelonego problemu. W programach sekwencyjnych obliczenia realizowane s przez pojedynczy wtek, natomiast w programach dedykowanych na maszyny równoległe problem rozwizywany jest przez wiele wtków mapowanych na wicej ni jedn jednostk przetwarzajc. Podział problemu na mniejsze zadania, przydzielane do niezalenych wtków, wie si z koniecznoci uwzgldnienia wielu dodatkowych czynników takich jak: docelowa architektura, ziarnistoci kodu, zalenoci midzy danymi, mapowanie danych. W niniejszym rozdziale przedstawiona została architektura maszyn równoległych oraz modele programowania dedykowane dla poszczególnych architektur. Dodatkowo omówione zostały podstawowe pojcia dotyczce reprezentacji i analizy zalenoci,

22 Przetwarzanie równoległe przegld zagadnienia opisano przykładowe transformacje oraz przedstawiono wskaniki wykorzystywane w systemach wieloprocesorowych (przypieszenie, efektywno, itp.) Architektura maszyn równoległych Zgodnie z klasyfikacja zaproponowan przez Flynna w 1966 r., róne architektury komputerów moemy sklasyfikowa ze wzgldu na rodzaj strumienia informacji. Strumienie informacji wpływajce do procesora to: rozkazy oraz dane. Strumie rozkazów zdefiniowany jest, jako sekwencja instrukcji wykonywanych przez jednostk przetwarzajc. Strumie danych zdefiniowany jest, jako przepływ danych wystpujcy midzy jednostk przetwarzajc a pamici. Zgodnie z klasyfikacj Flynna obydwa strumienie mog by pojedyncze lub wielorakie. Na podstawie powyszego wyrónia si cztery rozdzielne kategorie architektur komputerów [29]: - pojedyncze rozkazy pojedyncze dane (ang. single-instruction single-date streams - SISD) - pojedyncze rozkazy wiele danych (ang. single-instruction multiple-date - SIMD) - wiele rozkazów pojedyncze dane (ang. multiple-instruction single-data - MISD) - wiele rozkazów wiele danych (ang. multiple-instruction multiple-data - MIMD) Konwencjonalne jednoprocesorowe komputery von Neumanna sklasyfikowane s jako systemy SISD. Komputery równoległe sklasyfikowane s jako maszyny typu SIMD lub MIMD. W przypadku, gdy istnieje jedna jednostka zarzdzajca i wszystkie procesory wykonuj ten sam rozkaz w sposób zsynchronizowany, maszyna sklasyfikowana jest jako SIMD. W przypadku równoległej maszyny typu MIMD, kady z procesorów zawiera własn jednostk sterujc i moe wykonywa róne instrukcje na rónych danych. W architekturze MISD, ten sam strumie danych przepływa przez procesory wykonujce róne strumienie rozkazów. W praktyce nie istnieje maszyna spełniajca załoenie kategorii MISD. W modelu SIMD komputer równoległy składa si z dwóch głównych czci: z komputera zarzdzajcego (najczciej komputer w rozumieniu maszyny von Neumanna) oraz ze zbioru synchronizowanych jednostek przetwarzajcych, mogcych wykonywa te same operacje na rónych danych (rys. 2.1). Kady z procesorów posiada niewielk ilo pamici, w której rozproszone dane s przechowywane w trakcie przetwarzania równoległego. Procesory połczone s do szyny pamici komputera zarzdzajcego. W zwizku z tym komputer zarzdzajcy ma dostp do pamici lokalnej kadego procesora. Aplikacje wykonywane s sekwencyjnie przez komputer zarzdzajcy, przy jednoczesnym wysyłaniu komend do zbioru procesorów w 10

23 Przetwarzanie równoległe przegld zagadnienia celu wykonania instrukcji SIMD w sposób równoległy. W architekturze SIMD, równoległo uzyskiwana jest poprzez wykonywanie identycznych instrukcji na duym zbiorze danych. Von Neumann komputer zbiór procesorów Rysunek 2.1. Architektura komputera równoległego typu SIMD [29] Wyrónia si dwie główne konfiguracje maszyn równoległych typu SIMD. Na rys. 2.2a kady procesor posiada własn pami lokaln. Procesory mog komunikowa si ze sob poprzez sie połcze. Jeli sie połcze uniemoliwia uzyskanie bezporedniego połczenia midzy dwoma procesorami, para procesorów moe wymieni dane poprzez procesor poredniczcy. Na rys. 2.2b procesory i moduły pamici komunikuj si midzy sob poprzez sie połcze. Dwa procesory przesyłaj midzy sob dane poprzez moduły pamici. W architekturze typu MIMD system równoległy zbudowany jest z wielu procesorów i wielu modułów połczonych ze sob poprzez sie połcze. W modelu tym wyrónia si dwie podstawowe architektury: z pamici dzielon lub z pamici rozproszon (przesyłaniem komunikatów). W architekturze z pamici dzielon procesory wymieniaj si informacjami poprzez centraln pami dzielon. W systemach z pamici rozproszon procesory komunikuj si midzy sob za porednictwem sieci połcze poprzez system przesyłania komunikatów. Preferowany model ziarnistoci zaley głównie od sposobu komunikacji midzy poszczególnymi jednostki przetwarzajcymi. Dla systemów z pamici rozproszon, zarówno typu SIMD jak i MIMD, ze wzgldu na koszt komunikacji midzy procesorami, preferowana jest gruboziarnista równoległo. W przypadku architektury z pamici dzielon, gdzie koszt dostpu do dowolnej komórki pamici jest stały dla dowolnego procesora, opłacalne jest zastosowanie zarówno grubo- jak i drobnoziarnistej równoległoci. 11

24 Przetwarzanie równoległe przegld zagadnienia Jednostka sterujca P1 P2 P3 Pn-1 Pn M1 M2 M3 Mn-1 Mn Sie połcze a) kady procesor zawiera własn pami Jednostka sterujca P1 P2 P3 Pn-1 Pn Sie połcze M1 M2 M3 Mn-1 Mn b) procesory uzyskuj dostp do pamici poprzez sie połcze Rysunek 2.2. Architektura maszyn równoległych typu SIMD [29] Systemy z pamici współdzielon W systemach równoległych z pamici dzielon komunikacja midzy poszczególnymi zadaniami, wykonywanymi na rónych procesorach, odbywa si poprzez operacj odczytu i zapisu do wspólnej globalnej pamici [28], [62]. Systemy z pamici dzielon zbudowane s ze zbioru niezalenych procesorów, zbioru modułów pamici oraz sieci połcze (patrz rys. 2.3). Ze wzgldu na sposób dostpu procesorów do globalnej pamici, systemy z pamici dzielon dzielimy na trzy główne kategorie: UMA (ang. uniform memory access), NUMA (ang. nonuniform memory access), COMA (ang. cache-only memory architecture). 12

25 Przetwarzanie równoległe przegld zagadnienia Pami Sie połcze P P P P Rysunek 2.3. Schemat budowy systemów wieloprocesorowych z pamici dzielon[29] W architekturze UMA dostp do pamici dzielonej przez kady z procesorów odbywa si poprzez sie połcze w taki sam sposób jak dostp do pamici poprzez pojedynczy procesor. Ze wzgldu na to, i czas dostpu do kadej komórki pamici jest taki sam dla wszystkich procesorów, system taki nazywany jest równie symetrycznym multiprocesorem SMP (ang. symetric multiprocessor). Budowa typowego systemu o architekturze SMP przedstawiony został na rys Załadowanie instrukcji oraz danych do pamici podrcznej cache (C) umoliwia zredukowanie obcienia szyny łczcej pami z procesorami. W sprzyjajcych warunkach wykorzystanie sieci połcze bdzie bliskie zeru, jeli moliwe jest przechowanie wszystkich instrukcji oraz danych niezbdnych do wykonania oblicze w pamici podrcznej procesorów. Nieco odmienne podejcie do pamici globalnej zastosowano w systemach NUMA (patrz rys. 2.5), kady z procesorów posiada cz pamici globalnej. Podobnie jak w architekturze UMA, adresacja pamici odbywa si w tej same przestrzeni adresowej [63]. Kady z procesorów moe odwoła si do dowolnej komórki pamici przy uyciu rzeczywistego adresu. Jednake czas dostpu, w przeciwiestwie do architektury UMA, zaleny jest od odległoci midzy pamici a procesorem. W zwizku z powyszym czas odwołania si do dowolnej komórki pamici nie jest stały pomimo zachowania jednolitej przestrzeni adresowej. W architekturze COMA, podobnie do architektury NUMA, kady procesor posiada pewn cz pamici dzielonej (patrz rys. 2.6). Jednake w tym przypadku pami dzielona składa si jedynie z pamici podrcznej kadego procesora. Pami systemu nie jest zorganizowana w sposób hierarchiczny, przestrze adresowa obejmuje wszystkie dostpne moduły pamici cache w systemie. W architekturze COMA wystpuje równie słownik (na rys. 2.6 oznaczony jako D - ang. cache directory) 13

26 Przetwarzanie równoległe przegld zagadnienia poredniczcy midzy odwołaniami do fragmentów pamici znajdujcych si przy innych jednostkach obliczeniowych [29]. Pami globalna Sie połcze Sie połcze P P P P C C C C C C C C CPU CPU CPU CPU CPU CPU CPU CPU Rysunek 2.4. Architektura UMA [29] Rysunek 2.5. Architektura NUMA [29] Sie połcze D D D D C C C C CPU CPU CPU CPU Rysunek 2.6. Architektura COMA [29] W systemach z pamici dzielon, ze wzgldu na sposób dostpu do dowolnej komórki pamici przez jednostki przetwarzajce, moliwe jest zastosowanie zarówno drobno- jak i gruboziarnistej równoległoci. Jednake w architekturze UMA, gdzie czas dostpu do pamici dla dowolnego procesora jest stały, zastosowanie drobnoziarnistej równoległoci bdzie bardziej efektywne ni w architekturach NUMA lub COMA. Z drugiej strony, jeli wszystkie potrzebne instrukcje oraz dane nie przekrocz wielkoci pamici P dla systemu NUMA (rys. 2.5) to zastosowanie gruboziarnistej równoległoci przyniesie wiksze korzyci ni dla architektury UMA. W takim przypadku moliwe jest zredukowanie wykorzystania sieci połcze do niezbdnego minimum, przy jednoczesnej maksymalizacji wykorzystania pamici P. W architekturze NUMA zwikszenie wykorzystania pamici P przez procesor bezporednio z ni połczony (rys. 2.5) pozwala w znacznym stopniu zredukowa czas oczekiwania procesora na niezbdne dane. 14

27 Przetwarzanie równoległe przegld zagadnienia Systemy z pamici rozproszon Systemy z pamici rozproszon, w odrónieniu od systemów z pamici dzielon, nie posiadaj pamici globalnej. Systemy te, zwane inaczej systemami z przekazywaniem komunikatów, tworz klas multiprocesorów, gdzie poszczególne wzły obliczeniowe maj bezporedni dostp jedynie do pamici umiejscowionej na danej jednostce przetwarzajcej [29], [62]. W zwizku z tym niezbdne jest przenoszenie danych midzy pamici jednostki X, a pamici jednostki Y. Komunikacja jak i przesyłanie danych w systemie odbywa si zazwyczaj przez par instrukcji wylij (ang. send) i odbierz (ang. receive), które musz by umieszczone wewntrz aplikacji przez programist. Rysunek 2.7 przedstawia schemat systemu z przesyłaniem komunikatów. Sie połcze P P P P M M M M Rysunek 2.7. Budowa systemu z pamici rozproszon [29] System rozproszony moe składa si z dowolnej liczby wzłów, gdzie kady z nich zawiera przynajmniej jeden procesor (P) oraz pami (M) z dostpem w obrbie lokalnej przestrzeni adresowej. Procesory komunikuj si midzy sob poprzez sie połcze zazwyczaj jest to sie statyczna. W systemach z pamici rozproszon konieczne jest uwzgldnienie dwóch podstawowych wskaników: przepustowo łczy (ang. link bandwidth) oraz opónienie sieci (ang. network latency). Przepustowo łczy zdefiniowana jest jako liczba bitów jak mona wysła w jednostce czasu (np. bit/sek), natomiast opónienie sieci jest to czas potrzebny na przesłanie pełnego komunikatu. W systemach z przesyłaniem komunikatów, ze wzgldu na stosunkowo duy koszt komunikacji midzy poszczególnymi wzłami, preferowana jest gruboziarnista równoległo. Jeli wzły obliczeniowe posiadaj wicej ni jedn jednostk przetwarzajc np. budowa zgodna z architektur UMA lub NUMA, moliwe jest zastosowanie drobnoziarnistej równoległoci w obrbie pojedynczego wzła. Systemy 15

28 Przetwarzanie równoległe przegld zagadnienia z przesyłaniem komunikatów, w których pojedyncze wzły zbudowane s z systemów z pamici dzielon nazywane s systemami równoległymi hybrydowymi. Opracowane algorytmy pozwalaj na wyznaczenie drobno- lub gruboziarnistej równoległoci (ziarnisto opisana została dokładniej w rozdziale 2.3.1) w zalenoci od typu ptli oraz rodzaju zalenoci w niej wystpujcych. W zwizku z tym, moliwe jest wykonanie uzyskanego kodu na kadej z przytoczonych wczeniej architektur, w zalenoci od wielkoci uzyskanego ziarna. W trakcie wykonania kodu drobnoziarnistego stosunkowo czsto konieczna jest synchronizacja pomidzy wtkami pracujcymi nad rozwizaniem jednego problemu. Dua czstotliwo komunikacji midzy zadaniami powoduje, i efektywne wykonanie kodu moliwe jest w architekturze o niskich kosztach komunikacji midzy procesorami np. systemy z pamici dzielon. Gruboziarnisto, w odrónieniu od drobnoziarnistoci, pozwala na zminimalizowanie komunikacji midzy procesorami, gdy komunikacja midzy stosunkowo duymi ziarnami (fragmentami) kodu odbywa si rzadziej. Kod reprezentujcy gruboziarnisto dedykowany jest w szczególnoci dla systemów rozproszonych, gdzie koszt komunikacji midzy jednostkami przetwarzajcymi jest stosunkowo duy. Moliwe jest równie efektywne wykonanie kodu o duym ziarnie na systemach z pamici dzielon, jednak w tym przypadku skalowalno takich systemów moe zosta niewykorzystana. Naley równie podkreli, i ziarnisto kodu jest pojciem wzgldnym zalenym w duym stopniu od architektury (szersze wyjanienie tego zagadnienia w rozdziale 2.3.1) Zalenoci: reprezentacja i wykrywanie Ustalenie, w jaki sposób jedna instrukcja zaley od drugiej, jest jednym z waniejszych zada podczas wyznaczania poziomu równoległoci kodu jak i jego sposobu zrównoleglenia. W celu wyznaczenia równoległoci na poziomie instrukcji niezbdne jest okrelenie, które instrukcje mog zosta wykonane w sposób równoległy. Jeeli dwie instrukcje s zalene od siebie to wykonanie ich musi przebiega w sposób sekwencyjny, zgodnie z porzdkiem leksykograficznym. W przypadku braku zalenoci mog one zosta wykonane równolegle niezalenie od siebie. Kluczowym zadaniem w obu sytuacjach jest ustalenie czy istniej oraz jakiego rodzaju s to zalenoci [41]. W poniszym rozdziale przedstawione zostały rodzaje zalenoci, wraz z omówieniem warunków, w jakich dana zaleno zachodzi. W podrozdziale

29 Przetwarzanie równoległe przegld zagadnienia przedstawiono rozszerzenie definicji zalenoci midzy pojedynczymi instrukcjami na definicj zalenoci midzy instrukcjami wystpujcymi w ptli. W podrozdziale przedstawiono sposób reprezentacji zalenoci wykorzystany w niniejszej dysertacji do opisu algorytmów i przeprowadzonych bada eksperymentalnych Rodzaje zalenoci Bezporednie zrównoleglenie wybranego fragmentu kodu, moliwe jest w przypadku braku zalenoci midzy poszczególnymi instrukcjami. W przypadku wystpowania zalenoci konieczne jest zastosowanie odpowiednich transformacji (opisanych w dalszej czci pracy, podrozdziały oraz 4.1) pozwalajcych na eliminacj zalenoci lub przekształcenie kodu do postaci równoległej nienaruszajcej wykrytych zalenoci. Ze wzgldu na rodzaj wystpujcych zalenoci wyróniamy dwa typy ogranicze uniemoliwiajcych bezporednie zrównoleglenie fragmentu kodu. Pierwsze ograniczenie odnosi si do przepływu sterowania i okrelane jest zalenoci sterowania (ang. control dependence). Poniszy pseudokod przedstawia przykład zalenoci sterowania: S 1 : IF (T 0.0) GOTO S3 S 2 : A = A / T S 3 : CONTINUE Instrukcja S 2 nie moe zosta wykona przed instrukcj S 1, gdy S 2 jest warunkowo zalena od S 1. Wykonanie instrukcji S 2, jako pierwszej moe spowodowa błd dzielenia przez zero, niemoliwy do wystpienia w oryginalnej wersji programu [1]. Zaleno sterowania [71] wystpuje midzy instrukcj S i opisujc warunkowy skok do instrukcji S j (S i S j ) jeli skok w instrukcji S i kontroluje wykonanie instrukcji S j. Drugie ograniczenie odnosi si do prawidłowej kolejnoci pobierania i modyfikowania danych. Zaleno wystpujca zgodnie z tym ograniczeniem nosi nazw zalenoci danych (ang. data dependence) [1]. Poniszy pseudokod przedstawia przykład zalenoci danych: S 1 : PI = 3.14 S 2 : R = 5.0 S 3 : AREA = PI * R 2 Instrukcja S 3 musi zosta wykonana jako ostatnia. Wykonanie instrukcji S 3 przed instrukcjami S 1 lub S 2 moe prowadzi do uzyskania nieprawidłowych wyników, gdy instrukcja S 3 wykorzystuje wartoci zmiennych PI i R modyfikowanych w instrukcjach 17

30 Przetwarzanie równoległe przegld zagadnienia S 1 i S 2, odpowiednio. Instrukcje S1 i S2 mog zosta wykonane współbienie wzgldem siebie, gdy nie wystpuj midzy nimi zalenoci danych. Midzy instrukcjami S1 i S2 wystpuje zaleno danych (instrukcja S2 zaley od instrukcji S1) wtedy i tylko wtedy, gdy [1]: obydwie instrukcje odwołuj si do tej samej komórki pamici i przynajmniej jedno z odwoła jest zapisem do pamici, istnieje cieka odwoła do tej samej komórki pamici od instrukcji S1 do instrukcji S2 w trakcie wykonania. W obrbie zalenoci danych istniej trzy podstawowe typy zalenoci [1], [71]: Prosta - zwana równie zalenoci przepływu danych (ang. Data Flow Dependence), wystpuje midzy instrukcjami S1 i S2 (), gdy instrukcja S2 odczytuje dane zapisane w instrukcji S1. S1 : X =... S2 :... = X Zaleno przepływu danych wskazuje tzw. kolejno zapis-przed-odczytem (ang. write-before-read), która musi by spełniona [71]. Sposób oznaczenia zalenoci prostej przyjto zgodnie za R.Allen, K.Kennedy [1]: S1 S2 (odczyt w S2 zaley od zapisu w S1). Odwrotna - zwana równie antyzalenoci (ang. antidependence), wystpuje midzy instrukcjami S1 i S2 (), gdzie instrukcja S1 odczytuje dane z miejsca, które zapisywane jest w instrukcji S2. S1 :... = X S2 : X =... Antyzaleno wyznacza tzw. kolejno odczyt-przed-zapisem (ang. readbefore-write), która nie powinna by naruszona w trakcie wykonywania równoległych oblicze [71]. Sposób oznaczenia zalenoci odwrotnej przyjto zgodnie za R.Allen, K.Kennedy [1]: S1-1 S2. Po wyjciu (ang. output dependence) wystpuje miedzy instrukcjami S1 i S2 (), gdy instrukcje S1 i S2 zapisuj do tego samego miejsca. S1 : X =... S2 : X =... Zaleno po wyjciu wskazuje tzw. kolejno zapis-przed-zapisem (ang. write-before-write), która nie powinna by naruszona w trakcie wykonywania 18

31 Przetwarzanie równoległe przegld zagadnienia oblicze równoległych [71]. Sposób oznaczenia zalenoci po wyjciu przyjto za R.Allen, K.Kennedy [1]: S1 0 S2. Ze wzgldu na wystpowanie powyszych zalenoci, w wielu przypadkach niemoliwe jest wykonanie kodu w sposób równoległy bez uprzedniej analizy, a nastpnie redukcji zalenoci. Moliwe jest wyeliminowanie zalenoci odwrotnych oraz po wyjciu przy zastosowaniu odpowiednich technik opisanych w wielu istniejcych ju pracach np. [1], [71] Zalenoci w ptlach Wykrywanie zalenoci w ptlach programowych wymaga rozszerzenia koncepcji zalenoci przedstawionych w podrozdziale Do wyrae, dla których wyznaczane s zalenoci konieczne jest dodanie dokładnych informacji o iteracji, w której dane wyraenie wystpuje. Informacje o konkretnej iteracji zawarte s w wektorze iteracji (definicja w dalszej czci rozdziału). Ptla idealnie zagniedona (ang. perfectly nested loops) jest to ptla n krotnie zagniedona (n > 0), której wszystkie instrukcje znajduj si w ciele ptli najbardziej zagniedonej. Jeli nie wszystkie instrukcje tworz ciało najbardziej wewntrznej ptli to ptl nazywamy nieidealnie zagniedon (ang. non-perfectly nested loops). Poniszy pseudokod przedstawia struktur dwóch opisywanych typów ptli. DO i = 1, M DO i = 1, M DO j = 1, N Instrukcja 1 Instrukcja 1 DO j = 1, N Instrukcja 2 Instrukcja 2 ENDDO ENDDO ENDDO ENDDO Ptla idealnie zagniedona Ptla nieidealnie zagniedona Dla dowolnej ptli, w której indeks ptli I przechodzi z indeksu L do U zgodnie z krokiem S, numer iteracji i, wybranej iteracji, jest równa wartoci (I-L+S) / S, gdzie I jest wartoci indeksu dla tej iteracji [1]. Dla gniazda n ptli, wektor iteracji I dla najbardziej wewntrznej ptli jest wektorem liczb całkowitych zawierajcym numery iteracji dla kadej ptli zgodnie z kolejnoci zagniedenia ptli. Innymi słowy, wektor zalenoci postaci I = {i 1, i 2,..., i n }, gdzie i k, 1 k n, reprezentuje numer iteracji ptli dla poziomu zagniedenia k [1]. 19

32 Przetwarzanie równoległe przegld zagadnienia Zgodnie z powyszym, sparametryzowane wyraenie okrelone poprzez wektor iteracji, oznacza instancj wyraenia wykonanego przy zmiennych indeksowych przyjmujcych wartoci wektora iteracji. Przykładowo dla poniszej ptli: DO I = 1, 2 DO J = 1, 2 S ENDDO ENDDO wyraenie S[(2,1)] oznacza instancj wyraenia S wykonywan dla zmiennej indeksowej I = 2 (druga iteracja pierwszej ptli) oraz J = 1 (pierwsza iteracja drugiej ptli). Zbiór wszystkich wektorów iteracji dla wyrae ptli okrela przestrze iteracji. Przestrze iteracji dla wyraenia S w powyszej ptli przedstawiona została jako nastpujcy zbiór kolejnych iteracji: [(1,1), (1,2), (2,1), (2,2)]. Na podstawie wystpujcych zalenoci opisanych w rozdziale oraz powyszych definicji moliwe jest okrelenie zalenoci wystpujcych wewntrz ptli. Miedzy wyraeniami S 1 a S 2 dla wspólnego gniazda ptli wystpuje zaleno wtedy i tylko wtedy, gdy istniej dwa wektory iteracji I oraz J dla danego gniazda takie, e [1]: i < j lub i = j oraz istnieje cieka od instrukcji S 1 do S 2 w ciele ptli, wyraenia S 1, S 2 odwołuj si do lokalizacji M w iteracji i oraz j, przynajmniej jedno z tych odwoła jest zapisem. Zakładajc istnienie zalenoci midzy instrukcj S 1 oraz S 2 dla iteracji i oraz j, wektor zalenoci zdefiniowany jest jako wektor o długoci n, taki e d(i,j) k = j k i k. Instrukcje S 1 i S 2 mog odwoływa si do tej samej lokalizacji w obrbie pojedynczej iteracji ptli, jak równie w obrbie dwóch rónych iteracjach ptli. W pierwszym przypadku mamy do czynienia z zalenoci niezalen od ptli, w drugim przypadku z zalenoci przenoszon ptl. Zaleno przenoszona ptl (ang. loop-carried dependence) wystpuje midzy wyraeniami ptli S 2 i S 1 wtedy i tylko wtedy gdy wyraenie S 1 odwołuje si do lokalizacji M dla iteracji i oraz wyraenie S 2 odwołuje si do tej samej lokalizacji dla iteracji j oraz wektor dystansu d(i,j) jest leksykograficznie wikszy od zera (>0). Zaleno niezalena od ptli (ang. loop-independent dependence) wystpuje midzy wyraeniami ptli S 2 i S 1 wtedy i tylko wtedy, gdy wyraenie S 1 odwołuje si do lokalizacji M w iteracji i, wyraenie S2 odwołuje si do lokalizacji M w iteracji j, iteracja i jest równa iteracji j (i = j) oraz istnieje cieka od instrukcji S 1 do instrukcji S 2 wewntrz pojedynczej iteracji. 20

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

Bardziej szczegółowo

Programowanie Obiektowe

Programowanie Obiektowe Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie

Bardziej szczegółowo

Wprowadzenie do kompilatorów

Wprowadzenie do kompilatorów Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek

Bardziej szczegółowo

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych, Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14) POLITECHNIKA LSKA WYDZIAŁINYNIERII RODOWISKA I ENERGETYKI INSTYTUT MASZYN I URZDZE ENERGETYCZNYCH Laboratorium elektryczne Falowniki i przekształtniki - I (E 14) Opracował: mgr in. Janusz MDRYCH Zatwierdził:

Bardziej szczegółowo

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

Optymalizacja oprogramowania - wprowadzenie

Optymalizacja oprogramowania - wprowadzenie Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego

Bardziej szczegółowo

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Agenda zaj. dr in. Andrzej Sobczak. Informacje analogowe vs dyskretne

Agenda zaj. dr in. Andrzej Sobczak. Informacje analogowe vs dyskretne Katedra Informatyki Gospodarczej Szkoła Główna Handlowa dr in. Andrzej Sobczak W prezentacji wykorzystano fragmenty materiałów: E. Richter-Was, Teoretyczne Podstawy Informatyki J. Florek, Systemy Komputerowe

Bardziej szczegółowo

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911) I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia

Bardziej szczegółowo

MODELOWANIE I PROGRAMOWANIE PRACY

MODELOWANIE I PROGRAMOWANIE PRACY Tadeusz MIKULCZYSKI 1, Daniel NOWAK 2, Rafał WICŁAWEK 3 Instytut Technologii Maszyn i Automatyzacji Politechniki Wrocławskiej, Wrocław 1. Streszczenie. Zaprezentowano metod Grafpol modelowania dyskretnych

Bardziej szczegółowo

... Ireneusz Mrozek. Wydział Informatyki

... Ireneusz Mrozek. Wydział Informatyki Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; -

Bardziej szczegółowo

Projekt okablowania strukturalnego dla I semestru Akademii CISCO we WSIZ Copernicus we Wrocławiu

Projekt okablowania strukturalnego dla I semestru Akademii CISCO we WSIZ Copernicus we Wrocławiu Przygotował: mgr in. Jarosław Szybiski Projekt okablowania strukturalnego dla I semestru Akademii CISCO we WSIZ Copernicus we Wrocławiu 1. Wstp Okablowanie strukturalne to pojcie, którym okrela si specyficzne

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Uycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treci 1. CO TO JEST VPN I DO CZEGO SŁUY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

Klonowanie MAC adresu oraz TTL

Klonowanie MAC adresu oraz TTL 1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo

Bardziej szczegółowo

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie Multipro GbE Testy RFC2544 Wszystko na jednej platformie Interlab Sp z o.o, ul.kosiarzy 37 paw.20, 02-953 Warszawa tel: (022) 840-81-70; fax: 022 651 83 71; mail: interlab@interlab.pl www.interlab.pl Wprowadzenie

Bardziej szczegółowo

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Wykład 5 Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Spis treści: 1. Klasyfikacja Flynna 2. Klasyfikacja Skillicorna 3. Klasyfikacja architektury systemów pod względem

Bardziej szczegółowo

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi 1.Wymagania techniczne 1.1. Wymagania sprztowe - minimalne : komputer PC Intel

Bardziej szczegółowo

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zastosowanie programu Microsoft Excel do analizy wyników nauczania Grayna Napieralska Zastosowanie programu Microsoft Excel do analizy wyników nauczania Koniecznym i bardzo wanym elementem pracy dydaktycznej nauczyciela jest badanie wyników nauczania. Prawidłow analiz

Bardziej szczegółowo

1. WSTP. 2. Koncepcja platformy bezpieczestwa publicznego

1. WSTP. 2. Koncepcja platformy bezpieczestwa publicznego Koncepcja Platformy Bezpieczestwa Wewntrznego do realizacji zada badawczo-rozwojowych w ramach projektu Nowoczesne metody naukowego wsparcia zarzdzania bezpieczestwem publicznym w Unii Europejskiej 1.

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman Poprawa efektywnoci metody wstecznej propagac bdu Algorytm wstecznej propagac bdu. Wygeneruj losowo wektory wag. 2. Podaj wybrany wzorzec na wejcie sieci. 3. Wyznacz odpowiedzi wszystkich neuronów wyjciowych

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC)

PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC) PROCEDURY REGULACYJNE STEROWNIKÓW PROGRAMOWALNYCH (PLC) W dotychczasowych systemach automatyki przemysłowej algorytm PID był realizowany przez osobny regulator sprztowy - analogowy lub mikroprocesorowy.

Bardziej szczegółowo

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek

Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym w przypadku sezonowych zwyek Optymalizacja zaangaowania kapitałowego 4.01.2005 r. w decyzjach typu make or buy. Magazyn czy obcy cz. 2. Cash flow projektu zakładajcego posiadanie własnego magazynu oraz posiłkowanie si magazynem obcym

Bardziej szczegółowo

Spraw elementarn jest rozgraniczenie dwóch typów licencji podstawowych:

Spraw elementarn jest rozgraniczenie dwóch typów licencji podstawowych: W zalenoci od planowanej struktury projektu wizualizacji, a take zastosowanych moduów opcjonalnych w konfiguracji naley uwzgldni odpowiednie pakiety licencyjne. Specyfikacja licencji wymaga minimalnej

Bardziej szczegółowo

Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki

Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki <mzawadzk@man.poznan.pl> Architektura, oprogramowanie i uytkowanie klastra PCSS Marek Zawadzki Plan prezentacji: klastry krótkie wprowadzenie klaster PCSS budowa jak otrzyma konto na klastrze sposób dostpu

Bardziej szczegółowo

Instrukcja obsługi programu MechKonstruktor

Instrukcja obsługi programu MechKonstruktor Instrukcja obsługi programu MechKonstruktor Opracował: Sławomir Bednarczyk Wrocław 2002 1 1. Opis programu komputerowego Program MechKonstruktor słuy do komputerowego wspomagania oblicze projektowych typowych

Bardziej szczegółowo

Izolacja Anteny szerokopasmowe i wskopasmowe

Izolacja Anteny szerokopasmowe i wskopasmowe Izolacja Anteny szerokopasmowe i wskopasmowe W literaturze technicznej mona znale róne opinie, na temat okrelenia, kiedy antena moe zosta nazwana szerokopasmow. Niektórzy producenci nazywaj anten szerokopasmow

Bardziej szczegółowo

Program Sprzeda wersja 2011 Korekty rabatowe

Program Sprzeda wersja 2011 Korekty rabatowe Autor: Jacek Bielecki Ostatnia zmiana: 14 marca 2011 Wersja: 2011 Spis treci Program Sprzeda wersja 2011 Korekty rabatowe PROGRAM SPRZEDA WERSJA 2011 KOREKTY RABATOWE... 1 Spis treci... 1 Aktywacja funkcjonalnoci...

Bardziej szczegółowo

Spis treci. Dzie 1. I Omówienie sprztu serii S7-300/400 (wersja 0904) II Instalacja urzdze S7 (wersja 0807) Kurs Diagnostyka Zaawansowana S7

Spis treci. Dzie 1. I Omówienie sprztu serii S7-300/400 (wersja 0904) II Instalacja urzdze S7 (wersja 0807) Kurs Diagnostyka Zaawansowana S7 Spis treci Dzie 1 I Omówienie sprztu serii S7-300/400 (wersja 0904) I-3 Sterowniki programowalne - podział I-4 Elementy systemu sterownika S7-300 I-5 S7-300 Jednostki centralne CPU I-6 S7-300 Jednostki

Bardziej szczegółowo

PRZESTRZE NAZW DOMEN DNS

PRZESTRZE NAZW DOMEN DNS PRZESTRZE NAZW DOMEN DNS 2 1. DNS nazwy zamiast liczb Wszystkie komputery w sieci TCP/IP identyfikowane s za pomoc jednoznacznego adresu IP. Jego posta liczbowa o długoci 32 bitów jest skomplikowana i

Bardziej szczegółowo

Wstp. Odniesienie do podstawy programowej

Wstp. Odniesienie do podstawy programowej ! " 1 Wstp Praca dotyczy projektu midzyprzedmiotowego, jaki moe by zastosowany na etapie nauczania gimnazjum specjalnego. Powyszy projekt moe zosta przeprowadzony na zajciach z przedmiotów: informatyka

Bardziej szczegółowo

Dla ułatwienia pracy wydrukuj poni sz instrukcj

Dla ułatwienia pracy wydrukuj poni sz instrukcj Dla ułatwienia pracy wydrukuj ponisz instrukcj Do pracy z formularzami mona uywa przegldarek Internet Explorer 7, 8, 9, Firefox, Opera i Chrome w najnowszych wersjach. UWAGA! nie mona zakłada 2 lub wicej

Bardziej szczegółowo

Podstawy architektury systemów równoległych opartych na równoległoci danych,

Podstawy architektury systemów równoległych opartych na równoległoci danych, Wykład 6 Podstawy architektury systemów równoległych opartych na równoległoci danych, Spis treci: 1. Komputery równoległe z wieloma strumieniami danych (typu SIMD) 2. Komputery wektorowe 3. Komputery asocjacyjne

Bardziej szczegółowo

SENTE Produkcja. Tworzymy dla Ciebie. Prezentacja programu. planowanie i kontrola procesów wytwórczych. SENTE Systemy Informatyczne Sp. z o.o.

SENTE Produkcja. Tworzymy dla Ciebie. Prezentacja programu. planowanie i kontrola procesów wytwórczych. SENTE Systemy Informatyczne Sp. z o.o. Prezentacja programu SENTE Produkcja planowanie i kontrola procesów wytwórczych Tworzymy dla Ciebie SENTE Systemy Informatyczne Sp. z o.o. Infolinia handlowa: 0 801 077 778 ul. Kościuszki 142 A 50-008

Bardziej szczegółowo

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wersja draft 2.1 Na podstawie: Europejskiej Modelowej Umowy o EDI (w skrócie: EMUoE). 1. Standardy

Bardziej szczegółowo

Program do konwersji obrazu na cig zero-jedynkowy

Program do konwersji obrazu na cig zero-jedynkowy Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,

Bardziej szczegółowo

Systemy mobilne wykład 5. Systemy komórkowe. Wykład prowadzi: Mikołaj Sobczak

Systemy mobilne wykład 5. Systemy komórkowe. Wykład prowadzi: Mikołaj Sobczak Systemy komórkowe Wykład prowadzi: Mikołaj Sobczak 1 Rozwizanie klasyczne Rozwizanie klasyczne - nadajnik o duej mocy pokrywajcy swym zasigiem znaczny obszar Dua emitowana moc Due terminale kocowe Powane

Bardziej szczegółowo

Przedmiotowy system oceniania

Przedmiotowy system oceniania Przedmiotowy system oceniania Informatyka w klasach I II liceum Formy sprawdzania wiedzy i umiejtnoci uczniów Kady ucze otrzymuje oceny czstkowe za odpowiedzi ustne, kartkówki, sprawdziany i dodatkow aktywno

Bardziej szczegółowo

Studium przypadku Case Study CCNA2-ROUTING

Studium przypadku Case Study CCNA2-ROUTING Na podstawie oryginału CISCO, przygotował: mgr in. Jarosław Szybiski Studium przypadku Case Study CCNA2-ROUTING Ogólne załoenia dla projektu Przegld i cele Podczas tego wiczenia uczestnicy wykonaj zadanie

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

Bardziej szczegółowo

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora. I. Temat wiczenia Podstawy tworzenia stron WAP II. Wymagania Podstawowe wiadomoci z technologii Internetowych. III. wiczenie 1. Wprowadzenie WAP (ang. Wireless Application Protocol) - to protokół umoliwiajcy

Bardziej szczegółowo

Nadwyka operacyjna w jednostkach samorzdu terytorialnego w latach 2003-2005

Nadwyka operacyjna w jednostkach samorzdu terytorialnego w latach 2003-2005 Nadwyka operacyjna w jednostkach samorzdu terytorialnego w latach 2003-2005 Warszawa, maj 2006 Spis treci Wprowadzenie...3 Cz I Zbiorcze wykonanie budetów jednostek samorzdu terytorialnego...7 1. Cz operacyjna...7

Bardziej szczegółowo

Wojciech Drzewiecki SYSTEMY INFORMACJI GEOGRAFICZNEJ

Wojciech Drzewiecki SYSTEMY INFORMACJI GEOGRAFICZNEJ Wojciech Drzewiecki SYSTEMY INFORMACJI GEOGRAFICZNEJ Systemem Informacji Geograficznej (Systemem Informacji Przestrzennej, GIS, SIP) nazywamy skomputeryzowany system pozyskiwania, przechowywania, przetwarzania,

Bardziej szczegółowo

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY AUTOMATECH AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY W roku 2006 Gmina Kampinos dokonała modernizacji swojej stacji uzdatniania wody (SUW). Obok zmian typu budowlanego (nowe zbiorniki wody,

Bardziej szczegółowo

Wykorzystanie zasobów PODGIK w serwisach internetowych Waldemar Izdebski

Wykorzystanie zasobów PODGIK w serwisach internetowych Waldemar Izdebski Wykorzystanie zasobów PODGIK w serwisach internetowych Waldemar Izdebski Od pocztku lat dziewidziesitych XX wieku zaczło si spełnia marzenie geodetów dotyczce tworzenia systemów informacji o terenie, potocznie

Bardziej szczegółowo

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B) Zadanie Obliczy warto prdu I oraz napicie U na rezystancji nieliniowej R(I), której charakterystyka napiciowo-prdowa jest wyraona wzorem a) U=0.5I. Dane: E=0V R =Ω R =Ω Rys Rys. metoda analityczna Rys

Bardziej szczegółowo

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków 1. Wprowadzenie. Szczegółowa analiza poboru mocy przez badan maszyn czy urzdzenie odlewnicze, zarówno w aspekcie technologicznym jak i ekonomicznym,

Bardziej szczegółowo

WIADECTWO INNOWACYJNOCI PRODUKTU

WIADECTWO INNOWACYJNOCI PRODUKTU WIADECTWO INNOWACYJNOCI PRODUKTU I. ZAKRES wiadectwo innowacyjnoci produktu dla ASTEC Sp. z o.o. dotyczy prototypu produktu MDT (Magik Development Tools) w fazie studium wykonalnoci. ASTEC Sp. z o.o. ul.

Bardziej szczegółowo

PROTOKOŁY TRANSPORTU PORTY krótki przegld

PROTOKOŁY TRANSPORTU PORTY krótki przegld PROTOKOŁY TRANSPORTU PORTY krótki przegld 1 1. Standardowe protokoły internetowe 1.0. TCP Transmission Control Protocol Aplikacje, dla których istotne jest, eby dane niezawodnie dotarły do celu, wykorzystuj

Bardziej szczegółowo

Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN

Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN Wyrónia si dwa podstawowe rodzaje transmisji szeregowej: asynchroniczna i synchroniczna. Dane przesyłane asynchronicznie nie s zwizane z

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

Zastosowanie zintegrowanych systemów zarzdzania w małych i rednich przedsibiorstwach moliwoci i ograniczenia

Zastosowanie zintegrowanych systemów zarzdzania w małych i rednich przedsibiorstwach moliwoci i ograniczenia Controlling w małych i rednich przedsibiorstwach 121 Zastosowanie zintegrowanych systemów zarzdzania w małych i rednich przedsibiorstwach moliwoci i ograniczenia The integrated management software in small

Bardziej szczegółowo

POBÓR MOCY MASZYN I URZDZE ODLEWNICZYCH

POBÓR MOCY MASZYN I URZDZE ODLEWNICZYCH Eugeniusz ZIÓŁKOWSKI, 1 Roman WRONA 2 Wydział Odlewnictwa AGH 1. Wprowadzenie. Monitorowanie poboru mocy maszyn i urzdze odlewniczych moe w istotny sposób przyczyni si do oceny technicznej i ekonomicznej

Bardziej szczegółowo

Rozdział. Badanie technologii Microsoft.NET Remoting w rozproszonym systemie wspomagajcym publikowanie katalogów reklamowych

Rozdział. Badanie technologii Microsoft.NET Remoting w rozproszonym systemie wspomagajcym publikowanie katalogów reklamowych Rozdział Badanie technologii Microsoft.NET Remoting w rozproszonym systemie wspomagajcym publikowanie katalogów reklamowych Wojciech STANKO, Bogdan TRAWISKI Politechnika Wrocławska, Instytut Informatyki

Bardziej szczegółowo

Typy bazy danych Textract

Typy bazy danych Textract Typy bazy danych Typy bazy danych bazy tekstowe, Textract, http://www.textract.com - bazy tekstowe, np. archiwum gazety, dla setek gigabajtów, szybkie wyszukiwanie i indeksacja informacji bazy danych bez

Bardziej szczegółowo

Wprowadzenie do algorytmów. START

Wprowadzenie do algorytmów. START 1 / 15 ALGORYMIKA 2 / 15 ALGORYMIKA Wprowadzenie do algorytmów. SAR 1. Podstawowe okrelenia. Algorytmika dział informatyki, zajmujcy si rónymi aspektami tworzenia i analizowania algorytmów. we: a,b,c delta:=b

Bardziej szczegółowo

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO

PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO Piotr Borowiec PREZENTACJA DZIAŁANIA KLASYCZNEGO ALGORYTMU GENETYCZNEGO Sporód wielu metod sztucznej inteligencji obliczeniowej algorytmy genetyczne doczekały si wielu implementacji. Mona je wykorzystywa

Bardziej szczegółowo

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi dodatku InsERT GT Smart Documents Instrukcja obsługi dodatku InsERT GT Smart Documents InsERT, grudzie 2003 http://www.insert.com.pl/office2003 InsERT GT Smart Documents to przygotowany przez firm InsERT specjalny dodatek, umoliwiajcy

Bardziej szczegółowo

Nowe kody kreskowe GS1 DataBar Pakiet informacyjny dla PRODUCENTÓW

Nowe kody kreskowe GS1 DataBar Pakiet informacyjny dla PRODUCENTÓW Polska Nowe kody kreskowe GS1 DataBar Pakiet informacyjny dla PRODUCENTÓW www.gs1pl.org The global language of business Spis treci: 1. Nowa symbolika GS1 DataBar...3 2. Charakterystyka symboliki...4 2.1.

Bardziej szczegółowo

Klub Paragraf 34, Bronisławów 2006. dr in. Marek Dwiarek. Centralny Instytut Ochrony Pracy Pastwowy Instytut Badawczy

Klub Paragraf 34, Bronisławów 2006. dr in. Marek Dwiarek. Centralny Instytut Ochrony Pracy Pastwowy Instytut Badawczy Klub Paragraf 34, Bronisławów 2006 dr in. Marek Dwiarek Centralny Instytut Ochrony Pracy Pastwowy Instytut Badawczy Tematyka dyskusji Klub Paragraf 34, Bronisławów 2006 Wymagania dotyczce bezpieczestwa

Bardziej szczegółowo

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y Nr zadania Nr czynnoci Przykadowy zestaw zada nr z matematyki ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR POZIOM PODSTAWOWY Etapy rozwizania zadania. Podanie dziedziny funkcji f: 6, 8.. Podanie wszystkich

Bardziej szczegółowo

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1 Mozilla Firefox 2.0.0.2 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL wersja 1.1 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2. INSTALACJA

Bardziej szczegółowo

Mozilla Thunderbird 1.5.0.10 PL

Mozilla Thunderbird 1.5.0.10 PL Mozilla Thunderbird 1.5.0.10 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Thunderbird 1.5.0.10 PL wersja 1.2 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2.

Bardziej szczegółowo

OGNIWO PALIWOWE W UKŁADACH ZASILANIA POTRZEB WŁASNYCH

OGNIWO PALIWOWE W UKŁADACH ZASILANIA POTRZEB WŁASNYCH Antoni DMOWSKI, Politechnika Warszawska, Instytut Elektroenergetyki Bartłomiej KRAS, APS Energia OGNIWO PALIWOWE W UKŁADACH ZASILANIA POTRZEB WŁASNYCH 1. Wstp Obecne rozwizania podtrzymania zasilania obwodów

Bardziej szczegółowo

2. Charakterystyka obliczeń współbieżnych i rozproszonych.

2. Charakterystyka obliczeń współbieżnych i rozproszonych. Od autora(ooo to o mnie mowa :)): Starałem się wygrzebać w necie trochę więcej niż u Gronka na samych slajdach, dlatego odpowiedzi na niektóre pytania są długie (w sensie dłuższe niż normalnie :)), wydaje

Bardziej szczegółowo

Twoja instrukcja użytkownika PHILIPS JR32RWDVK http://pl.yourpdfguides.com/dref/1003823

Twoja instrukcja użytkownika PHILIPS JR32RWDVK http://pl.yourpdfguides.com/dref/1003823 Możesz przeczytać rekomendacje w przewodniku, specyfikacji technicznej lub instrukcji instalacji dla PHILIPS JR32RWDVK. Znajdziesz odpowiedź na wszystkie pytania w instrukcji dla PHILIPS JR32RWDVK (informacje,

Bardziej szczegółowo

SYSTEM ZARZDZANIA I KONTROLI FUNDUSZU SPÓJNOCI WYTYCZNE DOTYCZCE OPRACOWANIA CIEEK AUDYTU ORAZ JEDNOLITEGO FORMATU ICH PREZENTACJI

SYSTEM ZARZDZANIA I KONTROLI FUNDUSZU SPÓJNOCI WYTYCZNE DOTYCZCE OPRACOWANIA CIEEK AUDYTU ORAZ JEDNOLITEGO FORMATU ICH PREZENTACJI SYSTEM ZARZDZANIA I KONTROLI FUNDUSZU SPÓJNOCI WYTYCZNE DOTYCZCE OPRACOWANIA CIEEK AUDYTU ORAZ JEDNOLITEGO FORMATU ICH PREZENTACJI Ministerstwo Gospodarki i Pracy Departament Koordynacji Funduszu Spójnoci

Bardziej szczegółowo

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU Przed przystpieniem do liczenia deklaracji PIT-36, PIT-37, PIT-O i zestawienia PIT-D naley zapozna si z objanieniami do powyszych deklaracji. Uwaga:

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

Wymierne korzyci wynikajce z analizy procesów

Wymierne korzyci wynikajce z analizy procesów Wymierne korzyci wynikajce z analizy procesów Analiza procesu jest narzdziem do osignicia wyszej efektywnoci organizacji (midzy innymi). Wymaga ona zbudowania modelu procesu biznesowego bdcego opisem funkcjonowania

Bardziej szczegółowo

KIERUNKI ROZWOJU W INYNIERII JAKOCI

KIERUNKI ROZWOJU W INYNIERII JAKOCI 20/21 ARCHIWUM ODLEWNICTWA Rok 2006, Rocznik 6, Nr 21(1/2) ARCHIVES OF FOUNDARY Year 2006, Volume 6, Nº 21 (1/2) PAN Katowice PL ISSN 1642-5308 KIERUNKI ROZWOJU W INYNIERII JAKOCI S. TKACZYK 1 Politechnika

Bardziej szczegółowo

ROCZNIKI 2010 GEOMATYKI. Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE. Tom VIII Zeszyt 3(39) Warszawa

ROCZNIKI 2010 GEOMATYKI. Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE. Tom VIII Zeszyt 3(39) Warszawa POLSKIE TOWARZYSTWO INFORMACJI PRZESTRZENNEJ ROCZNIKI 2010 GEOMATYKI Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE Tom VIII Zeszyt 3(39) Warszawa PROPOZYCJA ZASAD POLSKIE

Bardziej szczegółowo

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Niniejszy opis dotyczy konfiguracji programu pocztowego Outlook Express z pakietu Internet Explorer, pracujcego pod kontrol systemu

Bardziej szczegółowo

1. Informacje ogólne.

1. Informacje ogólne. Polityka prywatności (Pliki Cookies) 1. Informacje ogólne. Lęborskie Centrum Kultury Fregata 1. Operatorem Serwisu www.lck-fregata.pl jest L?borskie Centrum Kultury "Fregata" z siedzib? w L?borku (84-300),

Bardziej szczegółowo

Argumenty na poparcie idei wydzielenia OSD w formie tzw. małego OSD bez majtku.

Argumenty na poparcie idei wydzielenia OSD w formie tzw. małego OSD bez majtku. Warszawa, dnia 22 03 2007 Zrzeszenie Zwizków Zawodowych Energetyków Dotyczy: Informacja prawna dotyczca kwestii wydzielenia Operatora Systemu Dystrybucyjnego w energetyce Argumenty na poparcie idei wydzielenia

Bardziej szczegółowo

Co nowego w wersji 3.0?

Co nowego w wersji 3.0? Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

Audyt wewntrzny systemu ELA-enT raport

Audyt wewntrzny systemu ELA-enT raport Audyt wewntrzny systemu ELA-enT raport Spis treci 1. O tym dokumencie...1 2. Metoda przeprowadzenia audytu...1 3. Informacje dotyczce projektu...2 4. Zidentyfikowane załoenia i wymagania...2 4.1 Załoenia

Bardziej szczegółowo

Kurs Panele Operatorskie. Spis treci. Poniedziałek. I Zastosowanie paneli operatorskich w systemach sterowania (wersja 0409)

Kurs Panele Operatorskie. Spis treci. Poniedziałek. I Zastosowanie paneli operatorskich w systemach sterowania (wersja 0409) Spis treci Poniedziałek I Zastosowanie paneli operatorskich w systemach sterowania (wersja 0409) I-3 Model systemu sterowania I-4 Panele operatorskie a integracja systemów sterowania I-5 Układy wizualizacji

Bardziej szczegółowo

Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych:

Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych: 1 / 9 PODSTAWY BAZ DANYCH 2 / 9 PODSTAWY BAZ DANYCH Elementy baz danych w edytorze tekstu. Elementy baz danych w arkuszu kalkulacyjnym. Jednorodna tabela jako ródło danych: Jednorodna tabela jako ródło

Bardziej szczegółowo

Podstawowe obiekty AutoCAD-a

Podstawowe obiekty AutoCAD-a LINIA Podstawowe obiekty AutoCAD-a Zad1: Narysowa lini o pocztku w punkcie o współrzdnych (100, 50) i kocu w punkcie (200, 150) 1. Wybierz polecenie rysowania linii, np. poprzez kilknicie ikony. W wierszu

Bardziej szczegółowo

Program SMS4 Monitor

Program SMS4 Monitor Program SMS4 Monitor INSTRUKCJA OBSŁUGI Wersja 1.0 Spis treci 1. Opis ogólny... 2 2. Instalacja i wymagania programu... 2 3. Ustawienia programu... 2 4. Opis wskaników w oknie aplikacji... 3 5. Opcje uruchomienia

Bardziej szczegółowo

Symulacja cieek klinicznych w rodowisku PowerDesigner i SIMUL8

Symulacja cieek klinicznych w rodowisku PowerDesigner i SIMUL8 Symulacja w Badaniach i Rozwoju Vol. 1, No. 2/2010 Marta LIGNOWSKA Wojskowa Akademia Techniczna, ul. Kaliskiego 2, 00-908 Warszawa E-mail: marta.lignowska@wat.edu.pl Symulacja cieek klinicznych w rodowisku

Bardziej szczegółowo

Systemy zarzdzajce procesami szkoleniowymi: Learning Management Systems

Systemy zarzdzajce procesami szkoleniowymi: Learning Management Systems Top Tre modułu Cel modułu Wiedza bazowa Informacje główne Zastosowanie w praktyce Streszczenie Zwró uwag na... Słownik Literatura Sprawd si Pytania problemowe Systemy zarzdzajce procesami szkoleniowymi:

Bardziej szczegółowo

1. Sieci lokalne i rozległe

1. Sieci lokalne i rozległe TYPY SIECI 1 1. Sieci lokalne i rozległe Z punktu widzenia złoonoci sieci komputerowe mona podzieli na grupy: LAN (Local Area Network) Jest to najpowszechniej spotykany rodzaj sieci. Składa si on z kilkudziesiciu

Bardziej szczegółowo

Waldemar Izdebski ZbigniewMalinowski

Waldemar Izdebski ZbigniewMalinowski Rozwój technologii internetowych wykorzystywanych w Powiatowym Orodku Dokumentacji Geodezyjnej i Kartograficznej powiatu warszawskiego zachodniego Waldemar Izdebski ZbigniewMalinowski 2009-09-16 Wisła-Malinka

Bardziej szczegółowo

Inynieria Systemów Informacyjnych

Inynieria Systemów Informacyjnych pjanusz@intertele.pl Inynieria Systemów Informacyjnych 2004 Paweł Janusz 1. Wstp Technika oprogramowania, któr stosowano w pocztkach informatyki bardzo róniła si od tej, któr uytkownicy posługuj si obecnie.

Bardziej szczegółowo

Program Certyfikacji Oprogramowania Autodesk. Załoenia

Program Certyfikacji Oprogramowania Autodesk. Załoenia Program Certyfikacji Oprogramowania Autodesk Załoenia Firma Autodesk - wiodcy producent oprogramowania wspomagajcego projektowanie proponuje program umoliwiajcy uytkownikom weryfikacj posiadanego oprogramowania

Bardziej szczegółowo

Kurs Mikrosterowniki S7-200 Podstawy. Spis treci. Dzie 1

Kurs Mikrosterowniki S7-200 Podstawy. Spis treci. Dzie 1 I Czym jest sterownik (wersja 0810) Spis treci Dzie 1 I-3 Układ sterujcy w układzie automatyki I-4 Porównanie sposobów realizacji automatów sterujcych I-5 Konstrukcja sterownika z rodziny S7-200 I-6 Rodzina

Bardziej szczegółowo

Autorzy opracowania (* oznacza współautorstwo):

Autorzy opracowania (* oznacza współautorstwo): Autorzy opracowania (* oznacza współautorstwo): Andrzej Bk 1.1; 1.2; 1.3*; 1.4; 1.5; 1.6; 1.7; 1.8; 2.1; 2.2; 2.3; 2.4.1; 2.4.2; 2.4.3; 2.4.4*; 2.4.5*; 2.4.6; 2.4.7*; 2.4.8*; 2.4.9; 2.5.1; 2.5.2; 2.5.3;

Bardziej szczegółowo

w sprawie wprowadzenia procedury naboru pracowników na kierownicze stanowiska urzdnicze i stanowiska urzdnicze w Starostwie Powiatowym w Krasnymstawie

w sprawie wprowadzenia procedury naboru pracowników na kierownicze stanowiska urzdnicze i stanowiska urzdnicze w Starostwie Powiatowym w Krasnymstawie ZARZDZENIE Nr 13/2005 STAROSTY KRASNOSTAWSKIEGO z dnia 29 sierpnia 2005 roku w sprawie wprowadzenia procedury naboru pracowników na kierownicze stanowiska urzdnicze i stanowiska urzdnicze w Starostwie

Bardziej szczegółowo