Specyfika obliczeń rozproszonych opartych o sieć Internet

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

Download "Specyfika obliczeń rozproszonych opartych o sieć Internet"

Transkrypt

1 Specyfika obliczeń rozproszonych opartych o sieć Internet Jakub Czaplicki Paweł Buczek Wydział Fizyki i Techniki Jądrowej AGH Kraków, Aleja Mickiewicza 30 Streszczenie W pracy zaproponowano definicję obliczeń rozproszonych, omówiono pojęcia z nimi związane i podano ogólny schemat każdego takiego przedsięwzięcia. Dokonano przeglądu zagadnień rozwiązywanych obecnie takimi metodami, skupiając się zwłaszcza na tych, które wykorzystują charakterystykę architektury sieci Internet. Zapropnowano klasyfikację. Na podstawie analizy reprezentatywnych przykładów podano zbiór cech, które kwalifikują dany problem jako efektywnie rozwiązywalny przez obliczenia rozproszone. Dołączona została także lista najpopularniejszych narzędzi programowania rozproszonego. Słowa kluczowe: obliczenia rozproszone, Internet Abstract In this paper a defintion of distributed computing was propsed and the assiociated concepts were discussed. There was also given a general pattern of such types of ventures. Also a survey of this kind of problems was given. Attention was focused on the computations taking advantage of the features specific to the architecture of Internet. There was a classification suggested and basing on the analysis of representative examples, the set of characteristics, which allow solving the problem using distributed computing, was given. The list of the most common distributed programing tools was added. Keywords: distributed computing, Internet 1 Wprowadzenie Już we wczesnych latach rozwoju informatyki dostrzeżono szereg problemów, które mogły być efektywnie rozwiązywane jedynie poprzez użycie maszyn wieloprocesorowych. Klasyczny przykład zadania obliczeniowego, które jest obecnie rozwiązywalne (z użyciem obliczeń współbieżnych), a którego nie da się zaimplementować na maszynie sekwencyjnej, został opisany w [1]: animacja obiektu trójwymiarowego w rozsądnym czasie z wysoką rozdzielczością przekracza o cztery rzędy wielkości moc obliczeniową najszybszych maszyn jednoprocesorowych. Architektury równoległe radzą sobie z tym zadaniem znakomicie, co 1

2 widać w większości współczesnych filmów. Dzisiejsze zagadnienia nauki i techniki coraz częściej wymagają mocy obliczeniowej na tyle dużej, że jedynym racjonalnym rozwiązaniem jest odwołanie się do metod zrównoleglających. Z powodu naturalnej rzadkości występowania maszyn wieloprocesorowych i ogromnych kosztów ich użytkowania, do niedawna tylko wielkie organizacje miały dostęp do narzędzi pozwalających rozwiązywać problemy typu opisanego powyżej. Ostatnimi czasy jednak uwidoczniła się w tym względzie demokratyzacja: pokonanie wąskiego gardła transferu i niesamowity wzrost możliwości pojedynczego komputera klasy PC (nawet z nieprofesjonalnym systemem operacyjnym) uczyniło z sieci Internet superkomputer biednego człowieka [2]. Już dawno dostrzeżono, że w Sieci marnotrawione są tysiące cykli CPU i podjęte zostały próby ich wykorzystania. Sukces niekomercyjnych projektów takich poszukiwanie obcych form życia we wszechświecie, czy ogromnych liczb pierwszych pokazał, że pomysł taki nie jest mrzonką. W naszej pracy chcemy skupić się właśnie na obliczeniach rozproszonych w Internecie. Postaramy się sklasyfikować prowadzone obecnie projekty tego typu i podać kryteria pozwalające ocenić, czy pojawiający się nowy problem nie mógłby być efektywnie rozwiązany w taki właśnie sposób. Umiejscowimy obliczenia rozproszone na tle takich pojęć jak obliczenia grid lub peer-to-peer. Główną inspiracją było dla nas pojawienie się szeregu bibliotek, które pozwalają tworzyć aplikacje rozproszone w sieci przy minimalnym obciążeniu projektanta zadaniem zapewnienia niezawodności transferu danych. Obecnie każdy średnio doświadczony programista może pokusić się o sięgnięcie po zasoby nie tylko informacji, ale także mocy obliczeniowej Internetu. Praca ta służyć ma więc przede wszystkim studentom i innym nieprofesjonalistom, bowiem z naszego doświadczenia wynika, że nawet te grupy użytkowników komputerów stają czasem przed problemami, które przekraczają możliwości domowego PC. 1.1 Definicje Poniżej podajemy spis krótkich definicji umożliwiających scharakteryzowanie obliczeń rozproszonych w sieci komputerowej. 1. Równoległość Jest to wykonywanie w tym samym czasie szeregu zadań składających się na logiczną całość. Rozróżniamy równoległość: procesową: każdy ze współpracujących elementów jest dość złożony i pełni wyspecjalizowaną funkcję. Elementy komunikują się rzadko i mogłyby pracować sekwencyjnie. tablicową: elementy współpracujące są prostej budowy i wykonują identyczne zadania. potokową: kolejne elementy korzystają z rezultatów pracy swych poprzedników. Z równoległością taką mamy do czynienia np. na taśmie produkcyjnej. 2. Obliczenia współbieżne Jest to taka klasa procesów i programów, które są w trakcie wykonywania w tym samym czasie, mogą więc być realizowane na maszynie jednoprocesorowej z podziałem czasu. Ich najważniejszą cechą jest możliwość dekom- 2

3 pozycji funkcjonalnej programu, czyli podziału zadań między wyspecjalizowane i niezależne moduły oprogramowania. Przykładem może być rozbicie programu na części odpowiedzialne za komunikację z użytkownikiem i przetwarzanie danych. 3. Obliczenia równoległe Obliczenia współbieżne prowadzone z użyciem wielu procesorów. Każdy z procesorów wykonuje niezależne zadanie wyodrębnione w wyniku dekompozycji. 4. Obliczenia rozproszone W tej pracy będzie oznaczać to obliczenia równoległe bez wspólnej przestrzeni adresowej dla wykorzystywanych procesorów. 5. Sieć komputerowa Wieloprocesorowa maszyna wirtualna w pamięcią lokalną. Jej charakterystyczne cechy zostaną omówione w dalszej części pracy. 1.2 Uniwersalne metody oceny efektywności Nie każdy problem nadaje się do rozwiązywania w architekturach wieloprocesorowych. Jest niezwykle istotne, aby ocenić właściwie, czy nakład pracy i kosztów potrzebnych na zrównoleglenie obliczeń będzie współmierny do wyników Prawo Amdahla Główną korzyścią płynącą z użycia wielu procesorów jest zwiększenie wydajności obliczeń. Nie należy się jedna spodziewać, że czas obliczeń będzie odwrotnie proporcjonalny do ilości procesorów. Istnieją teoretyczne ograniczenia zmniejszenia czasu obliczeń. Zdefiniujmy współczynnik przyspieszania zadania o wielkości n dzięki zrównolegleniu na p procesorów: S(n, p) = T (n, 1) T (n, p) T (n, p) jest czasem wykonywania zadania o rozmiarze n przez p równolegle pracujących procesorów. Niech β(n) będzie udziałem części sekwencyjnej w T (n, 1) (tzn. takiej, której nie da się zrównoleglić- zakładamy, że pozostała część T (n, 1) może być rozłożona równolegle pomiędzy dowolną liczbę procesorów). Prawo Amdahla głosi: 1 n lim S(n, p) = p β(n) Oznacza to, że nie można osiągnąć dowolnie małego czasu obliczeń. Im bardziej problem T (n, 1) jest sekwencyjny, tym mniejszy zysk ze zwiększnia liczby procesorów Skalowalność Skalowalność jest własnością systemu (zarówno sprzętu jak i oprogramowania) polegającą na elastycznym dopasowywaniu się do zmiennej liczby procesorów. 3

4 Niech w(n) będzie nakładem pracy na rozwiązanie danego problemu o rozmiarze n a h(n, p) na komunikację między p współpracującymi nad tym problemem procesorami. Sprawność wyraża się wzorem: η(n, p) = w(n) w(n) + h(n, p) = h(n,p) w(n) h(n, p) jest rosnącą funkcją p, czyli sprawność spada, jeśli zwiększając liczbę procesorów nie zwiększymy wielkości n zadania. Funkcja stałej sprawności (ang. isoefficiency function) określa dla danego systemu i problemu rozmiar zadania, który pozwala utrzymać stałą sprawność, w funkcji p. Im wolnej ów rozmiar rośnie z p, tym bardziej skalowalna jest architektura. 2 Ogólny schemat prowadzenia obliczeń rozproszonych w sieci Internet 2.1 Obliczenia rozproszone Ponieważ sieć komputerowa może być traktowana jako wirtualna maszyna równoległa z pamięcią lokalną, w momencie tworzenia projektu opartego na obliczeniach rozproszonych, należy brać pod uwagę wymogi narzucane na narzędzia programistyczne. Muszą one pozwalać na: umieszczanie i uruchamianie procesu (programu) na zadanym komputerze - kliencie konwersję typów danych między różnymi maszynami (tzn. o różnych platformach hardware i software) obsługę protokołów sieciowych Pierwszy wymóg spełniany jest dzięki tzw. demonom. Są to programy umieszczone na serwerach umożliwiające stały dostęp pewnych zasobów innym komputerom w sieci. Zazwyczaj uruchamiane są po włączeniu komputera. Program użytkownika, jest zatem (w myśl tej terminologii) klientem (używającym zasobów) demona. W odróżnieniu od systemów równoległego przetwarzania danych, gdzie podstawową architekturą systemu jest: wiele klientów - jeden serwer, w obliczeniach numerycznych stosuje się hierarchiczną strukturę : jeden klient - wiele serwerów. W takiej architekturze klient pełni rolę koordynatora, a serwery - jednostek lokalnych. Do koordynowania połączeń klientów z serwerami, służy katalog serwerów, na którym podrzędne serwery dokonują rejestracji, oraz z którego klienci pobierają identyfikatory serwerów, natomiast wszystkie komunikaty zbierane są we wspólnym kanale komunikatów. W każdym projekcie opartym na obliczeniach rozproszonych w Internecie może uczestniczyć każdy użytkownik Sieci. Uczestnictwo w projekcie obejmuje rejestrację, (utworzenie indywidualnego konta uczestnika), ściągnięcie małego programu klienckiego na komputer użytkownika a następnie jego uruchomienie. Program ten pobiera porcje danych od centrum projektu (jednego z najbliszych serwerów) oraz wykonuje obliczenia. Po ich ukończeniu wynikowa porcja danych jest wysyłana do serwera oraz jest ściągana następna porcja danych (serwer wykorzystuje protokół oparty na HTTP (ang. Hyper Text Transfer Protocol), co pozwala nawiązać 4

5 Rysunek 1: Schemat prowadzenia obliczeń rozproszonych. Strzałki wskazują kierunek przepływu danych. Opis w tekście. połączenie z klientem znajdującym się za firewall em). Wszystko to dzieje się w tle, przy niewielkim (praktycznie żadnym) udziale użytkownika. Dlatego też oprogramowanie dla klientów nie powinno wymagać znajomości zasad działania obliczeń rozproszonych. Powinno być na tyle proste w instalacji i obsłudze, aby użytkownik o dowolnym stopniu zaawansowania wiedzy komputerowej mógł bez problemu rozpocząć udział w projekcie. Program musi działać jako proces w tle lub jako wygaszacz ekranu, tak aby maksymalnie wykorzystywał czas w którym procesor jest bezczynny. Kluczem do pomyślnego rozwoju projektu jest działanie programu klineta w środowiskach niemal wszystkich systemów operacyjnych. By projekt mógł działać na różnych platformach, musi on korzystać z wielowątkowej architektury, w której jeden wątek odpowiada za przesyłanie i przetwarzanie danych, a inny zajmuje się graficznym interfejsem użytkownika. 2.2 Porównanie z innymi technikami Obliczenia rozproszone nie powinny być mylone z przedsięwzięciami peer-to-peer lub grid Peer-to-peer Peer-to-peer oznacza logiczna sieć węzłów skomunikowanych poprzez protokoły sieciowe. Każdy węzeł ma połączenie z innym. Zazwyczaj ta technologia jest 5

6 obliczenia rozproszone superkomputer cluster koszty rzędu 1% ceny superkomputera ogromny początkowy duży początkowy nakład i dużo nakład finansowy, który finansowy, który szybko mniejsze niż cluster szybko traci na wartości traci na wartości wymagania minimalne-używa wymaga specjalistycznego wymaga wielu spec- sprzetowe zasobow już posiadanych sprzęjalistycznych komput- komputerow tu, odpowiedniego erów, odpowiedniego chłodzenia, zasilania, chlodzenia, zasilania, etc. etc. utrzymanie małe-czas administratora duże-czesci zamienne, duże-czesci zamienne, strata produktywności strata produktywności przez okres wyłączenia przez okres wyłączenia (np. przerwy techniczne), (np. przerwy techniczne), czas administra- tor czas administratortora ryzyko małe duże duże uszkodzenia administracja jedna osoba może nadzorować dziesiątki tysięcy komputerów z serwera pojedynczej centrali intensywna administracja intensywna administracja starzenie systemu się małe - samoaktualizujące się oprogramowanie, wartoś sieci wzrasta wraz ze wzrostem ilości przyłączonych (coraz szybszych) komputerów duża - zbyt duże koszty częstego aktualizowania sprzętu Tabela 1: Porównanie obliczeń rozproszonych i prowadzonych na superkompurach i w klastrach. duza - zbyt duże koszty częstego aktualizowania sprzętu 6

7 Rysunek 2: Schemat obliczeń w projekcie Przykład jest modelowy. Znakomita większość innych przedsięwzięć powiela tę strukturę. Dane (surowe i obrobione) są przetrzymywane na serwerze danych. Osobny serwer zawiaduje komunkacją z klientami. wykorzystywana w celu dzielenia (ang. sharing) plików. Szerszy komentarz w [7] Grid Frima Sun definiuje to pojęcie jako: infrastrukturę sprzętu i oprogramowania, która zapewnia niezawodny, spójny, łatwo modyfikowalny i niedrogi dostęp do środków obliczeniowych. Chociaż grid może obejmować PC, zawyczaj jest zorientowany na silne maszyny, aby wykorzystać okresy ich przestojów [4, 6]. 3 Przegląd projektów Z roku na rok, a nawet z miesiąca na miesiąc przybywa ilość projektów związanych z obliczeniami rozproszonymi, które opierają się o zasoby komputerów podłączonych do Internetu. Aby zachęcić jak najwięcej osób do udziału w danym projekcie, niektóre firmy wprowadzają nawet nagrody pieniężne dla osoby która odnajdzie najlepsze rozwiązanie danego problemu. Poniżej przedstawimy krótkie opisy projektów planowanych lub będących aktualnie w użyciu, skupiając swą uwagę na projektach związanych z fizyką. Obliczenia rozproszone w projekcie ATLAS : Wielki zderzacz hadronów (LHC) w CERNie otworzy nowe możliwości w fizyce cząstek elementarnych ze względu na dużo większą energię zderzeń niż dotychczasowe akceleratory. Jeden z dwóch wiodoących eksperymentów LHC : ATLAS, jest konstruowany w 150 instytutach z całego Świata. Detektor będzie docelowo zbierał ogromne ilości informacji. Rząd wielkości surowych, nieprzetworzonych danych jakie będą generowane jest przewidywany na 100 MB na sekunde (!) i 10 PB na rok. Skala obliczeń jest bezprecedensowa, więc do pełnego zrealizowania programu ATLAS niezbędne 7

8 Rysunek 3: Projekt Muon1 będą technologie oparte na obliczeniach rozproszonych. Polegałaby one umożliwliwieniu współpracy szerokiej liczbie systemów komputerowych, która dostarczyłaby możliwości obliczeniowych fizykom w ich własnych instytutach. Dzięki takiemu systemowi naukowcy mieliby pełny udział w rozwoju i przeprowadzaniu programu naukowego ATLAS. Ponadto wprowadzenie do badań obliczeń rozproszonych opartych na sieci Internet, mogłoby znacznie wspomóc program. Przykładem może być tu próba symulacji elementów akceleratora programu naukowego RAL (Rutherford Appleton Laboratory,Oxfordshire, UK) Neutrino Factory, której celem jest znalezienie najoptymalniejszych parametrów akceleratora. Założeniem projektu Distributed Particle Accelerator Design (stworzony przez Stephen Brooks a - studenta matematyki z Oxfordu) jest - nie testowanie wielu możliwości rozwiązań (jak to ma miejsce w wielu projektach), lecz użycie inteligentnego algorytmu koncentrującego poszukiwania rozwiązań w okolicach najefektywniejszych wyników otrzymanych jak dotąd. Wykonanie projektu wydaje się banalne : każdy użytkownik instaluje na swoim komputerze program, który stara się znaleźć najoptymalniejsze paramety akceleratora o zadanej konfiguracji, a następnie, gdy plik z wynikami przekroczy 100 kb, program automatycznie łączy się z serwerem poprzez FTP i zgrywa na serwer plik z danymi. Inne projekty związane z fizyką: climateprediction.net - projekt mający na celu użycie symulacji Monte Carlo w celu przewidywanie zmian klimatu Ziemskiego na 50 lat wprzód. Jest on w końcowej fazie przygotowań, a rozpoczęcie obliczeń planowane jest na początek 2003 roku - jest największym i najbardziej znanym projektem opartym na obliczeniach rozproszonych w sieci Internet. Jest projektem prowadzonym przez zespół naukowców z Uniwersytetu Berkeley, mającym za zadanie rozstrzygnąć możliwość istnienia inteligentnej formy życia poza Ziemią. Zbierane dane z radioteleskopu w Arecibo ska rozdzielane na małe fragmenty, a następnie analizowane na komputerach klientów. Dzięki komputerom biorkacym udział w moc obliczeniowa 8

9 całego projektu osikagnęła poziom ZettaFLOP ów operacji zmiennoprzecinkowych. Analytical Spectroscopy Research Group - cel analogiczny jak w różni się jedynie metodami analizowania danych. eon - pomoc w rozwoju badaniań - obliczanie ewolucji czasowych systemów o skali atomowej Nuclear Material Container: The Gamma Flux Project - celem jest zaprojektowanie najbezpieczniejszego konteneru na odpady radioaktywne. GRobots - planowany projekt oparty na obliczeniach rozproszonych - modelowanie i symulacja rozwijajkacej się nanotechnologii Przykłady projektów związane z matematyką: Pi(x) Project - celem jest znalezienie jak najwiėkszej ilości liczb po przecinku. Ostatni rezultat miał 4*10 22 liczb po przecinku. Distributed Search for Fermat Number Divisors - znalezienie dzielników liczb Fermata. Ponadto ok. 20 projektów. Projekty związane z naukami przyrodniczymi: - projekt badający ewolucję. Pierwsza symulacja użyta w projekcie, miała za zadanie pomóc w odkryciu potencjalnych przyczyn genetycznych wyginiėcia różnych gatunków. - symulacje złożonych protein, w celu ich lepszego zrozumienia łączenia się, gromadzenia, etc. - projekt mający na celu pomoc w projektowaniu nowych protein, oraz genów, jak również dokładniejsze zrozumienie procesów ewolucji, oraz działania naturalnych genów. Ponadto ok. 10 projektów. Kryptografia - głównie projekty mające na celu badanie zabezpieczeń - możliwości łamania kodów. distributed.net Ponadto ok.3 projekty. Internet Capacity Calibration - testuje oraz monitoruje stan stron internetowych w czasie rzeczywistym, kontrolując czas ich wczytywania. Ponadto ok.3 projekty. 9

10 Finanse MoneyBee - projekt używający sieci neuronowych w celu analizowania wykresów giełdowych i próby przewidywania przyszłych trendów. Sztuka Gry electric sheep - projekt działający jako screen saver. Wyświetla animowane płomień fraktalny podczas renderowania obrazów do nastėpnej animacji. Wymagany stałe połáczenie z Internetem. Internet Movie Project - renderuje obrazy dla animacji komputerowych, powstałych w ramach projektu Internet Movie Project. The Distributed Chess Project - studia szachowe : używając sieci neuronowych, znajduje zbiór najlepszych położeń figur znając końcowe ruchy (np. mat w n-ruchach). Ponadto ok.4 projekty. 4 Klasyfikacja i cechy charakterystyczne najczęściej stosowanych systemów Sieć komputerowa opiera się na dużej ilości stosunkowo słabych maszayn, kiepsko ze sobą skomunikowanych. Dlatego poszczególne węzły powinny wykonywac zadania proste i niewymagające częstego transferu danych. Zazwyczaj więc algorytmy implementują logiczną (a czasem i rzeczywistą) równoległość tablicową i rzadziej potokową. Klasyfikacja przedsięwzięć może opierać się według nas na nastepujących głównych kryteriach: 1. Model synchronizacji odległych wątków procesy na odległych maszynach nie wymagają w ogóle komunikacji. Wyniki obliczeń i nowe dane do przetworzenia mogą być przesyłane w dowolnym czasie, jak dzieje się to w wiekszości opisanych przypadków. Główny program wykonuje się na serwerze, zlecenia (np. obliczenia wartości funkcji) zlecane sa węzłom. co pewien czas niezbędne jest zebranie wszystkich wyników, aby zaplanowac rozdział zadań obliczeniowych w następnym etapie. Ujednolicenie takie jest zazwycaj bardzo czasochłonne, dlatego jest stosowane rzadko. Dobrym przykładem takiego rozwiązania jest Muon1. przetworzone dane przekazywane są za pośrednictwem serwera do węzłów odpowiedzialnych za ich dalszą obróbkę. Jest to implemntacja równoległości potokowej. Jest stosowana rzadko. 10

11 utworzona zostaje przestrzeń krotek. Szerzej o tym przy omawianiu narzędzi: rozwiązanie to stosuje pakiet Linda. 2. Stopień ujednolicenia zadań każdy z węzłów wykonuje to samo zadanie węzły podzielone są na grupy, z których każda ma odmiene zadania - stosowane w rzypadku równoległości potokowej. Jak już wspomniano powszechne jest pierwsze rozwiązanie. 3. Ziarnistość problemu Ziarnistość problemu oznacza łatwośc dekompozycji funkcjonalnej zadania. W ocenie przydatne są podane na wstępie metody szacowania efektywności. 4. Czas trwania projekt jest nieograniczony w czsasie, bo nieograniczone są dostepne dane (np. istnieje ściśle określone zdanie do rozwiązania. Najbardziej optymalnym rozwiązaniem są obliczenia silnie zdekomponowane, niewymagajace regularnej komunikacji i o niewielkim udziale części sekwencyjnej, nieograniczone w czasie. 5 Zagadnienie modelowe Aby metoda rozwiązania problemu spełniała wyliczone wyżej cechy, powinien on: wiązać się z wykonywaniem wielu drobnych, powtarzających się czynności (np. oblicznie wartości funcji, testowanie alternatyw rozwoju układu optymalizacji lub symulacji, sortowanie cześci dużych tablic, etc.). nie wymagać zachowania kolejności obliczeń (szczególnie wżne w symulacjach rozproszonych). nie wymagać całościowej analizy dużych zbiorów danych oraz przetrzymywania na dysku klienta dużych plików. pozwalać na długi czas użytkowania tego samego oprogramowania klienckiego. Wiele typowych zadadnień spełnia podane kryteria: właściwie wszytkie, które wymieniliśmy w poprzednim rozdziale. Wady obliczeń rozproszonych są oczywiste i obejmują: znacznie dłuższy czas trwania w stosuku do obliczeń na mainfraem ach, konieczność wykorzystywania dośc skomplikowanych bibliotek komunikacyjnych, w końcu duży nakład pracy na zrównoleglenie. Inną wadą jest nieokresloność czasu wykonania zadania - nie może on być jedynie szacowany. 11

12 6 Narzędzia do programowania w sieciach komputerowych Współcześnie programista ma do wyboru bardzo wiele metod programowania w architekturach o pamięci lokalnej. Pierwsze, historyczne już rozwiązania wymagały w użyciu niezwykłej wprawy i szybko zanikły. Należały do nich języki CSP (Communicating Sequential Processes) oraz OCCAM. Metody składające się na obecny standard są bardzo bogate. Omówimy spośród nich kilka przykładów. Naszą ambicją nie jest pełny przegląd, lecz wskazanie mnogości problemów, wymagających rowiązania w obliczeniach rozproszonych, i ogólne wskazanie kierunku poszukiwń odpowiedniego narzędzia. Pamięć rozproszona nie wymaga stosowania charakterystycznych mechanizmów programowania równoległego, jak zamek czy semafor. Jednak cena za to jest wysoka: projektant właściwie sam musi zadbać o transfer danych (ominiete zostało to w HPF). Do niedawna praktycznie jedyną metodą realizacji tego były komunikaty. Obecnie wypracowane nowe metody pozwalają na wykorzystanie przestrzeni krotek (Linda) lub bardziej wyrafinowanego wykorzystania komunikatów (RPC). 6.1 Mechanizm gniazdek Interfejs ten pozwala na przekazywanie danych między procesami na różnych komputerach. Podstwowym obszarem komunikacji jest gniazdko (ang. socket). Jest to de facto (w systemach UNIX) deskryptor pliku niskiego poziomu. Jest to uchwyt (ang. file handle) do identyfikacji protokołu i aplikacji [10]. Kilka pojęć [9]: socket address: zbiór informacji określajacych protokół, adres lokalnego węzła (np. adres IP) i lokalnego procesu (port). association: zbiór informacji określajacych protokół, adres węzła lokalnego i zdalnego, proces lokalny oraz zdalny. half-assiociation: dwa gniazdka określające po obu stronach kooperujące procesy. Możliwa jest komunikacja połączeniowa i bezpołączeniowa (patrz [9]). Z połączeniem stosowane są protokoły: TCP/IP, UNIX streams, SPX. Bez połączenia: UDP (Unix Domain Protocols), UNIX datagram i IPX (Internetwork Packet Exchange - bezpołączeniowy protkół Novell NetWare). W przypadku bez tworzenia połączenia nadawca każdorazowo musi określić odbiorcę datagramu. Rozwiązanie ma ograniczenia: kotrola poprawności transmisji należy do aplikacji, ograniczony jest rozmiar przesyłanych danych. Komunikacja połączeniowa wymaga utworzenia typowej aplikacji klient-serwer, lecz w zamian pozwala na połączenie full duplex, multipleksowane. Połączenie logiczne jest wtedy identyfikowane przez association. Choć jest standardem, użycie gniazdek nie jest pozbawione wad: skomplikowany sposób adresowania. dane przesyłane są w formacie binarnym. Jako ciąg bajtów nie mogą być w żaden sposób analizowane. 12

13 Niekompatybilność obsługi gniazdek w różnych systemach i zależność implementacji od protokołu. Właśnie to utrudnia stosowanie gniazdek w rozwiązaniach nieprofesjonalnych. 6.2 High Performance Fortran HPF jest językiem dyrektyw zrównoleglających dla maszyn z pamięcią lokalną - jest rozszerzeniem Fortranu 90. HPF jest prostszym narzędziem niż języki dyrektyw zrównoleglających dla maszyn z pamięcią wspólną MIC lub OpenMP. Dotyczy on tylko jednego aspektu równoległości - a mianowicie równoległości danych (ang. data parallelism). Umożliwia to wykonanie tej samej operacji na różnych częściach złożonych struktur danych, głównie tablic. Podstawową zaletą HPF jest prostota programowania, mimo że jest to narzędzie dla maszyn z pamięcią lokalną. Wadą natomiast jest to, iż jego zastosowanie ogranicza się do zrównoleglania drobnoziarnistego (ze względu na częstotliwość synchronizacji zadań - po każdej instrukcji). Narzędzie to zostało sztucznie przeniesione na obszar sieciowych obliczeń rozproszonych. 6.3 Linda Linda jest rozszerzeniem najbardziej popularnych języków do obliczeń równoległych, czyli Fortranu oraz C/C++, umożliwiającym dostęp do globalnej bazy danych, zwanej przestrzenią krotek (ang. tuple space), oraz uruchamianie procesów równoległych. Rekordy w tej bazie danych, czyli krotki, mogą składać się z różnych pól, które mogą być liczbami, tablicami liczb lub stringami, a w C także rekordami. Odczytywanie ich polega na wyszukaniu elementu, którego odpowiednie pola są zgodne z wzorcem podanym w instrukcji czytania. Umożliwia to identyfikowanie elementów za pomocą, na przykład, ciągu znaków, czyli emuluje identyfikowanie zmiennych w programie za pomocą nazw. Ponieważ identyfikatory te we wszystkich procesach prowadzą do tych samych krotek, mamy do czynienia z wirtualną pamięcią wspólną. 6.4 Narzędzia obiektowe Sensem sieciowego programowania obiektowego jest maksymalnie głębokie ukrycie przez narzędzia mechanizmów komunikacji klient-serwer. Procedury używane przez węzły, to namiastki (ang. stubs). Mają one formalną postać procedur, ale ich zadaniem jest tylko dostarczenie wywołań do węzła. W przeciwieństwie do rozwiązań typu gniazdek, mechanizmy obiektowe uwalniają użytkownika w dużym stopniu od dbałości o komnikację. Mechanizm RPC (ang. Remote Procedure Call): metoda ta polega na wywoływaniu procedury w odległym węźle przez proces lokalny. Zalicza się on formalnie do technik obiektowych, lecz nie spełnia wpółczesnych wymagań. Proces wywołania procedury, oczekiwania na wynik i transferu danych jest dla użytkownika przezroczysty. Standard lansowany przez firmę Sun. RMI (Java) umożliwia zdalne wywoływanie metod w środowisku obiektowym Javy. Możemy w nim tworzyć i uruchamiać zdalne obiekty (tj. takie, których metody możemy wywoływać również w innych maszynach 13

14 wirtualnych JVM, niż ta w której znajduje się tenże obiekt), oraz wywoływać metody zdalne tych obiektów w dowolnych maszynach wirtualnych JVM mogących komunikować się ze zdalnym obiektem za pomocą sieci. CORBA (ang. Common Object Request Broker Architecture) definiuje standardową architekturę brokera obiektów tzw. ORB. Twórcą tego standardu jest grupa OMG. CORBA, opierając się na RMI, jest on całkowicie niezależny od jakiegokolwiek systemu operacyjnego jak i żadnego języka programowania. Aktualnie istnieją implementacje tego standardu dla takich języków jak: C, C++, Java, Ada i wiele innych. Jest wiele powodów aby używać tego środowiska: pozwala na skomunikowanie aplikacji pisanych w różnych językach, uniezależnia od protokołu i systemu operacyjnego. ORB (ang. object request broker) jest pośrednikiem pomiędzy klientem a implementacją obiektu. Wszystkie żądania wychodzące od klienta przechodzą przez ORB i jego zadaniem jest powiadomienie odpowiedniego obiektu o zaistniałym zdarzeniu. COR- BA jako taka została stworzona aby ułatwić i ustandaryzować tworzenie obiektowych aplikacji rozproszonych. Udostępnia ona takie mechanizmy jak: przezroczystość położenia obiektu, bezpieczeństwo używania obiektów, łączenie kodu napisanego w różnych językach i wiele innych. COR- BA ma swoje podstawy zakorzenione przede wszystkim w RPC - rozwija ona pojęcia znane z RPC i uogólnia je na obiekty. Dzięki niezależności od języka programowania ORBy zaimplementowane przez różne organizacje w różnych językach, dzięki protokołom komunikacji między nimi, potrafią porozumiewać się i działać jak jeden system. To właśnie metody obiektowe chcieliśmy wskazać jako bardzo dogodne dla nieprofesjonalnych zastosowań. Każdy kto zna minimalnym stopniu typowe rozwiązania sieciowe Javy, może pokusić się nawet po sięgnięcie po CORBA. Nie można powiedzieć tego już na przkład o mechanizmie gniazdek. 7 Podsumowanie W naszej pracy udało się nam dość gruntownie przanalizować modne dziś metody programowania rozproszonego w sieci Internet. Przypatrując się gwałtowneu rozwojowi narzędzi można powiedzieć, że ocean marnotrawionych cykli CPU został w końcu częṡciowo chociaż zagospodarowany. Znamienne jest, że zasoby te mogą już być wykorzystywane także przez zwykłych użytkownikȯw Intenetu. Podziękowania Autorzy pragną podziekować panu Stephen owi Brooks owi z University of Oxford, autorowi projektu Muon1, za cenne informacje i zachętę do wytężonej pracy. Literatura [1] Obliczenia równoległe i rozproszone, praca zbiorowa, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa

15 [2] Erlanger L., Distributed Computing: An Introduction, published on-line [3] Hayes B., Collective Wisdom, American Scientist, 86, March-April 1998, pp [4] Allcock B. et al., Data Management and Transfer in High Performance Computational Grid Environments, Parallel Computing Journal, 28(5), May 2002, pp [5] Bester J. et al., GridMapper: A Tool for Visualizing the Behavior of Large- Scale Distributed Systems, 11th IEEE International Symposium on High Performance Distributed Computing (HPDC-11), Edinburgh, Scotland, July 24-16, 2002, pp [6] Foster I. et al., Distance Visualization: Data Exploration on the Grid IEEE Computer Magazine, 32(12), 1999, pp [7] Ripeanu M., Peer-to-Peer Architecture Case Study: Gnutella, International Conference on Peer-to-Peer Computing (P2P2001), Linkoping, Sweden, August [8] główna strona projektu Muon1. [9] wykład Sieci komputerowe i Internet dra P. Gronka. [10] Stevens W. R.,Programowanie zastosowań sieciowych w systemie UNIX, WNT, Warszwa [11] Gelernter D., Generative Communication in Linda, ACM Transactions on Programming Languages and Systems, 7(1), 1985, pp

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania

Bardziej szczegółowo

156.17.4.13. Adres IP

156.17.4.13. Adres IP Adres IP 156.17.4.13. Adres komputera w sieci Internet. Każdy komputer przyłączony do sieci ma inny adres IP. Adres ten jest liczbą, która w postaci binarnej zajmuje 4 bajty, czyli 32 bity. W postaci dziesiętnej

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

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Charakterystyka sieci klient-serwer i sieci równorzędnej

Charakterystyka sieci klient-serwer i sieci równorzędnej Charakterystyka sieci klient-serwer i sieci równorzędnej Sieć klient-serwer Zadaniem serwera w sieci klient-serwer jest: przechowywanie plików i programów systemu operacyjnego; przechowywanie programów

Bardziej szczegółowo

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r. Sieci komputerowe Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r. 1 Literatura: 1. M.J. Bach, Budowa systemu operacyjnego UNIX, WNT, 1995. 2. Ch. Brenton, Projektowanie sieci

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki Tomasz Pawłowski Nr albumu: 146956 Praca magisterska na kierunku

Bardziej szczegółowo

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Sieć komputerowa (angielskie computer network), układ komputerów i kompatybilnych połączonych ze sobą łączami komunikacyjnymi, umożliwiającymi wymianę danych. Sieć komputerowa zapewnia dostęp użytkowników

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W E, 2L PRZEWODNIK PO PRZEDMIOCIE

Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W E, 2L PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROGRAMOWANIE ROZPROSZONE I RÓWNOLEGŁE Distributed and parallel programming Kierunek: Forma studiów: Informatyka Stacjonarne Rodzaj przedmiotu: moduł specjalności obowiązkowy: Sieci komputerowe

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Bezpieczeństwo systemów i lokalnej sieci komputerowej

Bezpieczeństwo systemów i lokalnej sieci komputerowej Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Jan Werner Bezpieczeństwo systemów i lokalnej sieci komputerowej Praca magisterska

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus Automatyzacja procesów biznesowych Andrzej Sobecki ESB Enterprise service bus Plan prezentacji Zdefiniowanie problemu Możliwe rozwiązania Cechy ESB JBI Normalizacja wiadomości w JBI Agile ESB Apache ServiceMix

Bardziej szczegółowo

Praca w sieci z serwerem

Praca w sieci z serwerem 11 Praca w sieci z serwerem Systemy Windows zostały zaprojektowane do pracy zarówno w sieci równoprawnej, jak i w sieci z serwerem. Sieć klient-serwer oznacza podłączenie pojedynczego użytkownika z pojedynczej

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

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410) Spis treści Dzień 1 I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410) I-3 VBS w WinCC - Informacje ogólne I-4 Zastosowanie VBS w WinCC Runtime I-5 Wykorzystanie i wydajność

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

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1. Zakład Elektronicznych Urządzeń Pomiarowych POZYTON sp. z o. o. 42-200 Częstochowa ul. Staszica 8 p o z y t o n tel. : (034) 361-38-32, 366-44-95, 364-88-82, 364-87-50, 364-87-82, 364-87-62 tel./fax: (034)

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

MASKI SIECIOWE W IPv4

MASKI SIECIOWE W IPv4 MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, ćwiczenia I KARTA

Bardziej szczegółowo

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Terminale ABA-X3 od dostarczane od połowy listopada 2010 r. są wyposażane w oprogramowanie umożliwiające skanowanie podsieci w poszukiwaniu aktywnych

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010 System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy

Bardziej szczegółowo

Efekty kształcenia wymagane do podjęcia studiów 2 stopnia na kierunku Informatyka

Efekty kształcenia wymagane do podjęcia studiów 2 stopnia na kierunku Informatyka Efekty kształcenia wymagane do podjęcia studiów 2 stopnia na kierunku Informatyka Test kwalifikacyjny obejmuje weryfikację efektów kształcenia oznaczonych kolorem szarym, efektów: K_W4 (!), K_W11-12, K_W15-16,

Bardziej szczegółowo

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Szymon Klimuk Nr albumu: 187408 Praca magisterska na kierunku Informatyka Monitorowanie

Bardziej szczegółowo

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Jednolite zarządzanie użytkownikami systemów Windows i Linux Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Gliwiński Nr albumu: 168470 Praca magisterska na kierunku Informatyka Jednolite

Bardziej szczegółowo

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c Wymagania edukacyjne w technikum SIECI KOMPUTEROWE kl. 2c Wiadomości Umiejętności Lp. Temat konieczne podstawowe rozszerzające dopełniające Zapamiętanie Rozumienie W sytuacjach typowych W sytuacjach problemowych

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

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

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i

Bardziej szczegółowo

Model sieci OSI, protokoły sieciowe, adresy IP

Model sieci OSI, protokoły sieciowe, adresy IP Model sieci OSI, protokoły sieciowe, adresy IP Podstawę działania internetu stanowi zestaw protokołów komunikacyjnych TCP/IP. Wiele z używanych obecnie protokołów zostało opartych na czterowarstwowym modelu

Bardziej szczegółowo

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer.

Bardziej szczegółowo

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP

Bardziej szczegółowo

Wykład 1 Inżynieria Oprogramowania

Wykład 1 Inżynieria Oprogramowania Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI

Bardziej szczegółowo

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. N Wprowadzenie Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. Wprowadzenie (podział ze względu na przeznaczenie) Wysokiej dostępności 1)backup głównego

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: 1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,

Bardziej szczegółowo

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji. Spis Treści 1. Wprowadzenie... 2 1.1 Wstęp... 2 1.2 Cel pracy... 2 1.3 Zakres pracy... 2 1.4 Użyte technologie... 2 1.4.1 Unity 3D... 3 2. Sztuczna inteligencja w grach komputerowych... 4 2.1 Zadanie sztucznej

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.

Bardziej szczegółowo

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Dr inż. Michał Bednarczyk Uniwersytet Warmińsko-Mazurski w Olsztynie Wydział Geodezji i Gospodarki Przestrzennej Katedra Geodezji

Bardziej szczegółowo

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Tomasz Kapelak Nr albumu: 187404 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

KIERUNKOWE EFEKTY KSZTAŁCENIA

KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc RPC Remote Procedural Call Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc 1 Wprowadzenie Podstawowe założenia RPC: Program uruchamiany na maszynie A może wywołać procedurę

Bardziej szczegółowo

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD

Bardziej szczegółowo

KARTA KURSU (realizowanego w module specjalności)

KARTA KURSU (realizowanego w module specjalności) KARTA KURSU (realizowanego w module ) PROSZĘ WPISAĆ NAZWĘ SPECJALNOŚCI Administracja systemami informatycznymi Nazwa Programowanie obiektowe 2 Nazwa w j. ang. Object Oriented Programming 2 Kod Punktacja

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

System Kancelaris. Zdalny dostęp do danych

System Kancelaris. Zdalny dostęp do danych Kancelaris krok po kroku System Kancelaris Zdalny dostęp do danych Data modyfikacji: 2008-07-10 Z czego składaj adają się systemy informatyczne? System Kancelaris składa się z dwóch części: danych oprogramowania,

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy

Bardziej szczegółowo

DZANIA I MARKETINGU BIAŁYSTOK,

DZANIA I MARKETINGU BIAŁYSTOK, 5 - POCZĄTKI OSIECIOWANIA - nie były łatwe i oczywiste IBM-owskie pojęcie Connectivity martwy model sieci 1977 - ISO dla zdefiniowania standardów w sieciach opracowała siedmiowarstwowy model sieci OSI

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Formalne podstawy informatyki Rok akademicki: 2013/2014 Kod: EIB-1-220-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Inżynieria Biomedyczna

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Laboratorium Sieci Komputerowych - 2

Laboratorium Sieci Komputerowych - 2 Laboratorium Sieci Komputerowych - 2 Analiza prostych protokołów sieciowych Górniak Jakub Kosiński Maciej 4 maja 2010 1 Wstęp Zadanie polegało na przechwyceniu i analizie komunikacji zachodzącej przy użyciu

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl IPTables Hacking CONFidence 13/05/2006 Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl 1 Zamiast planu 2 ZB PCSS Praca operacyjna w ramach ogólnopolskiej szerokopasmowej sieci PIONIER oraz zasobów Centrum

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),

Bardziej szczegółowo