Klaster klasy Beowulf w środowisku heterogenicznym

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

Download "Klaster klasy Beowulf w środowisku heterogenicznym"

Transkrypt

1 Wydział Matematyczno-Fizyczny Politechnika Śląska w Gliwicach PRACA DYPLOMOWA INŻYNIERSKA Klaster klasy Beowulf w środowisku heterogenicznym Piotr Kandziora Praca wykonana w: Zakładzie Optoelektroniki Promotor: dr inż. Adam Szpakowski Gliwice, 2007

2 Podziękowania dla dra Adama Szpakowskiego za pomoc merytoryczną w realizacji pracy.

3 Spis treści 1 Wstęp Systemy obliczeniowe Historia superkomputerów, technologie wieloprocesorowe Definicja klastra, historia pierwszych klastrów Klastry a superkomputery Programowanie równoległe oraz przyspieszenie programów Klastry komputerowe Wybrane pojęcia związane z technologią klastrową Typy klastrów Klaster wysokiej dostępności Klaster zrównoważonego obciążenia Klaster wysokiej wydajności Klasyfikacja klastrów ze względu na użyty sprzęt i sieć Systemy operacyjne klastrów typu HPC Architektury klastrów Single System Image (SSI) Beowulf Ogólna charakterystyka Historia Budowa klastra Klasyfikacja klastrów Beowulf. Wady i zalety Opis klastra realizowanego w ramach pracy Ogólny opis projektu oraz jego założenia Charakterystyka użytego sprzętu Charakterystyka użytego oprogramowania Budowa systemu kontrolera OpenSSH Apache 2 serwer stron Ntpd (Network Time Protocol daemon) NFS (Network File System) Ganglia Syslog-NG Budowa systemu węzła Usługi węzła klastra Mechanizmy wykorzystane w systemie węzła System użytkowników (SU) - VServer Torque Resource Manager Testy klastra Ładowanie systemu węzła Test wysycenia sieci Test odczytu danych z serwera NFS Wnioski z testów Podsumowanie

4 1 Wstęp Głównym celem pracy było stworzenie klastra obliczeniowego, czyli struktury złożonej z grupy połączonych komputerów, które widziane byłyby przez użytkowników jako jedna maszyna o dużej mocy obliczeniowej. Klaster ten miałby pracować w istniejącym w środowisku sieciowym i korzystać z komputerów, na których użytkownicy posiadają własne systemy operacyjne. Cała struktura używana byłaby do wykonywania zadań, które wymagałyby dużej ilości cyklów obliczeniowych. Zadania te zlecane byłyby przez użytkowników posiadających własne konta systemowe w klastrze. Realizowany w ramach pracy klaster jest klasy Beowulf, zatem w jego strukturze można wyróżnić główny komputer nazywany kontrolerem, który odpowiedzialny jest za zarządzanie wszystkimi pozostałymi komputerami wchodzącymi w skład klastra (tzw. węzłami). Kontroler stanowi serce całego klastra i to przez niego dokonuje się zlecania zadań. Całość pracuje w środowisku heterogenicznym, oznacza to, że wchodzące w skład klastra komputery nie są jednakowe pod względem sprzętowym posiadają elementy pochodzące od różnych producentów i różnią się dysponowaną mocą obliczeniową. Dodatkowo cała struktura nie posiada dedykowanej sieci komputerowej wykorzystuje istniejącą sieć typu Ethernet, w której mogą pracować inne komputery niewchodzące w skład klastra. Głównym założeniem podczas projektowania struktury oprogramowania systemowego klastra była chęć stworzenia środowiska, które byłoby łatwe w zarządzaniu oraz aktualizacji. Realizacja tego założenia opiera się na obecności trzech niezależnych systemów operacyjnych. Są to system kontrolera, system węzła oraz system użytkowników. System kontrolera jest podstawowym systemem uruchamianym na kontrolerze i został dostosowany pod kątem pełnienia głównej funkcji w klastrze posiada szereg narzędzi administracyjnych służących zarządzaniu węzłami. System węzła został umiejscowiony na kontrolerze i jest udostępniany poprzez sieć. Jest to system ładowany przez każdy z węzłów - ma postać systemu 4

5 współdzielonego. Uruchamiane są w nim m.in. aplikacje monitorujące aktywność komputera. System użytkowników został stworzony w celu udostępnienia użytkownikom klastra środowiska, w którym możliwe jest zlecanie różnego typu programów obliczeniowych. System ten ma również formę systemu współdzielonego i jest uruchamiany jako system wirtualny zarówno w systemie kontrolera jak i węzłów. Krótki opis zawartości pracy: Rozdział 2: W rozdziale tym przedstawiono pojęcia superkomputer oraz klaster. Opisano najważniejsze wydarzenia w historii tych sytemów obliczeniowych oraz zaprezentowano najpopularniejsze obecnie technologie wieloprocesorowe. Rozdział omawia również podstawowe zagadnienia związane z programowaniem równoległym. Rozdział 3: Rozdział opisuje podstawowe pojęcia związane z technologią klastrów komputerowych. Omawia najpopularniejsze obecnie typy klastrów. Zawiera klasyfikację klastrów ze względu na zastosowany sprzęt oraz przedstawia udział systemów operacyjynch w systemach klastrowych. Rozdział omawia również dwie najpopularniejsze obecnie architektury klastrowe: Single System Image (SSI) oraz Beowulf. Rozdział 4: Rozdział dotyczy części praktycznej realizowanego projektu budowy klastra obliczeniowego. Przedstawia jego budowę pod względem wykorzystanego sprzętu oraz oprogramowania. Omawiane są systemy operacyjne węzła oraz kontrolera klastra oraz opisane główne usługi uruchamiane w tych systemach. Przedstawiono ponadto wirtualny system użytkowników oraz zaznajamiono z systemem kolejkowania Torque Resource Manager. Rozdział 5: Rozdział dotyczy testów klastra w środowisku sieciowym. Przedstawione zostały wyniki testów ładowania systemu węzła, przesyłu komunikatów MPI oraz odczytu danych z serwera sieciowego NFS. Rozdział 6: Podsumowanie pracy oraz wnioski. 5

6 2 Systemy obliczeniowe W rozdziale tym przedstawiono pojęcia superkomputer oraz klaster. Opisano najważniejsze wydarzenia w historii tych sytemów obliczeniowych oraz zaprezentowano najpopularniejsze obecnie technologie wieloprocesorowe. Rozdział omawia również podstawowe zagadnienia związane z programowaniem równoległym. Współczesne systemy obliczeniowe wykorzystywane są do wykonywania zadań wymagających dużej ilości cyklów obliczeniowych. Są to zazwyczaj różnego typu symulacje oraz modelowania. Przeprowadzanie tego typu obliczeń na zwykłych komputerach zajmuje bardzo dużo czasu, dlatego też tworzy się architektury dysponujące dużą mocą obliczeniową, które są w stanie sprostać tym zadaniom w znacznie krótszym czasie. Należą do nich superkomputery oraz klastry. 2.1 Historia superkomputerów, technologie wieloprocesorowe Superkomputery należą do komputerów, które znajdują się w światowej czołówce pod względem dysponowanej mocy obliczeniowej. Nie raz zajmują bardzo duże powierzchnie, a ich ceny sięgają setek milionów dolarów. Za pierwszy superkomputer uznaje się CDC 6600 [1] stworzony przez Control Data Corporation (CDC). Komputer ten powstał na początku lat sześćdziesiątych pod ścisłym nadzorem Seymour Craya jednego z najwybitniejszych inżynierów CDC [2]. Wkrótce pojawił się kolejny model CDC Rozpoczęły się prace również nad modelem 8600, jednak Cray odszedł z firmy i konstrukcja nie została dokończona. Po odejściu z CDC Cray założył własną firmę Cray Research [3]. W roku 1976 zaprezentowany został Cray-1. Cray-1 jako bardzo popularny superkomputer lat siedemdziesiątych był wykorzystywany między innymi do prognozowania pogody w European Centre for Medium-Range Weather Forecasts [4]. Był to komputer wektorowy. Cechą charakterystyczną komputerów wektorowych jest to, że wyposażone są w procesory wektorowe, 6 które umożliwiają operowanie

7 w pojedynczych cyklach procesora na całych wektorach danych. Operowanie na zbiorach danych powoduje znaczne przyspieszenie pracy. Obecnie tego typu procesory również znajdują zastosowanie w superkomputerach. Dosyć popularnym superkomputerem wektorowym jest Earth Symulator firmy NEC, który złożony jest z 5120 procesorów wektorowych, za pomocą których tworzy się wirtualny model Ziemi [5]. Komputer ten wykorzystywany jest do symulowania klimatu naszej planety śledzenia zmian klimatycznych globu oraz przewidywania różnych zjawisk atmosferycznych. Dosyć popularalnym obecnie procesorem wektorowym charakteryzującym się dużą mocą obliczeniową (kilkakrotnie przewyższającą moc obliczeniową układów Intela czy AMD) jest CELL stworzony wspólnie przez IBM, Sony Computer Entertainment oraz Toshiba [6]. Jednostka CELL to 9-rdzeniowy procesor, w którym aż 8 rdzeni wyspecjalizowanych jest w obliczeniach wektorowych i jest wykorzystywana w konsoli gier Sony PlayStation3, jak również w produktach IBM np. w serwerze kasetowym BladeCenter QS20 [7]. Mający ukazać się w 2008 roku superkomputer firmy IBM RoadRunner będzie zawierać procesorów tego typu. Procesory wektorowe dostarczają dużą moc obliczeniową w zadaniach przystosowanych do ich stosowania, jednak nadal są jednostkami bardzo drogimi i dlatego też nie są tak popularne jak procesory skalarne. Wśród 500 najszybszych komputerów na świecie zaledwie 1,4% wykorzystuje procesory wektorowe [8]. CDC-6600 oraz Cray-1 były komputerami jednoprocesorowymi. Z biegiem czasu okazało się, że lepiej wykorzystywać do przeprowadzania różnego typu obliczeń kilka procesorów. Pierwszym superkomputerem wieloprocesorowym był Cray X-MP (Multiple Processors), który składał się z czterech procesorów wektorowych. Zastosowane rozwiązania w Cray X-MP nazwane są systemem przetwarzania symetrycznego SMP [9] i stosowane są do dziś. Systemy SMP (Symmetric Multiprocessing) odnoszą się do komputerów, w których dwa lub więcej procesorów podłączonych jest do jednej, współdzielonej pamięci oraz korzystają z jednego podsystemu I/O. Ograniczaniem SMP jest to, że procesory podłączone są do tej samej magistrali, co przy dużych obciążeniach może 7

8 powodować powstanie wąskiego gardła. W dodatku awaria magistrali może powodować uniemożliwienie dalszej pracy. Korzystanie z jednej współdzielonej pamięci sprawia, że jest to technologia mało efektywna zmuszenie procesorów do odwoływania się do tych samych obszarów pamięci może prowadzić do konfliktów. W superkomputerach znacznie lepiej sprawdza się architektura NUMA (NonUniform Memory Access). W architekturze tej grupuje się procesory w niezależne węzły. W każdym z węzłów znajdują się procesor lub kilka procesorów, magistrala oraz pamięć. Cechą charakterystyczną NUMA jest to, że pamięć operacyjna jest połączona w jedną pamięć wirtualną (obecność jednej przestrzeni adresowej) co znacznie ułatwia pisanie programów pod tę architekturę. W architekturze tej istnieje możliwość odwoływania się procesorów do pamięci innych procesorów (odwołania następują jednak wolniej niż w przypadku dostępu do pamięci lokalnej danego procesora). Inną popularną obecnie architekturą wieloprocesorową jest MPP (Massively Parallel Processing). Architektura MPP składa się z jednostek PE (Processing Element), które połączone są przełącznikami; może być określona jako zbiór wielu niezależnych procesorów posiadających własną pamięć i połączonych między sobą siecią o wysokiej przepustowości. Każdą z tych niezależnych jednostek obliczeniowych określa się mianem węzła. W przypadku MPP liczba wykorzystywanych procesorów może sięgać nawet kilku tysięcy. Dodatkowo istnieje możliwość gromadzenia procesorów w grupy, które mogą zajmować się oddzielnymi zadaniami. Obecnie MPP to najpopularniejsza architektura wśród superkomputerów, o czym może świadczyć ilość maszyn opartych na tej architekturze na liście top500 [8]. 8

9 Architektura SMP Zalety łatwość programowania Wady ograniczona skalowalność (16- NUMA łatwiejszy w 32 procesory) trudniej programowaniu niż MPP, programować niż skalowalność lepsza niż w SMP, w SMP skalowalność gorsza niż w MPP MPP skalowalność, wysoka trudny model dostępność programowania Tabela 1: Wady i zalety architektur wieloprocesorowych 2.2 Definicja klastra, historia pierwszych klastrów Klaster komputerowy (ang. computer cluster) - grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy [10]. Historia pierwszych klastrów jest w pewnym stopniu powiązana z historia pierwszych sieci komputerowych. Motywacją osób budujących owe sieci było połączenie zasobów komputerowych - tak naprawdę stworzenie klastra. Stworzony w 1969 roku projekt ARPANET, był prawdopodobnie pierwszym na świecie bazującym na sieci klastrem, który powstał poprzez połączenie czterech różnych centrów komputerowych. Projekt ARPNET przekształcił się w Internet, który może być potraktowany jako matka wszystkich klastrów (ze względu na połączenie wszystkich zasobów komputerowych). Tworzenie pierwszych klastrów dla wolnego rynku i badań trwało równocześnie z rozwojem systemu operacyjnego UNIX oraz protokołów sieciowych. Pierwszym komercyjnym klastrem był ARCNet, zbudowany w Datapoint w 1977 roku. ARCNet nie osiągnał sukcesu komercyjnego. W 1984 DEC stworzył VAXCluster dla systemu operacyjnego VAX/VMS. Oba produkty nie tylko wspierały obliczenia równoległe, ale również współdzielony system plików i urządzenia peryferialne. Dwoma innymi dosyć interesującymi wczesnymi klastrami były IBM S/390 Parallel Sysplex oraz Tandem 9

10 Himalaya (oba powstały około roku 1994). Znacząca rolę w rozwoju klastrów odegrał PVM (Parallel Virtual Machine) [11]. To otwarte oprogramowanie oparte umożliwiło utworzenie wirtualnego superkomputera utworzonego z obojętnie jakich komputerów połączonych siecią TCP/IP. PVM jest to narzędzie, które służy głównie do pośredniczenia uruchomionymi na w osobnych wymianie maszynach informacji oraz do pomiędzy zarządzania procesami nimi za pośrednictwem specjalnej konsoli. W roku 1993 na zlecenie NASA powstał Boewulf typ klastra zbudowanego ze zwykłych komputerów połączonych siecią. Obecnie jest to jeden z najpopularniejszych typów klastra. 2.3 Klastry a superkomputery Klastry są podobne do superkomputerów opartych na MPP. Wykorzystują sieć Ethernet między węzłami zamiast sieci o wysokiej przepustowości, która występuje w przypadku MPP, w dodatku wymiana danych między węzłami nie występuje tak często. Zarówno klastry jak i superkomputery wykorzystujące architekturę MPP cechują się wysoką skalowalnością, w przeciwieństwie do SMP (możliwość rozbudowy do procesorów). W SMP nie można dodawać procesorów w nieskończoność bez znacznej przebudowy systemu. Dodawanie kolejnych procesorów może prowadzić do powstania wąskiego gardła na magistrali. Wykorzystanie SMP niesie za sobą kolejne ograniczenie - w przypadku awarii jednego procesora lub magistrali unieruchomiony zostaje cały system [12]. Inaczej ma się sprawa w przypadku klastrów, w których przypadku awaria jednego z węzłów nie powinna powodować unieruchomienia całego systemu. Superkomputery są bardzo drogie (ze względu na obecność wyspecjalizowanych jednostek obliczeniowych), a ich ceny nie raz sięgają milionów dolarów. Earth Symulator z 2002 roku kosztował Japonię 35 milionów dolarów, a mający ukazać się w 2008 roku RoadRunner powstający na zlecenie amerykańskiego Departamentu Energii ma kosztować 110 milionów dolarów. Inaczej ma się sprawa w przypadku klastrów, które mogą być budowane z powszechnie dostępnego sprzętu, przez co koszt ich budowy oraz zarządzania jest znacznie mniejszy. Biorąc pod uwagę koszty rozbudowy również tańsze są klastry. 10

11 2.4 Programowanie równoległe oraz przyspieszenie programów Początkowo tworzone komputery ze względu na obecność tylko jednego procesora przetwarzały tylko jeden proces obliczeniowy w danym momencie. Wraz z pojawieniem się systemów wieloprocesorowych pojawiła się możliwość przeprowadzania równoległych obliczeń na wielu procesorach. Dzięki temu proces obliczeniowy zostały znacznie przyspieszony, a czas jaki należało poświęcić na jego wykonywania uległ znacznemu zredukowaniu. Przyspieszenie programów, jakie można uzyskać na systemach równoległych nie jest jednak liniowo zależne od ilości dostępnych procesorów i wiąże się ściśle z zastosowanymi algorytmami. Jednym z praw określających przyspieszenie na systemach równoległych jest prawo Amdahl`a. Zakłada ono istnienie w każdym procesie obliczeniowym części sekwencyjnej oraz części, która może zostać poddana zrównolegleniu [13]. Wraz ze wzrostem liczby procesorów czas, jaki należy poświęcić na wykonanie części równoległej będzie maleć. Część sekwencyjną niestety nie da się rozdzielić na wiele procesorów, zatem nie można w ten sposób przyspieszyć jej wykonywania. Całkowity czas potrzebny na wykonanie programu można oszacować jako [13]: T N =T 1 F T F N gdzie: N ilość procesorów, F część programu, który można poddać paralelizacji, T(1-F) czas, jaki należy poświęcić na wykonanie części sekwencyjnej, T(F)/N czas wykonywania części, która można poddać zrównolegleniu. Przyspieszenie P, które określa się jako czas stosunek czasu wykonania programu na jednym procesorze do czasu wykonania tego programu na N procesorach określa się wyrażeniem [13]: 1 P N = 1 F 11 F N

12 Rys. 1: Redukcja czasu wykonywania różnych części programu w zależności od liczby użytych procesorów [13]. Jak widać na rysunku (przyjęto F=0.8) istnieje część programu S (sekwencyjna), której czas wykonywania nie zmienia się wraz ze wzrostem ilości dostępnych procesorów. Czas wykonywania części R, którą można poddać procesowi zrównoleglenia, zmniejsza się wraz ze zwiększeniem liczby procesorów. Innym prawem mówiącym o możliwym do osiągnięcia przyspieszeniu na systemach równoległych jest prawo Gustafsona. Przyspieszenie w tym przypadku jest w przybliżeniu wprost proporcjonalne do ilości użytych procesorów, a wpływ części sekwencyjnej S na przyspieszenie nie jest tak duże jak w przypadku prawa Amdahl`a. Stosowanie obliczeń równoległych nie zawsze jest korzystne. Nie jest celowym ich stosowanie w sytuacjach, gdy: trudna jest dekompozycja zadania na części (rozdzielenie pomiędzy jednostki obliczeniowe), dekompozycja spowodowałaby znaczny wzrost operacji sekwencyjnych, zadanie jest w większej mierze sekwencyjne, sieć posiada małą przepustowość, a wymiana komunikatów następuje bardzo często (przy założeniu, że procesy komunikują się poprzez sieć), ważna jest kolejność wykonywanych czynności przez program. 12

13 3 Klastry komputerowe Rozdział opisuje podstawowe pojęcia związane z technologią klastrów komputerowych. Omawia najpopularniejsze obecnie typy klastrów. Zawiera klasyfikację klastrów ze względu na zastosowany sprzęt oraz przedstawia udział systemów operacyjynch w systemach klastrowych. Rozdział omawia również dwie najpopularniejsze obecnie architektury klastrowe: Single System Image (SSI) oraz Beowulf. 3.1 Wybrane pojęcia związane z technologią klastrową Z technologią klastrów wiąże się kilka pojęć, których zrozumienie jest konieczne do zrozumienia istoty działania klastra. Są to: Obliczenia rozproszone są to obliczenia wykonywane na dwóch lub więcej jednostkach obliczeniowych (komputerach), które połączone są między sobą siecią komputerową. Z obliczeniami rozproszonymi wiążą się rozwiązania sprzętowe, system operacyjny, system współdzielenia zasobów oraz języki programowania [14]. Skalowalność, poprzez którą rozumie się zdolność systemu do efektywnego użycia rosnącej liczby procesorów [15]. Określa ona miarę możliwości rozbudowy komputera, usługi lub aplikacji stosownie do rosnących wymagań w zakresie wydajności. W przypadku klastrów serwerów poprzez skalowalność określa się możliwość stopniowego dodawania systemów do istniejącego klastra w momencie, gdy całkowite obciążenie przekracza możliwości klastra [16]. Wyróżnia się skalowalność [14]: obciążenia określa zdolność do modyfikacji/rekonfiguracji pod wpływem ilości zadań, położenia określa zdolność optymalnego działania przy zwiększaniu fizycznej odległości między węzłami klastra, 13

14 zarządzania dotyczy możliwości efektywnego zarządzania niezależnie od ilości podmiotów zarządzających, pionowa określa możliwość zwiększenia mocy obliczeniowej klastra poprzez polepszanie możliwości pojedynczych węzłów, pozioma zwiększenie mocy obliczeniowej klastra wraz ze zwiększeniem ilości węzłów. Transparentność (przeźroczystość), która oznacza, że użytkownik ma wrażenie pracy na jednym dużym systemie, a nie na strukturze składającej się z pewnej ilości węzłów. Wyróżnia się kilka rodzajów transparentności: dostępu, położenia, migracji, relokacji/replikacji, współbieżności/wielodostępności, awarii/ zabezpieczeń [14]. Otwartość określa cechę systemu komputerowego wiążącą się ze zdolnością interakcji z innymi systemami. FLOPS (FLoating point Operations Per Second) jest jednostką wydajności komputerów realizujących obliczenia zmiennoprzecinkowe i określa liczbę wykonywanych operacji zmiennoprzecinkowych na sekundę [17]: 1 FLOPS= 1 s Obecnie najmocniejsze systemy obliczeniowe posiadają moc obliczeniową na poziomie TFLOPS (tera FLOPS-ów). Elementy budowy klastra: Kontroler klastra jest to komputer będący podstawowym elementem struktury klastra. Wyróżniany jest w niektórych konfiguracjach klastrowych. Jego funkcja polega na zarządzaniu całą strukturą. W systemach obliczeniowych poprzez kontroler klastra dokonuje się zleceń różnego typu zadań, które następnie wykonywane są na tzw. węzłach. Węzeł to komputer będącym elementem składowym klastra pełniącym np. funkcje obliczeniowe. W niektórych typach klastra węzeł może pracować pod nadzorem kontrolera wykonywać zadania zlecane przez niego. Współczesne systemy klastrowe mogą posiadać nawet kilka tysięcy węzłów. 14

15 3.2 Typy klastrów Wyróżnia się trzy podstawowe rodzaje klastrów: klastry wysokiej dostępności (ang. high availability clusters HA), klastry zrównoważonego obciążenia (ang. load balancing clusters LB), klastry wysokiej wydajności (ang. high performance clusters HPC) Klaster wysokiej dostępności Obecnie dostępność oraz niezawodność systemów informatycznych jest bardzo ważnym elementem branym pod uwagę podczas ich projektowania. Na codzień przyjmuję się za miarę niezawodności systemu informatycznego procentową ilość czasu działania takeigo systemu do całkowitego czas jego użytkowania. Współczesne serwery o znaczeniu strategicznym zapewniają niezawodność na poziomie 99,999%, co przekłada się na dozwolone 5 minut przerwy w działaniu serwera w skali roku. Wysoką niezawodność otrzymuje się między innymi poprzez zastosowanie klastrów wysokiej dostępności (ang. high availability clusters - HA). Klastry tego typu mają służyć zagwarantowaniu dostępności usług oferowanych poprzez klaster. Najprosztszy klaster tego typu składa się z dwóch węzłów. Jeden z nich to węzeł aktywny, aktualnie oferujący daną usługę. Drugi z węzłów jest w trybie oczekiwania i monitoruje pracę węzła aktywnego. W przypadku awarii węzła aktywnego, węzeł będący w spoczynku przechodzi w stan aktywności - przejmuje adres IP odchodzącego węzła, uzyskuje dostęp do współdzielonych zasobów a następnie uruchamia odpowiednie usługi - umożliwiając dalszą pracę [18]. Współdzielenie danych pomiędzy węzłami może odbywać się za sprawą replikacji programowej (np. DRBD) bądź też dzięki rozwiązaniu sprzętowemu. Przykładem dosyć popularnego oprogramowania typu OpenSource oferującego funkcjonalność wysokiej dostępności jest projekt Linux-HA [19] Klaster zrównoważonego obciążenia Mechanizm klastra zrównoważonego obciążenia (ang. load balancing - LB) polega na odpowiednim rozłożeniu obciążenia na wszystkie węzły klastra poprzez odpowiednie kierowanie wywołań na węzły. Przekierowanie żądania do innego 15

16 węzła odbywa się na podstawie analizy obciążenia (wykorzystania procesora, pamięci) węzłów. Nie dopuszcza się do sytuacji, w której niektóre z węzłów są w stanie pełnej zajętości, a inne wolne od wykonywania jakichkolwiek zadań. Zadaniem mechanizmu LB jest pełne wykorzystanie mocy klastra. Umożliwia on również wykrywanie awarii węzłów bądź też wykrycie całkowitego wyłączenia węzła [20]. Klastry zrównoważonego obciążenia powszechnie używane są dla obciążonych stron internetowych. Każdy z węzłów posiada tą samą stronę www. Żądanie dostępu do strony jest automatycznie kierowane do węzła posiadającego najmniejsze obciążenie [18]. Przykładem projektów realizujących założenia klastra zrównoważonego obciążenia jest LVS (Linux Virtual Server) [21] oraz openmosix [22] Klaster wysokiej wydajności Poprzez klaster wysokiej wydajności (ang. high performance computing HPC) rozumie się grupę komputerów wykorzystywaną do wykonywania obliczeń. Klastry tego typu ze względu na oferowaną dużą moc obliczeniową są szczególnie popularne w środowiskach naukowych. Używa się ich do uruchamiania programów wykonujących obliczenia, które na zwykłych komputerach zajęłyby o wiele więcej czasu. Poniżej kilka przykładowych zastosowań systemów HPC: analiza danych pochodzących z sejsmogramów w poszukiwaniu złóż ropy naftowej czy też gazu ziemnego (do rekonstrukcji niewielkich obszarów potrzebne są terabajty danych), symulacje aerodynamiczne przy projektowaniu silników oraz samolotów, projektowanie systemów do przewidywania trzęsień ziemi, w naukach biomedycznych np. symulacja procesu fałdowania białek, który w przyrodzie zachodzi bardzo szybko tj. około jednej milionowej części sekundy (zaburzenie tego procesu może prowadzić do choroby Alzheimera) symulacja tego procesu na zwykłym komputerze zajęłaby dekady, modelowanie farmaceutyczne, 16

17 modelowanie wyników finansowych, symulacje astrofizyczne, symulacje klimatu Ziemi (modelowanie aktualnie zachodzących zjawisk klimatycznych oraz ich przewidywanie), zastosowanie w kinematografii przy tworzeniu efektów specjalnych w filmach; renderowanie graficzne przy manipulowaniu obrazem wysokiej rozdzielczości. Obszar zastosowań najwydajniejszych obecnie systemów HPC: Rys. 2: Zastosowanie systemów HPC (lista top500 listopad 2006 [8]). 3.3 Klasyfikacja klastrów ze względu na użyty sprzęt i sieć Wyróżnia się dwa rodzaje klastrów: klastry heterogeniczne, klastry homogeniczne. Klastry heterogeniczne są klastrami uruchamianymi w środowiskach heterogenicznych, czyli niejednorodnych. Środowiska niejednorodne to takie, które zbudowane są z komputerów pochodzących od różnych producentów, pracujących 17

18 na różnych systemach operacyjnych i wykorzystujących różne protokoły sieciowe [23]. Klastry homogeniczne są klastrami uruchamianymi w środowiskach homogenicznych, czyli jednorodnych. Środowisko sieciowe uważa się za jednorodne, gdy zbudowane jest ze sprzętu tego samego, lub kompatybilnego producenta. W środowisku tym wykorzystywany sprzęt działa pod kontrolą tego samego systemu operacyjnego [23]. 3.4 Systemy operacyjne klastrów typu HPC Obecnie najpopularniejszym systemem operacyjnym dla klastrów HPC jest system Linux. Dzięki linuksowi koszty związane z uruchomieniem klastra uległy znacznemu zredukowaniu. Linux wspiera wiele platform sprzętowych, posiada wydajny kompilator, daje użytkownikowi możliwość dopasowania jądra systemowego do własnych potrzeb, a większość oprogramowania jest darmowa. Udział systemu Linux wśród systemów klastrowych z listy top500 wynosi niemal 98%. Rys. 3: Udział systemu Linux w systemach HPC. Opracowanie własne na podstawie listy Top500 z 2006 roku uwzględniające tylko rozwiązania klastrowe [8]. 18

19 Rys. 4: Udział systemów operacyjnych w rozwiązaniach HPC na przestrzeni lat (zaczerpnięte ze strony top500 [8]). 3.5 Architektury klastrów Wyróżnia się dwa podstawowe architektury klastrów: model Single System Image (SSI), którego przykładem może być projekt openmosix (jako przedstawiciel klastrów typu zrównoważonego obciążenia), model Beowulf (jako przedstawiciel klastrów typu HPC) Single System Image (SSI) Głównym założeniem twórców SSI było stworzenie architektury klastrowej, która gwarantowałaby całkowitą transparentność zasobów, skalowalną wydajność oraz łatwość wspierania aplikacji użytkowników. SSI może być zdefiniowane jako iluzja, stworzona poprzez sprzęt lub oprogramowanie, która prezentuje zasoby jako jedną, zunifikowaną i przede wszystkim potężniejszą całość [24]. Model SSI ukrywa heterogeniczny oraz rozproszony charakter struktury klastra. 19

20 Cechy architektury SSI [24]: Pojedynczy punkt dostępowy. Możliwość połączenia się z klastrem jako wirtualnym hostem, chociaż składa się on z wielu maszyn. Wspólna przestrzeń procesów. Możliwość komunikacji pomiędzy procesami rezydującymi na różnych węzłach. Proces występujący na danym węźle może stworzyć potomka, który będzie rezydować na innym z węzłów. Pojedyncza przestrzeń pamięci. Wrażenie dużej, scentralizowanej pamięci, która w rzeczywistości może być rozproszona. Pojedyncza przestrzeń operacji I/O. Umożliwienie wykonywania operacji I/O na lokalnie lub zdalnie zlokalizowanych peryferiach lub urządzeniach dyskowych. Jedna hierarchia plików. Użytkownik po zalogowaniu do systemu ma wrażenie, że pracuje w jednym dużym systemie plików. Wspólny system zarządzania zadaniami. Występuje globalny system zarządzania zadaniami, który może przyjmować zlecenia każdego z węzłów. Jeden punkt zarządzania klastrem. Cały klaster lub każdy z węzłów z osobna może być konfigurowany, testowany, monitorowany z jednego punktu dostępowego. Migracja procesów. Możliwość przeniesienia procesów (migracji) z węzłów bardziej obciążonych do mniej obciążonych umożliwia balansowanie obciążeniem klastra. Checkpointing. Mechanizm okresowego zapisywania danych procesów na dysk, które można odtworzyć w przypadku awarii. Przykładem projektu realizującego założenia architektury SSI jest openmosix [22]. openmosix jest rozszerzeniem jądra systemowego, który zmienia sieć połączonych komputerów w superkomputer. Realizuje on automatyczne oraz przeźroczyste dla użytkownika szybkie wykrywanie innych węzłów openmosix. Wykryte węzły wraz z istniejącymi już w strukturze klastra zaczynają tworzyć wspólną całość. openmosix poprzez wywłaszczanie oraz przenoszenie procesów pomiędzy węzłami może optymalizować ich obciążenie [25]. 20

21 Struktura klastra openmosix składa się z komputerów połączonych możliwie szybką siecią komputerową. Cechą charakterystyczną jest brak obecności węzła głównego (kontrolera klastra). Wady i zalety openmosixa: Zalety: równoważenie obciążenia klastra, łatwość rozbudowy o kolejne węzły, prosty w instalacji i konfiguracji, brak potrzeby ingerowania w kod aplikacji, dobrze nadaje się do obsługi aplikacji, które można podzielić na niezależne procesy. Wady: nie są migrowane procesy wielowątkowe, generowanie dużego ruchu sieciowego, brak pełnej implementacji na kernele serii 2.6, dla pojedynczego procesu brak jakichkolwiek efektów przyspieszenia działania Beowulf Ogólna charakterystyka Beowulf to typ klastra bazujący na powszechnie dostępnym sprzęcie (masowo produkowanych komputerach, zwykłych elementach sieciowych) zazwyczaj prywatnej sieci oraz oprogramowaniu typu OpenSource (Linux) [26]. Nazwa Beowulf wywodzi się od tytułowego bohatera staroangielskiej legendy Beowulf, który zabił potwora zwanego Grendel. Stąd skojarzenie słowa Beowulf z siłą, mocą. Oto jak bohater jest przedstawiony został w legendzie [27]: Famed was this Beowulf: far flew the boast of him, son of Scyld, in the Scandian lands. So becomes it a youth to quit him well with his father s friends, by fee and 21

22 gift, that to aid him, aged, in after days, come warriors willing, should war draw nigh, liegemen loyal: by lauded deeds shall an earl have honor in every clan. Idea klastra Beowulf polega na zbudowaniu możliwie wydajnej struktury obliczeniowej jak najmniejszym kosztem. Możliwości obliczeniowe takiego klastra mogą być zwiększane poprzez dodawanie kolejnych maszyn. Beowulf nie jest specjalnym pakietem oprogramowania czy też modyfikacją jądra systemowego. Nie stanowi też żadnej nowej topologii sieciowej. Beowulf to technologia łączenia komputerów pracujących pod kontrolą systemu Linux, tak aby utworzyć równoległy, wirtualny superkomputer [28] Historia Pojawienie się pierwszych planów klastra zbudowanego na powszechnie dostępnym sprzęcie będącym alternatywą dla superkomputerów miało miejsce w roku Projekt zainicjowany został przez Donalda Becker a oraz Thomasa Sterling a [29]. W roku 1994 powstał oficjalny projekt pod nazwą Beowulf Project w CESDIS (The Center of Excellence in Space Data and Information Sciences) będącym dostawcą dla NASA. Wkrótce stworzono prototyp klastra zbudowany z 16 procesorów Intel DX połączonych siecią Ethernet 10Mbit/s. Sukces klastra sprawił, że idea Beowulfa stała się dosyć popularna w NASA oraz w środowiskach akademickich. Pierwszy klaster typu Beowulf znalazł zastosowanie w rozwiązywaniu problemów pojawiających się przy dużych zestawach danych, które często pojawiały się w aplikacjach projektu NASA Earth and Space Sciences (ESS). Przyjazność idei stała się przyczyną nagłego wzrostu popularności Beowulfa Budowa klastra Najprostszy klaster tego typu to serwer główny pełniący rolę kontrolera klastra oraz podłączony do niego poprzez zwykłą sieć typu Ethernet węzeł kliencki. Kontroler klastra jest jednostką służącą do zarządzania wszystkimi węzłami iposiada dostęp do sieci zewnętrznej. To poprzez niego wydaje się polecenia do wszystkich bądź też części klientów (w zależności od zapotrzebowania). Węzły klienckie wykonują wyłącznie zlecenia pochodzące od węzła głównego, często są to maszyny nieposiadające monitorów oraz klawiatur, a dostęp do nich możliwy 22

23 jest poprzez zdalne logowanie, opcjonalnie poprzez terminal szeregowy. Cała struktura nie posiada specjalistycznych elementów sprzętowych przez co jest prostą w tworzeniu. Tego typu architektura komputerowa może być wykorzystywana do wykonywania obliczeń równoległych za sprawą powszechnie dostępnych bibliotek systemowych Message Passing Interface (MPI) [30], które zajmują się przydzielaniem nowych zasobów dla procesów oraz ich migracją. W Beowulfie ważne jest samo podejście programistów, którzy traktują klaster jako jedną maszynę. Rys. 5: Schemat logiczny klastra Beowulf (na podstawie IBM Redbooks Linux HPC Cluster Installation ) Klasyfikacja klastrów Beowulf. Wady i zalety. W celu zwiększenia mocy obliczeniowej czasami wykorzystuje się wyspecjalizowany sprzęt. W zależności od wykorzystywanej sprzętowej klastry typu Beowulf można podzielić na [28]: Klastry klasy I, Klastry klasy II. 23 konfiguracji

24 Klastry klasy I zbudowane są w całości z powszechnie dostępnego sprzętu oraz oprogramowania. Powszechność takiego sprzętu niesie za sobą łatwość w dostępie do sterowników. Najczęściej klastry tej klasy opierają się o takie technologie jak IDE, SCSI, Ethernet, komponenty składowe zaś są łatwe do wymienienia oraz przede wszystkim tanie. Klastry tej klastry są bardzo łatwe w rozbudowie. Klastry klasy II opierają się na sprzęcie wysokiej klasy, często dostarczanym przez jednego producenta. Wykorzystanie takiej konfiguracji sprzętowej wiąże się z większą wydajnością niż ta, którą oferują klastry klasy I, jednakże wiąże się to z większymi kosztami utrzymania. Z racji wykorzystania wyspecjalizowanego sprzętu mogą pojawić się tutaj problemy ze sterownikami. Dobór klasy klastra wiąże się ściśle z zapotrzebowaniem oraz możliwościami finansowymi, klasa druga niekoniecznie jest lepsza od pierwszej. Odporność klastra na uszkodzenia jest związana z rodzajem elementu struktury, który ulegnie uszkodzeniu. Jeśli awarii ulegnie węzeł, klaster może kontynuować swoją pracę. Po naprawieniu uszkodzonego węzła może on zostać w każdym momencie podłączony do klastra. Odmiennie ma się sprawa przy uszkodzeniu kontrolera. Tutaj awaria uniemożliwia dalszą pracę klastra. Dlatego też, w niektórych przypadkach stosuje się kilka kontrolerów. Klastry typu Beowulf przegrywają w rywalizacji z superkomputerami jeśli chodzi o wymianę drobnych danych - przeszkodą jest zazwyczaj dosyć mała przepustowość sieci komputerowej. Coraz powszechniejsze staje się jednak wykorzystanie sieci o wysokich przepustowościach (rzędu nawet 10Gb/s). Dystans pomiędzy superkomputerami a klastrami jeśli chodzi o szybkość wymiany informacji będzie więc coraz mniejszy. Programy wykorzystywane na klastrach typu Beowulf zazwyczaj pisane są w języku C lub FORTRAN. Paralelizacja programu nie następuje automatycznie. Programista jest zmuszony do napisania programu w odpowiedni sposób (np. z wykorzystaniem bibliotek MPI). Inaczej ma się sprawa w przypadku klastrów typu Mosix, gdzie paralelizacją zajmuje się samo jądro systemowe (nie jest konieczne pisanie programów pod kątem wykorzystania MPI). 24

25 4 Opis klastra realizowanego w ramach pracy Rozdział dotyczy części praktycznej realizowanego projektu budowy klastra obliczeniowego. Przedstawia jego budowę pod względem wykorzystanego sprzętu oraz oprogramowania. Omawiane są systemy operacyjne węzła oraz kontrolera klastra oraz opisane główne usługi uruchamiane w tych systemach. Przedstawiono ponadto wirtualny system użytkowników oraz zaznajamiono z systemem kolejkowania Torque Resource Manager. 4.1 Ogólny opis projektu oraz jego założenia Realizowany w ramach pracy klaster jest klastrem typu HPC i jest typowym klastrem klasy Beowulf w środowisku heterogenicznym. Głównym elementem struktury klastra jest kontroler, pełniący funkcje zarządcy węzłów. Założeniem projektu było stworzenie struktury łatwej w administrowaniu - aktualizacji, instalacji dodatkowego oprogramowania, zarządzaniu użytkownikami. Realizacja tego założenia opiera się na stworzeniu środowiska współdzielonego pomiędzy węzłami klastra. Obecność jednego środowiska znacznie zmniejsza czas, jaki należy poświęcić na administrację całym klastrem. Klaster ten nie posiada sprzętu dedykowanego. Jednym z założeń było wykorzystanie istniejącej struktury sieciowej i dostępnych komputerów. Pojawiła się możliwość wykorzystania tych komputerów do wykonywania różnego typu obliczeń, które zlecane byłyby przez użytkowników klastra. Zaletą otwartej struktury miałaby być łatwość w rozbudowie. Praktycznie każda maszyna posiadająca możliwość załadowania systemu poprzez sieć mogłaby stać się elementem składowym klastra. 25

26 4.2 Charakterystyka użytego sprzętu Klaster wykorzystuje istniejąca strukturę sieci. Można uznać, że ze względu na charakter użytego sprzętu przypomina tzw. CoW (Cluster of Workstations) [28]. Poniższy rysunek przedstawia uproszczony schemat sieci. Rys. 6: Struktura sieciowa klastra. Opis elementów struktury: Sieć. Klaster nie posiada sieci dedykowanej. Wykorzystano istniejącą sieć o przepustowości 100Mbit/s, w której oprócz klastra normalnie mogą pracować inne komputery nie związane w żaden sposób z klastrem. Kontroler klastra maszyna dwuprocesorowa klasy PC zarządzająca całym klastrem, wyposażona w jeden interfejs sieciowy. Węzły klastra są zwykłymi komputerami klasy PC. Składają się z powszechnie dostępnego sprzętu. Wyposażone są w procesory Intela lub AMD różniej mocy. Ponadto posiadają karty sieciowe, obsługujące możliwość ładowania systemu poprzez sieć (wsparcie dla PXE). Komputery te są wykorzystywane do zwykłej pracy w sieci i wyposażone są w systemy operacyjne użytkowników (głównie 26

27 systemy rodziny windows). Przyłączenie danego komputera do klastra odbywa się poprzez wybór opcji ładowania w klaster przy starcie komputera. Użytkownik wybiera czy chce uruchomić swój system czy też dołączyć swoją maszynę do klastra poprzez załadowanie systemu operacyjnego poprzez sieć komputerową. Po dołączeniu maszyny do struktury klastra bezpośredni dostęp do niej jest niemożliwy. Router pełni funkcję serwera pomocniczego, zajmuje się przyznawaniem adresów IP (poprzez usługę serwera DHCP). Na serwerze tym umiejscowiona jest również usługa TFTP (trivial file transfer protocol) (RFC-1350 [31]). 4.3 Charakterystyka użytego oprogramowania Jednym z założeń projektu było stworzenie środowiska łatwego w zarządzaniu. Realizacja tego założenia opiera się na obecności odseparowanych środowisk. Rys. 7: Schemat logiczny klastra pod względem użytego oprogramowania. 27

28 Opis elementów struktury: SO system operacyjny kontrolera klastra (Linux Gentoo [32]). Na kontrolerze znajdują się również WSO (współdzielony system operacyjny) i SU (system użytkowników). WSO współdzielony system operacyjny. Jest to system operacyjny zbudowany również na podstawie dystrybucji Linux Gentoo. Został on zmodyfikowany pod kątem uruchomienia poprzez sieć. System ten jest udostępniany węzłom poprzez Network File System NFS (RFC-1094 [33]). Wprowadzenie WSO sprawiło, że wszystkie węzły posiadają ten sam system operacyjny (nie ma konieczności tworzenia nowych środowisk dla nowo podłączanych węzłów). Konieczne w przypadku takiego rozwiązania jest niedopuszczenie do sytuacji współdzielenia pewnych plików przez różne usługi. W celu wyeliminowania tego zjawiska został wprowadzony mechanizm umieszczania danych w pamięci RAM węzłów (głównie katalogów tymczasowych, w których wiele programów zapisuje swoje tymczasowe dane). SU system operacyjny użytkowników. System ten ma charakter systemu współdzielonego i jest udostępniany poprzez NFS węzłom. W SU znajduje się wiele aplikacji użytkowników oraz biblioteki MPI. Jest to system uruchamiany zarówno na systemach już uruchomionych na węzłach jak również w systemie kontrolera klastra (rezyduje w tych systemach jako system wirtualny). Do SU uruchomionego na kontrolerze mogą logować się użytkownicy i zlecać klastrowi wykonywanie różnych zadań. WSO zajmuje się bezpośrednią kontrolą węzła i stanowi bufor pomiędzy sprzętem a SU (stanowi dodatkową warstwę abstrakcji). NFS w samym SU nie jest już widzialny montowanie zasobów odbywa się na poziomie WSO. KERNEL jądro systemowe wspólne dla wszystkich środowisk rozszerzone o funkcjonalność uruchamiania systemów wirtualnych. 28

29 4.4 Budowa systemu kontrolera Rys. 8: Schemat systemu kontrolera. Główne usługi uruchomione w systemie operacyjnym kontrolera klastra: OpenSSH Pakiet OpenSSH [34] to zestaw programów, który umożliwia szyfrowaną komunikację w sieci (jest alternatywą dla komercyjnego Secure Shell). Jest zamiennikiem takich programów jak telnet czy rsh. Zapewnia wysokie bezpieczeństwo w przeciwieństwie do wspomnianego programu telnet, w którym komunikacja między klientem a serwerem przesyłana jest w postaci jawnego tekstu. Możliwość łączenia się z wykorzystaniem szyfrowanego połączenia sprowadza się do uruchomienia programu sshd po stronie serwera i wykorzystania programu ssh po stronie klienta. Standardowo, w przypadku OpenSSH, autentykacja do systemu odbywa się na podstawie hasła, istnieje jednak możliwość autoryzacji użytkowników z wykorzystaniem protokołów RSA i DSA. Metoda uwierzytelnianie RSA oraz DSA w OpenSSH opiera się na dwóch specjalnie wygenerowanych kluczach, które 29

30 nazywa się kluczem publicznym oraz kluczem prywatnym. Korzyścią wykorzystywania autoryzacji opartej na kluczach jest możliwość nawiązania połączenia bez podawania hasła [35]. Tego typu autoryzacja została wykorzystana opracowanym w klastrze Apache 2 serwer stron www Wykorzystano tutaj jeden z najpopularniejszych serwerów www - Apache HTTP Server ( Apache ) [36] ze wsparciem dla języka skryptowego PHP (Hypertext Preprocessor) [37], który umożliwia dynamiczne generowanie stron internetowych. Serwer www został wykorzystany do udostępniania stron prezentujących statystyki obciążenia klastra na podstawie danych dostarczanych przez system monitorowania klastra Ganglia [38] Ntpd (Network Time Protocol daemon) Aplikacja Ntpd [39] używana jest do synchronizacji czasu serwera lub klienta z jednym lub wieloma serwerami czasu przy wykorzystaniu protokołu NTP. Może służyć również udostępnianiu czasu klientom lub serwerom. Zaletą protokołu NTP jest bardzo duża precyzja rzędu kilkudziesięciu milisekund oraz możliwość synchronizacji czasu dla bardzo dużej ilości komputerów bez obciążania procesorów oraz sieci (wymiana informacji odbywa się poprzez kilkudziesięciobajtowe pakiety UDP przesyłane okresowo domyślnie co 64 sekundy). Protokół NTP tworzy statystykę dostępu do danego źródła wzorcowego czasu (UTC). Statystyka ta zawiera informację o aktualnej precyzji zegara wzorcowego oraz lokalnego zegara systemowego. NTP zawiera również informację dotyczącą opóźnień i różnic czasowych liczonych względem UTC. Na podstawie znajomości opóźnień obecnych w sieci TCP/IP oraz statystyk każdy z klientów NTP posiada możliwość skalibrowania czasu swojego zegara systemowego. Sam proces kalibracji polega na przyspieszeniu bądź też spowolnieniu pracy niebezpieczeństwa lokalnego wystąpienia zegara zjawiska i ma na skokowego celu wyeliminowanie przestawienia czasu w systemie. W przypadku klastra synchronizacja czasu wiąże się z utrzymaniem zgodnego czasu kontrolera i wszystkich węzłów. 30

31 4.4.4 NFS (Network File System) Jest to sieciowy, asymetryczny system plików oparty na modelu klientserwer, który umożliwia współdzielenie plików pomiędzy komputerami w sieci (RFC-1094 [33]). Został opracowany przez programistów z Sun Microsystem w latach osiemdziesiątych, aktualnie jest protokołem otwartym. Umożliwia dostęp do plików na odległych maszynach w taki sam sposób jak użytkownik odwołuje się do lokalnego pliku. Jest to możliwe dzięki połączeniu funkcjonalności dostarczanej przez jądro systemowe po stronie klienta oraz serwera NFS (również zintegrowanego z jądrem systemowym) znajdującego się po stronie serwera. Dostęp do plików jest całkowicie transparentny (nie ma różnicy czy klient odwołuje się do lokalnego pliku czy też zdalnego) oraz działa na różnych systemach operacyjnych i architekturach sprzętowych. W celu zapewnienia bezpieczeństwa dostęp użytkownika do zasobu może podlegać wcześniejszej autentykacji (np. na podstawie adresu IP klienta lub z wykorzystaniem systemu Kerberos). Cechą charakterystyczną NFS jest centralizacja danych. Dane są zlokalizowane na jednej maszynie (w przypadku realizowanego w ramach pracy klastra, dane udostępniane węzłom-klientom znajdują się na kontrolerze klastra). Takie podejście znacznie skraca czas, jaki należy poświęcić na administrację systemem, ale też w przypadku awarii serwera uniemożliwia wszystkim klientom dostęp do zasobów. Serwer NFS udostępnia zasoby. Klient NFS montuje udostępnione przez serwer zasoby w dowolnym miejscu i korzysta z nich jak z zasobów lokalnych. NFS nie wymaga sztywnej lokalizacji dla montowanych danych. Samo montowanie odbywa się przy pomocy komendy mount, która przyjmuje jako parametr adres komputera, nazwę udostępnianego zasobu oraz docelowy punkt montowania (na systemie lokalnym). Standardowo komunikacja między klientem a serwerem odbywa się przy wykorzystaniu protokołu UDP, istnieje jednak możliwość wykorzystania protokołu TCP. 31

32 Wyróżnia się dwa podstawowe rodzaje montowania: montowanie twarde jeśli zasób jest niedostępny, klient ponawia aż do skutku próbę dostępu do zasobu, montowanie miękkie w przypadku niedostępności zasobu, klient próbuje uzyskać dostęp do zasobu tylko kilka razy. Istnieje również możliwość wykorzystania tzw. automounter`a [40]. Działanie tego programu polega na automatycznym, niewidocznym dla użytkownika montowaniu zasobu, do którego odwołuje się użytkownik. Użytkownik ma wrażenie, że zasób jest cały czas podmontowany. W czasie bezczynności zamontowany zasób zostaje odmontowany, co pozwala na zwolnienie niewykorzystywanych zasobów. Rys. 9: Montowanie zasobów w NFS (na podstawie Tanenbaum, van Steen, Systemy rozproszone i paradygmaty) Aktualnie wyróżnia się NFSv2, NFSv3 oraz NFSv4. Wersja pierwsza nigdy nie została opublikowana. W przypadku realizowanego klastra jeden z zasobów udostępnianych przez serwer NFS jest wykorzystywany jako podstawowy system plików (tzw. root file system, z którego jest ładowany system). Inne zasoby są podmontowywane tuż po załadowaniu systemu. Wykorzystanie zasobu udostępnianego poprzez NFS jako 32

33 głównego systemu plików jest możliwe dzięki podaniu odpowiednich parametrów do jądra systemowego węzła informujących o charakterze głównego systemu plików oraz wskazujących na lokalizacje serwera NFS i nazwę zasobu Ganglia Ganglia jest systemem monitorowania przeznaczonym dla klastrów [38]. Jest to projekt przydatny zarówno dla administratorów jak i użytkowników - pozwala sprawdzić obciążenie (określić kondycję) klastra lub grupy klastrów jak również każdego węzła z osobna. Monitorowaniu może podlegać aktywność procesora, sieci, pamięci itp. Dodatkowo program dostarcza informacji o systemie (są to np. wersja jądra systemowego, nazwa systemu operacyjnego) i sprzęcie (np. częstotliwość taktowania procesora i jego architektura, ilość pamięci RAM) na którym został uruchomiony. Projekt może być używany do monitorowania również systemów wirtualnych uruchomionych na jednej maszynie z WSO. Ogromną zaletą projektu Ganglia jest łatwość wykrywania węzłów nieaktywnych lub niepracujących prawidłowo - jest to przydatne szczególnie w przypadkach, gdy klaster składa się z bardzo dużej ilości węzłów. Na projekt składają się kilka programów. Najważniejsze z nich to: Gmond (Ganglia MONitor Daemon) jest to program uruchamiany na każdym z węzłów klastra. Nie wymaga systemu plików, użytkownika ze specjalnymi uprawnieniami czy bazy danych. Jego zadanie polega na monitorowaniu stanu węzła i informowaniu program gmetad o zmianach na węźle. Wykorzystuje protokół multicast do rozsyłania informacji do innych węzłów. Gmetad (Ganglia METAdata Daemon) jest uruchamiany na jednym komputerze np. kontrolerze klastra lub na niezależnej maszynie. Jego funkcja polega na zbieraniu (monitorujących węzły) danych jak pochodzących również od od programów gmond innych programów gmetad (monitorujących inne klastry) i zapisywaniu ich w bazie Round Robin Database (RRD). Zebrane informacje podlegają następnie odpowiedniej obróbce i prezentowane są na stronie www w postaci wykresów. 33

34 Rys. 10: Przykładowe statystyki generowane przez Ganglia Syslog-NG Syslog-ng [41] to system logowania zdarzeń systemowych. Jest to następca popularnego syslogd i obsługuje zaawansowane metody filtrowania zdarzeń na podstawie wyrażeń regularnych. W systemach klastrowych często wykorzystuje się go do przesyłania informacji o zdarzeniach zachodzących na węzłach do innej maszyny (niekoniecznie musi to być kontroler klastra) zajmującej się ich składowaniem do plików (tzw. logów) oraz analizowaniem (opcjonalne). Centralizacja logów znacznie ułatwia przeglądanie zdarzeń zachodzących na 34

35 węzłach. Administrator nie musi logować się na inne maszyny w celu przeglądania zdarzeń zachodzących na tych maszynach. Zdalne logowanie zdarzeń systemowych jest jedyną możliwością logowania zdarzeń zachodzących na systemach bezdyskowych. 4.5 Budowa systemu węzła Poniżej schemat budowy systemu węzła klastra: Rys. 11: Schemat systemu węzła Usługi węzła klastra Lista najważniejszych usług uruchamianych na węzłach klastra: Syslog-ng, Ganglia (monitoruje aktywność węzła; informacje zbierane są przez serwer Ganglii znajdujący się na kontrolerze klastra), OpenSSH, Ntpd. 35

36 Ponadto na każdym z węzłów znajduje się VServer [42], w którym uruchamiany jest system użytkowników (SU) Mechanizmy wykorzystane w systemie węzła Automatyczna konfiguracja IP oraz nazwy węzła. Po pobraniu adresu IP oferowanego przez serwer DHCP (przydziały dynamiczne) węzeł klastra sam dokonuje konfiguracji nazwy węzła. Mechanizm sprawdzania połączenia NFS. Mechanizm ten polega na cyklicznym odczycie pliku, który znajduje się na NFSie. W przypadku braku połączenia z serwerem NFS, a co się z tym wiąże problemem z odczytem pliku, węzeł jest po pewnym czasie restartowany. Zapobiega to zawieszeniu węzła klastra w przypadku tymczasowych problemów z siecią lub serwerem NFS. Blokada dostępu do terminala. Po uruchomieniu węzła dostęp do systemu jest blokowany poprzez blokadę terminala. Zapobiega to nieautoryzowanemu dostępowi do systemu. Katalogi montowane do pamięci RAM. Mechanizm polega na umieszczaniu do pamięci RAM węzła katalogów, w których usługi zapisują swoje tymczasowe dane. Zapobiega to konfliktom zapisu i odczytu przez usługi uruchomione na różnych maszynach. 4.6 System użytkowników (SU) - VServer Jest to oddzielny system stworzony w celu udostępnienia użytkownikom klastra środowiska do kompilowania i uruchamiania aplikacji równoległych. Środowisko to ma formę środowiska wirtualnego i jest uruchamiane zarówno na kontrolerze klastra jak i na węzłach w formie systemu rezydującego w systemie już uruchomionym (wirtualizacja [43] na poziomie systemu operacyjnego - jądra). Wirtualizacji tej dokonuje się przy wykorzystaniu tzw. VServera. Założeniem projektu VServer jest separacja środowiska jednego serwera w niezależne jednostki (zwane także Virtual Private Server) [42]. W celu dokonania tej separacji konieczne jest dokonanie 36 modyfikacji jądra systemowego

37 i wprowadzenia pojęcia kontekstu. Głównym zadaniem kontekstu jest ukrycie procesów w pewnym środowisku i niedopuszczenie do kontaktu procesów należących do różnych kontekstów (separacja przestrzeni procesów). Tworzenie nowych VPSów polega więc na tworzeniu środowisk o różnych kontekstach. W obrębie jednego serwera może istnieć wiele takich wyseparowanych środowisk, niemających ze sobą kontaktu. Środowiska wirtualne mogą posiadać własne interfejsy sieciowe (widoczne tylko w tym środowisku), każdy z nich może posiadać inny adres IP pod jakim będą widoczne w sieci (separacja sieci IP). Z punktu widzenia użytkownika sieci VPSy będą widoczne wówczas jako osobne komputery posiadające własne usługi. Istnieje również możliwość korzystania z jednego adresu IP dla różnych VPSów (współdzielenie). VPS operuje na prawie identycznym środowisku operacyjnym jak w zwykłym serwerze linuksowym. Wszystkie usługi, takie jak ssh, serwer www, poczta, bazy danych mogą być uruchomione w takim VPS bez żadnych modyfikacji. Każdy z wirtualnych serwerów posiada własną bazę użytkowników (w tym administratora systemu) i korzysta z jednego, współdzielonego jądra systemowego. Istnieje również możliwość ograniczania pracy procesora (mechanizm Token Bucket) oraz przestrzeni dyskowej dla różnych kontekstów. Zalety stosowania VServera: Łatwe zarządzanie. VServer umożliwia łatwe przenoszenie VPSów na inne maszyny. Przeniesienie VPS ogranicza się do następujących ruchów: wyłączenia serwera, skopiowania go na inną maszynę, skopiowania konfiguracji oraz wystartowania wirtualnego serwera na innej maszynie. Jest to mechanizm o wiele prostszy niż w przypadku przenoszenia całego systemu na inną maszynę. Bezpieczeństwo. VServer znacznie zwiększa bezpieczeństwo systemu poprzez separacje usług narażonych na działanie intruza od właściwego systemu. Intruz po zdobyciu kontroli nad VPS nie będzie miał dostępu do podstawowego systemu. 37

38 Separacja serwisów. W przypadku usług, które mogą na siebie w jakiś sposób oddziaływać (konfliktować ze sobą) istnieje możliwość ich odseparowania w VPSach. Łatwość zastosowania mechanizmu fail-over. W przypadku awarii VPS, korzystając ze zreplikowanego (np. przy pomocy DRBD) serwera można bardzo szybko przywrócić serwer do działania. Łatwość przeprowadzania testów (sprawdzanie działania aplikacji w różnych środowiskach). Usługi uruchamiane w VPS W zależności od maszyny, na której uruchamiane jest środowisko wirtualne (jeden z węzłów lub kontroler) uruchamiane są różne usługi. Do najważniejszych z nich należą syslog-ng, serwer ssh (dostęp poprzez port 10022) oraz system kolejkowania zleceń użytkowników Torque Resourcer Manager bazujący na Portable Batch System (PBS). Usługa monitora PBS (pbs_mom) uruchamiana jest na węzłach i na kontrolerze klastra, serwer PBS (pbs_server) tylko na kontrolerze. Wykorzystany został również zaawansowany planista Maui Cluster Scheduler, który zastepuje domyślnie występującego planistę w pakiecie Torque. Dodatkowo w VPS kontrolera uruchomione są aplikacje umożliwiające współprace z MPI (np. ORTE daemon). 4.7 Torque Resource Manager Torque Resource Manager jest programem bazującym na PBS (Portable Batch System) służącym do zarządzania zasobami obliczeniowymi i pozwalającym na optymalne ich wykorzystanie [44]. Jest to projekt typu OpenSource i wykorzystywany jest zarówno w klastrach jak i superkomputerach. Do głównych zadań tego programu należy kontrola zasobów obliczeniowych klastra, przyjmowanie zadań od użytkowników oraz kolejkowanie ich, w razie możliwości przydział zasobów obliczeniowych i wykonywanie zadań na węzłach klastra oraz monitorowanie zleceń użytkowników wykonywanych w obrębie klastra [45]. 38

39 Torque jest systemem kolejkowym, który rezerwuje i przydziela zasoby użytkownikom zgodnie z wyznaczonymi zasadami. Po stronie użytkownika praca z takim systemem ogranicza się do napisania skryptu, w którym określa się zasoby z jakich chce się skorzystać (np. Ilość węzłów, czas pracy procesora). Następnie wprowadza się zadanie do systemu kolejkowego za pomocą komendy qsub. System kolejkowy na bieżąco sprawdza dostępne zasoby obliczeniowe całego klastra i jeśli jest możliwość rezerwuje zasoby określone przez użytkownika, a następnie przystępuje do wykonywania zadania. W momencie, gdy zadania zlecone przez użytkowników przekraczają dostępne zasoby obliczeniowe, zlecenia wykonywane są zgodnie z priorytetem wyznaczonym na podstawie podanego zapotrzebowania na zasoby (tj. pamięci operacyjnej, czasu procesora). Po zakończeniu zadania użytkownika system kolejkowy zwalnia zarezerwowane wcześniej zasoby i przystępuje do realizacji kolejnych zadań umieszczonych w kolejce [46]. W przypadku realizowanego w ramach pracy klastra programem odpowiadającym za zarządzanie zleconymi zadaniami w kolejkach, przydzielaniem priorytetów oraz przekazywaniem do uruchomienia jest Maui Cluster Scheduler [47]. Jest to mocno zoptymalizowany planista bedący zamiennikiem standardowo występującego w Torque planisty pbs_sched. Posiada on zaawansowane polityki przydziałów zasobów, przez co zarządzanie zasobami klastra jest bardziej efektywne. Następcą Maui Cluster Schedulera jest komercyjny Moab Cluster Suite [48]. 39

40 5 Testy klastra Rozdział dotyczy testów klastra w środowisku sieciowym. Przedstawione zostały wyniki testów ładowania systemu węzła, przesyłu komunikatów MPI oraz odczytu danych z serwera sieciowego NFS. 5.1 Ładowanie systemu węzła Celem testu było zbadanie wpływu ładowania systemu węzła na kontroler klastra oraz sprawdzenie obciążenia sieci lokalnej. Monitorowaniu podlegał ruch na interfejsie sieciowym (zarówno wychodzący jak i przychodzący) oraz obciążenie procesora. Samo monitorowanie odbywało się po stronie kontrolera. Testy przeprowadzono dla trzech różnych konfiguracji: dla jednego, dwóch oraz szcześciu węzłów. Dane odczytywano z /sys/class/net/rtl1/statistics/{tx,rx}_bytes za pomocą skryptu uruchamianego co 0,25 sekundy. Katalog /sys jest puntem montowania tzw. sysfs. Sysfs jest wirtualnym systemem plików, który dostarcza informacji o urządzeniach i sterownikach z jądra systemowego do przestrzeni użytkownika i pozwala również na ich konfigurację. Próbkowanie nie było równomiernie rozłożone w dziedzinie czasu. Czas po jakim były odczytywane kolejne dane był sumą 0,25s i czasu wykonania skryptu, który zależał od lokalnych warunków systemowych np. aktualnego obciążenia procesora. 40

41 Ładowanie jednego węzła. Rys. 12: Ładowanie jednego węzła: ilość wysłanych/odebranych danych. Rys. 13: Ładowanie jednego węzła: przybliżona szybkość transmisji danych. 41

42 Rys. 14: Ładowanie jednego węzła: obciążenie procesora. Ładowanie dwóch węzłów jednocześnie Rys. 15: Ładowanie dwóch węzłów: obciążenie procesora. 42

43 Rys. 16: Ładowanie dwóch węzłów: ilość wysłanych/odebranych danych. Rys. 17: Ładowanie dwóch węzłów: przybliżona szybkość transmisji danych. 43

44 Ładowanie 6 węzłów w krótkich odstępach czasowych Rys. 18: Ładowanie sześciu węzłów: ilość wysłanych/odebranych danych. Rys. 19: Ładowanie sześciu węzłów: przybliżona szybkość transmisji danych. 44

45 Rys. 20: Ładowanie sześciu węzłów: obciążenie procesora. 45

46 5.2 Test wysycenia sieci Test wysycenia sieci przy wykorzystaniu programu mpi_latency. Program mierzy szybkość transmisji komunikatów MPI o różnych rozmiarach oraz wyznacza średni czas opóźnienia pomiędzy węzłami a kontrolerem. Rys. 21: Test MPI: szybkość transmisji danych. Rys. 22: Test MPI: czas odpowiedzi. 46

47 5.3 Test odczytu danych z serwera NFS Test polegał na odczycie porcji danych (500MB) z serwera NFS przez jeden z węzłów. Dane odczytywane były na 3 różne sposoby: plików po 32kB łączenie 500MB danych, 1000 plików, z których każdy ma 512kB łączenie 500MB, jeden plik o rozmiarze 500MB. Monitorowaniu odbywało się po stronie kontrolera - sprawdzano obciążenie procesora oraz ruch na interfejsie siecowym. Próbkowanie danych następowało co 0,25 sekundy. Celem testu było sprawdzenie zależności szybkości transmisji danych od rozmiaru serwowanych przez serwer NFS plików. Przypadek pierwszy: odczyt plików (każdy po 32kB) Rys. 23: Test odczytu plików o rozmiarze 32kB z NFS. 47

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

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource Piotr Klimek piko@piko.homelinux.net Agenda Wstęp Po co to wszystko? Warstwa WWW Warstwa SQL Warstwa zasobów dyskowych Podsumowanie

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

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

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

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

Działanie komputera i sieci komputerowej.

Działanie komputera i sieci komputerowej. Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia

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

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

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Plan wykładu 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Modem analogowy Sieć komputerowa Siecią komputerową nazywa się grupę komputerów

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp

Bardziej szczegółowo

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora NAUKOWA I AKADEMICKA SIEĆ KOMPUTEROWA Bezpieczeństwo rozwiązań hostingowych Hosting wirtualny - studium przypadku Secure 2008 3 października 2008 Arkadiusz Kalicki, NASK Agenda Zagrożenia Omówienie zabezpieczeń

Bardziej szczegółowo

Win Admin Replikator Instrukcja Obsługi

Win Admin Replikator Instrukcja Obsługi Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

U M L.  System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0

Bardziej szczegółowo

Projektowanie i implementacja infrastruktury serwerów

Projektowanie i implementacja infrastruktury serwerów Steve Suehring Egzamin 70-413 Projektowanie i implementacja infrastruktury serwerów Przekład: Leszek Biolik APN Promise, Warszawa 2013 Spis treści Wstęp....ix 1 Planowanie i instalacja infrastruktury serwera....

Bardziej szczegółowo

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych. 1 Serwery przetwarzania danych 1.1 Serwery dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych. 1 1.2 Konsola zarządzająca serwerami dostawa, rozmieszczenie i zainstalowanie 1. konsoli

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

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3 Spis treści 1 Wprowadzenie 1 1.1 Podstawowe pojęcia............................................ 1 1.2 Sieci komunikacyjne........................................... 3 2 Problemy systemów rozproszonych

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

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

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

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

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

Systemy wieloprocesorowe i wielokomputerowe

Systemy wieloprocesorowe i wielokomputerowe Systemy wieloprocesorowe i wielokomputerowe Taksonomia Flynna Uwzględnia następujące czynniki: Liczbę strumieni instrukcji Liczbę strumieni danych Klasyfikacja bierze się pod uwagę: Jednostkę przetwarzającą

Bardziej szczegółowo

61 Topologie wirtualne

61 Topologie wirtualne 61 Topologie wirtualne pozwalają opisać dystrybucję procesów w przestrzeni z uwzględnieniem struktury komunikowania się procesów aplikacji między sobą, umożliwiają łatwą odpowiedź na pytanie: kto jest

Bardziej szczegółowo

Tworzenie maszyn wirtualnych przy pomocy systemu FAI

Tworzenie maszyn wirtualnych przy pomocy systemu FAI Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Paczkowski nr albumu: 259043 Praca Inżynierska na kierunku Informatyka Stosowana Tworzenie maszyn wirtualnych przy

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

7. zainstalowane oprogramowanie. 8. 9. 10. zarządzane stacje robocze

7. zainstalowane oprogramowanie. 8. 9. 10. zarządzane stacje robocze Specyfikacja oprogramowania do Opis zarządzania przedmiotu i monitorowania zamówienia środowiska Załącznik nr informatycznego 1 do specyfikacji Lp. 1. a) 1. Oprogramowanie oprogramowania i do systemów

Bardziej szczegółowo

1. Zakres modernizacji Active Directory

1. Zakres modernizacji Active Directory załącznik nr 1 do umowy 1. Zakres modernizacji Active Directory 1.1 Opracowanie szczegółowego projektu wdrożenia. Określenie fizycznych lokalizacji serwerów oraz liczby lokacji Active Directory Określenie

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1 i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:

Bardziej szczegółowo

Rodzaje pamięci masowych by Silas Mariusz

Rodzaje pamięci masowych by Silas Mariusz Rodzaje pamięci masowych by Silas Mariusz 1. Online Silas Mariusz Administrator TS-x79U 1 GbE Pamięć masowa może być instalowana bezpośrednio w serwerach w postaci dysków tworzących tzw. system DAS (Direct

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

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego 1 Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

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

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

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

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów. Jakub Młynarczyk Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów. Hardware RAID polega na zastosowaniu odpowiednich kontrolerów do których

Bardziej szczegółowo

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1 Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...

Bardziej szczegółowo

16. Taksonomia Flynn'a.

16. Taksonomia Flynn'a. 16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się

Bardziej szczegółowo

Sieciowe Systemy Operacyjne

Sieciowe Systemy Operacyjne 1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy

Bardziej szczegółowo

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06 2012 Firma Informatyczna ASDER Prezentacja Serwer danych lokalnych Przemysław Kroczak ASDER 2012-08-06 Szanowni Państwo, W dzisiejszej coraz częściej trzeba współdzielić pliki między pracownikami/działami

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

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

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

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej. Klient Landingi.com Branża IT, marketing i PR Okres realizacji od grudnia 2013 do chwili obecnej Rodzaj usługi doradztwo, hosting, Cloud Computing Amazon Web Services, zarządzanie serwerami Doradztwo Hosting

Bardziej szczegółowo

ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI

ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI ASEM UBIQUITY PRZEGLĄD FUNKCJONALNOŚCI tel. 22 549 43 53, fax. 22 549 43 50, www.sabur.com.pl, sabur@sabur.com.pl 1/7 ASEM UBIQUITY ASEM Uqiuity to nowatorskie rozwiązanie na platformy Win 32/64 oraz Win

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

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM Juliusz Pukacki,PCSS Co to jest HPC (High Preformance Computing)? Agregowanie dużych zasobów obliczeniowych w sposób umożliwiający wykonywanie obliczeń

Bardziej szczegółowo

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci komputerowe Wykład Nr 4 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci bezprzewodowe Sieci z bezprzewodowymi punktami dostępu bazują na falach radiowych. Punkt dostępu musi mieć

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

Klaster obliczeniowy

Klaster obliczeniowy Warsztaty promocyjne Usług kampusowych PLATON U3 Klaster obliczeniowy czerwiec 2012 Przemysław Trzeciak Centrum Komputerowe Politechniki Łódzkiej Agenda (czas: 20min) 1) Infrastruktura sprzętowa wykorzystana

Bardziej szczegółowo

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

Komputery bezdyskowe - wprowadzenie

Komputery bezdyskowe - wprowadzenie Komputery bezdyskowe - wprowadzenie Jakub 'skaarj' Kulczyński qba@bryza.net 3 VII 2005 Zastosowania Terminale dla pracowników w firmie Komputery domowe Stacje robocze Routery Serwery Komputer bezdyskowy

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

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

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

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

5R]G]LDï %LEOLRJUDğD Skorowidz

5R]G]LDï %LEOLRJUDğD Skorowidz ...5 7 7 9 9 14 17 17 20 23 23 25 26 34 36 40 51 51 53 54 54 55 56 57 57 59 62 67 78 83 121 154 172 183 188 195 202 214... Skorowidz.... 4 Podręcznik Kwalifikacja E.13. Projektowanie lokalnych sieci komputerowych

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach

Bardziej szczegółowo

System generacji raportów

System generacji raportów Zalety systemu Czym jest ProReports? prostota instalacji, wieloplatformowość (AIX, Linux, Windows, Solaris), obsługa popularnych formatów (PDF, XLS, RTF, HTML,TXT,XML,CSV), obsługa wielu baz danych, raporty

Bardziej szczegółowo

WHITE PAPER. Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii

WHITE PAPER. Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii WHITE PAPER Planowanie, przygotowanie i testowanie działań na wypadek wystąpienia awarii 1 TABLE OF CONTENTS Wstęp...3 Symulator VERITAS Cluster Server...3 Doradca VERITAS Volume Replicator...5 Próbny

Bardziej szczegółowo

WLAN bezpieczne sieci radiowe 01

WLAN bezpieczne sieci radiowe 01 WLAN bezpieczne sieci radiowe 01 ostatnim czasie ogromną popularność zdobywają sieci bezprzewodowe. Zapewniają dużą wygodę w dostępie użytkowników do zasobów W informatycznych. Jednak implementacja sieci

Bardziej szczegółowo

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka + Wprowadzenie Klastry komputerowe Superkomputery Wprowadzenie Klastry komputerowe Superkomputery Wprowadzenie Filozofia przetwarzania równoległego polega na podziale programu na fragmenty, z których każdy

Bardziej szczegółowo

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

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

Sieci komputerowe. Wstęp

Sieci komputerowe. Wstęp Sieci komputerowe Wstęp Sieć komputerowa to grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład: korzystania ze wspólnych urządzeń

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie

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

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

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Zdalne logowanie do serwerów

Zdalne logowanie do serwerów Zdalne logowanie Zdalne logowanie do serwerów Zdalne logowanie do serwerów - cd Logowanie do serwera inne podejście Sesje w sieci informatycznej Sesje w sieci informatycznej - cd Sesje w sieci informatycznej

Bardziej szczegółowo

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego w ramach realizacji umowy pomostowej nr 427/PCSS/2016 Poznań, 21 lutego 2017 r. 1 Spis

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Sposób funkcjonowania

Sposób funkcjonowania Stratus Avance został zaprojektowany w sposób, który w przypadku wystąpienia awarii ma zminimalizować czas przestoju i zapobiec utracie danych. Jednocześnie rozwiązanie ma być tanie i łatwe w zarządzaniu.

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

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 do SIWZ/ załącznik do umowy Przedmiotem zamówienia jest dostawa 2 serwerów, licencji oprogramowania wirtualizacyjnego wraz z konsolą zarządzającą

Bardziej szczegółowo

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski Systemy operacyjne wykład 1- System operacyjny i jego zadania dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 3marca2016r. PLAN WYKŁADU 1 Historia i zadania

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Zarządzanie farmami serwerów Linux

Zarządzanie farmami serwerów Linux Zarządzanie farmami serwerów Linux PLNOG Conference 2010 Piotr Siwczak Administrator Systemów Allegro.pl Grupa Allegro ---Farmy serwerów Strategia zarządzania farmami Farmy serwerów w Allegro ---Pytania

Bardziej szczegółowo

Konfigurowanie sieci VLAN

Konfigurowanie sieci VLAN Konfigurowanie sieci VLAN 1 Wprowadzenie Sieć VLAN (ang. Virtual LAN) to wydzielona logicznie sieć urządzeń w ramach innej, większej sieci fizycznej. Urządzenia tworzące sieć VLAN, niezależnie od swojej

Bardziej szczegółowo

Praca w sieci równorzędnej

Praca w sieci równorzędnej Praca w sieci równorzędnej 1. Architektura sieci równorzędnej i klient-serwer Serwer - komputer, który udostępnia zasoby lub usługi. Klient komputer lub urządzenie korzystające z udostępnionych przez serwer

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

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Od czego zacząć przy budowaniu środowisk wysokiej dostępności? Budowanie środowisk wysokiej dostępności w oparciu o nową wersję IDS 11 Artur Wroński IBM Information Management Technical Team Leader artur.wronski@pl.ibm.com Od czego zacząć przy budowaniu środowisk

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

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003 IBM DCE/DFS Mikołaj Gierulski 17 stycznia 2003 1 Spis treści 1 IBM DCE 3 2 DCE/Distributed File Service 3 2.1 Rozwiązanie podstawowych problemów rozproszonych systemów plików.... 3 2.1.1 Nazewnictwo................................

Bardziej szczegółowo

I. Postanowienia ogólne. a. Definicje

I. Postanowienia ogólne. a. Definicje I. Postanowienia ogólne a. Definicje Klient osoba fizyczna, osoba prawna lub jednostka organizacyjna nie posiadająca osobowości prawnej, która zawarła Umowę i opłaciła wynagrodzenie zgodnie z procedurami.

Bardziej szczegółowo