‘Wykorzystanie technologii obliczeń IFJ w chmurach czyli o projekcie POIG (2009-2013): ‘Wykorzystanie technologii obliczeń elastycznych w rozległych sieciach komputerów, w badaniach naukowych i gospodarce’ Henryk Pałka, Mariusz Witek
‘Obliczenia elastyczne’ a ‘IFJ w chmurach’? Termin ‘Cloud Computing’ zawojował świat (oddziałuje na wyobraźnię marketing), choć nie oddaje zasadniczej cechy technologii ‘Elastic Computing’ nazywa wprost adaptowalność środowiska obliczeniowego elastyczność i skalowalność, z punktu widzenia użytkownika i administratora Wobec tego, def.: Obliczenia w chmurach = obliczenia elastyczne ( używamy naprzemiennie) 26-11-2009 H. Pałka, M. Witek
Współczesny krajobraz IT : Obliczenia jako artykuł (spożywczy): Skomplikowane, heterogeniczne środowisko, trudne do opanowania: mnogość systemów operacyjnych, proliferacja różnych technologii, utrudnia współpracę (interoperability) Konieczna abstrakcja zasobów (hard i soft) Data Centers (Cloud) 26-11-2009 H. Pałka, M. Witek
Plan Motywacje Wprowadzenie do elastycznych obliczeń Cele i harmonogram projektu Gdzie jesteśmy obecnie 26-11-2009 H. Pałka, M. Witek
Motywacje Potencjał i zalety środowiska elastycznych obliczeń zauważyliśmy wiosną 2008 (ISGC-2008) Obecnie jest to dominujący trend obliczeń rozproszonych: Google trends (październik 09), Cloud computing vs Grid (zalecana ostrożność interpretacji!) 26-11-2009 H. Pałka, M. Witek
Czy aby nie przemijająca moda? Krzywa cyklu przereklamowania nowej technologii(Gartner Hype Cycle) czy tu? Jesteśmy tutaj? Ten sam Gartner prognozuje, że wartość światowego rynku Cloud Computing (komercyjne wykorzystanie) potroi się do 2014 r (56mld $ 150 mld $). 26-11-2009 H. Pałka, M. Witek
Motywacje: model obliczeniowe eksperymentów HEP Wieloletnim wysiłkiem zapewniono potrzebne zasoby obliczeniowe LHC (WLCG – World-wide LHC Computing Grid) Tier-3 _ general purpose research networks Wyspecjalizowana, sformalizowana i złożona struktura Wymaga specjalnych zabiegów przykrywających heterogeniczność systemu W praktyce ograniczenie do mono-systemu operacyjnego Ogromne zasługi w popularyzacji i udostępnieniu rozproszonych zasobów innym dziedzinom nauki (EGEE) 26-11-2009 H. Pałka, M. Witek
Możliwe wykorzystanie elementów środowiska elastycznych obliczeń w GRID B. pozytywne doświadczenia w zastosowaniu wirtualizacji do instalacji oprogramowania LCG (Uniwersytet w Melbourne) Wiele nowych projektów: wykorzystanie wirtualizacji węzłów do przetwarzania wsadowego, a nawet wirtualizacja pełnego EGEE (StratusLab) Zachęcające wyniki próby wykorzystania EC2 (Amazon) do masowej symulacji MC w eksperymencie Belle (Belle II): koszt porównywalny z kosztem zakupu i utrzymania własnego sprzętu Interesujące rozwiązanie dla absorpcji szczytów zapotrzebowania na moc obliczeniową 26-11-2009 H. Pałka, M. Witek
Motywacje c.d. Środowisko obliczeń elastycznych umożliwi: Wykonywanie aplikacji pod wieloma systemami operacyjnymi dostęp do dużych zasobów obliczeniowych dla użytkowników dotychczas wykonujących aplikacje pod Windows na pojedynczych PC lub małych klastrach PC Integrację istniejącego sprzętu w IFJ (niższe koszty operacyjne) Oszczędność energii Wyższy stopień wykorzystania sprzętu, w porównaniu z izolowanymi klastrami wg badań IBM wykorzystanie izolowanych klastrów <30% Integracja w IFJ Integracja z zewnętrznymi instytucjami (listy intencyjne z PK, URz, UJK) (poza zakresem projektu, ale możliwa ponad-regionalna integracja – PL-Grid) Propagowanie technologii obliczeń elastycznych wśród małych i średnich, firm IT (tzw. MŚ - ‘misie’) które nie chcą inwestować (ryzyko bankructwa), nie mogą inwestować (‘brak zdolności kredytowej’) we własną infrastrukturę 26-11-2009 H. Pałka, M. Witek
Środowisko elastycznych obliczeń: wirtualizacja Popularyzując, wirtualizacja to: oszukiwanie systemu operacyjnego (i działającej w nim aplikacji) poprzez dostarczenie nierozróżnialnej iluzji dostępu do fizycznego sprzętu ‘Pełna wirtualizacja’ (1970 IBM 370 CP/CMS) (VmWare <2005) Osobny VMM dla każdego nowego Hardwaru Renesans: pełna wirt. wspomagana sprzętowo (> 2005: Intel VT, AMD-V) Linux Linux (devel) XP Win7 MacOS Virtual Machine Monitor Hardware 4 core Intel 100 core Tilera 26-11-2009 H. Pałka, M. Witek
Korzyści z wirtualizacji Perspektywa użytkownika: Oddzielenie aplikacji od sprzętu (uniezależnienie od systemu operacyjnego) Pełne wykorzystanie wielo-rdzeniowych CPU Jednolite środowisko lokalne i w systemie rozproszonym Perspektywa administratora systemu: Elastyczność zasobów Łatwość zarządzania zasobami 26-11-2009 H. Pałka, M. Witek
Bezpośrednie korzyści z projektu : Nowoczesna serwerownia zasilanie dwupunktowe + UPS, chłodzenie, system przeciwpożarowy, podłoga techniczna. Klaster (~700-800 rdzeni, ~50TB HD) do obliczeń elastycznych umożliwiający efektywne wykorzystanie zasobów rozmaite dystrybucje Linux-a + Windows przyjazny interfejs rezerwacji zasobów Modernizacja sieci wewnętrznej i podniesienie przepustowości na zewnątrz (2 Gb/s 4-10 Gb/s) 26-11-2009 H. Pałka, M. Witek
Kryteria dla maszyny wirtualnej ... an abstraction layer that allows multiple virtual [computers], with heterogeneous operating systems to run in isolation, side-by-side on the same physical machine. - VMWare Trzy warunki dla maszyny wirtualnej (Kryteria Popka-Goldberga 1974) Odpowiedniość – program działający na maszynie wirtualnej musi zachowywać się w dokładnie taki sam sposób, jak na rzeczywistym sprzęcie Kontrola zasobów – system zarządzajacy VMM (Virtual Machine Manager) powinien w pełni kontrolować wszystkie zasoby, które są wirtualizowane Wydajność – większa część instrukcji musi być wykonywana bez udziału maszyny wirtualnej 26-11-2009 H. Pałka, M. Witek
Typy wirtualizacji (w kontekście x86) Pełna emulacja sprzętu Umożliwia wirtualizacje pewnej architektury (procesor, urządzenia, …) w środowisku innej architektury. Np. Emulacja procesora Motorola na x86 Dynamiczna translacja kodu binarnego Znacznie mniejsza szybkość w stosunku do bezpośredniego wykonania zadania na rzeczywistym sprzęcie. Parawirtualizacja W obrębie jednej architektury. Wymaga modyfikacji oryginalnego systemu operacyjnego do przechwytywania instrukcji uprzywilejowanych. Niewielkie straty wydajności Pełna wirtualizacja wspierana sprzętowo – HVM W obrębie jednej architektury Od momentu pojawienia się procesorów wspierających wirtualizację (2005 r.). Technologie Intel VM, AMD-V Pozwala na wirtualizację niezmodyfikowanych OS przy minimalnej stracie wydajności. 26-11-2009 H. Pałka, M. Witek
Wirtualizacja x86 Ze względu na specyfikę architektury wirtualizacja x86 była trudna. W uproszczeniu dwa poziomy Poziom uprzywilejowany (Ring-0) Wszystkie rozkazy dostępne Poziom aplikacji (Ring-3) Ograniczony zestaw rozkazów Dostęp do zastrzeżonych rozkazów za pomocą dedykowanego mechanizmu (zapewniającego bezpieczeństwo) Problem: nadzór nad VM z poziomu Ring-0 ale OS na każdej z uruchomionych VM wymaga pełnej kontroli nad Ring-0 Rozwiązanie: technologie Intel VM, AMD-V efektywnie dodatkowy nadrzędny Ring → Guest OS ma udostępniony Ring-0 Intel VM, AMD-V 26-11-2009 H. Pałka, M. Witek
Wirtualizacja a wydajność Niewielki spadek wydajności CPU Możliwy, w pewnych przypadkach, spadek wydajności z powodu szybkości I/O Wiele maszyn wirtualnych współdzieli urządzenia na tej samej fizycznej maszynie (dysk, karty sieciowe) 26-11-2009 H. Pałka, M. Witek
Przykłady systemów EC Systemy komercyjne Systemy OpenSource Public Cloud Amazon – interfejs EC2 Płatny dostęp (moc obliczeniowa, przestrzeń dysków, transfer sieciowy) Private Cloud IBM – CloudBurst Gotowe rozwiazanie do wykorzystania w firmie sprzęt, oprogramowanie do zarządzania i interfejs do rezerwacji zasobów Systemy OpenSource Eucalyptus, OpenNebula, Nimbus,… 26-11-2009 H. Pałka, M. Witek
Przykład systemu elastycznego 26-11-2009 H. Pałka, M. Witek
Harmonogram projektu 16.02.2010 – Zakończenie modernizacji serwerowni 17.05.2010 – Uruchomienie pierwszej partii klastra (~400 rdzeni), macierz dyskowa 30 TB oraz modernizacja sieci. 31.03.2012 – Uzupełnienie klastra, kolejne ~400 rdzeni + rozszerzenie macierzy o dodatkowe 30 TB. 26-11-2009 H. Pałka, M. Witek
Serwerownia obecnie 26-11-2009 H. Pałka, M. Witek
Plan nowej serwerowni Nadmiarowa klimatyzacja Podtrzymanie napięcia Nowoczesny System ppoż 10 Gb router 26-11-2009 H. Pałka, M. Witek
Serwerownia za 3 miesiące (‘wizualizacja’) 26-11-2009 H. Pałka, M. Witek
Zad nr 4. - Rozwój środowiska elastycznych obliczeń 2009 - Testowe instalacje pakietów OpenSource dla środowisk elastycznych obliczeń, wybór najlepszego rozwiązania. 2010 - Przygotowanie narzędzi do generacji obrazów systemów operacyjnych dla maszyn wirtualnych (obrazów VM). Instalacja wybranego pakietu elastycznych obliczeń na zakupionym sprzęcie i jego testy. Przygotowanie pierwszej wersji systemu elastycznych obliczeń w obrębie pojedynczego klastra i jego testy. 2011 - Udostępnienie systemu dla wybranych użytkowników. Opracowanie pierwszej wersji interfejsu dla użytkowników aplikacji w IFJ PAN. Opracowanie metod do generacji obrazów VM wraz z aplikacjami i ich składowania w centralnym katalogu. Testy systemu pod maksymalnym obciążeniem w trybie wielu użytkowników. Opracowanie systemu do monitorowania obciążenia. 2012 - Udoskonalanie uniwersalnego interfejsu rezerwacji zasobów i ich wykorzystania. Rozwój interfejsów dla poszczególnych aplikacji IFJ PAN. Udostępnienie systemu dla wszystkich użytkowników IFJ PAN. Optymalizacja w celu maksymalnego wykorzystania zasobów. Opracowanie procedur identyfikowania problemów i ich usuwania. 2013 - Utrzymywanie produkcyjnej jakości rozproszonego systemu elastycznych obliczeń. Udoskonalanie interfejsu dostępowego oraz interfejsów aplikacji. Implementacja interfejsów dla nowych aplikacji. Pilotowe nieodpłatne udostępnienie systemu dla małych firm. 1.09.2009-31.12.2013, IFJ PAN. 26-11-2009 H. Pałka, M. Witek
Zad nr 5 - Integracja środowiska rozproszonego H2 2011 - Utworzenie dwóch niezależnych klastrów w obrębie sieci lokalnej IFJ PAN. Instalacja dwóch odrębnych systemów elastycznych obliczeń i ich integracja jako systemu rozproszonego. Testy jednoczesnej rezerwacji zasobów obu klastrów przez pojedynczego użytkownika. Testy mechanizmów nadrzędnej warstwy zarządzania systemami rozproszonymi. Testy przydziału zasobów dyskowych. 2012 - Przygotowanie procedury do instalacji systemu elastycznych obliczń. Instalacja w zainteresowanych instytucjach zewnętrznych. Integracja wszystkich instalacji w ramach jednolitego systemu zarządzającego. Testy skalowalności funkcjonalności w zakresie sieci WAN. 26-11-2009 H. Pałka, M. Witek
Aktualny stan projektu Przetarg na modernizację serwerowni przygotowany do ogłoszenia. R&D dostępnych systemów EC Grupa 8 entuzjastycznie nastawionych studentów informatyki (AGH,PK) Mini klaster Jednostka zarządzająca + 2 serwery (łącznie 16 rdzeni) Testy systemów EC Open Source: Eucalyptus. OpenNebula, Nimbus Instalacje, przegląd funkcjonalności interfejsów, systemów do zarządzania i monitorowania Opracowanie specyfikacji sprzętowej pierwszej partii klastra Scenariusze obliczeń zespołów naukowych w IFJ PAN Rezerwacja pojedynczej maszyny wirtualnej (Linux/Windows) Rezerwacja wirtualnego klastra (Linux) Dopiero w początkowej fazie rozwoju nawet w systemach komercyjnych Konfiguracja: system kolejkowy, dostęp do dysku grupy z preinstalowanym oprogramowaniem… (pierwsza wersja opracowywana w ramach R&D) Emulacja maszyny SMP (czy są takie potrzeby) 26-11-2009 H. Pałka, M. Witek
Podsumowanie Technologia wirtualizacji OS spowodowała burzliwy rozwój sytemów typu Elastic Computing w ostatnich dwóch latach. Projekt POIG w IFJ PAN ‘Wykorzystanie technologii obliczeń elastycznych w rozległych sieciach komputerów, w badaniach naukowych i gospodarce’ pozwoli na zastosowanie tej technologii w obliczeniach naukowych w IFJ PAN i ułatwi jej upowszechnienie w środowisku naukowym i firmach komercyjnych (MŚ). 26-11-2009 H. Pałka, M. Witek