15
Polish Infrastructure Polish Infrastructure for Supporting Computational Science for Supporting Computational Science in the European Research Space in the European Research Space Jakość dostępu do danych w środowiskach Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie obliczeniowych typu Grid na przykładzie PL-Grid PL-Grid R. Slota, R. Slota, D. Król D. Król , B. Kryza, D. Nikolow, , B. Kryza, D. Nikolow, K. Skalkowski, K. Skalkowski, and J. Kitowski and J. Kitowski ACC Cyfronet ACC Cyfronet AGH, AGH, Kraków, Poland Kraków, Poland Institute of Computer Science AGH-UST, Institute of Computer Science AGH-UST, Krakow, Poland Krakow, Poland Konferencja „i3” 2010 Wrocław, 1-3.12.2010

Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

  • Upload
    abe

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid. R. Slota, D. Król , B. Kryza, D. Nikolow, K. Skalkowski, and J. Kitowski ACC Cyfronet AGH, Kraków, Poland Institute of Computer Science AGH-UST, Krakow, Poland. Konferencja „i3” 2010 - PowerPoint PPT Presentation

Citation preview

Page 1: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Polish InfrastructurePolish Infrastructurefor Supporting Computational Sciencefor Supporting Computational Science

in the European Research Spacein the European Research Space

Jakość dostępu do danych w Jakość dostępu do danych w środowiskach obliczeniowych typu Grid środowiskach obliczeniowych typu Grid

na przykładzie PL-Gridna przykładzie PL-Grid

R. Slota, R. Slota, D. KrólD. Król, B. Kryza, D. , B. Kryza, D. Nikolow, K. Skalkowski, Nikolow, K. Skalkowski,

and J. Kitowskiand J. Kitowski

ACC Cyfronet ACC Cyfronet AGH, AGH, Kraków, PolandKraków, Poland

Institute of Computer Science AGH-Institute of Computer Science AGH-UST, Krakow, PolandUST, Krakow, Poland

Konferencja „i3” 2010

Wrocław, 1-3.12.2010

Page 2: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Plan prezentacjiPlan prezentacji

1. Cele badawcze i implementacyjne

2. Aplikacje zorientowane na przetwarzanie danych

3. Wymagania niefunkcjonalne w zarządzaniu danymi

4. FiVO/QStorMan toolkit

5. Architektura

6. Główny przypadek użycia

7. Status implementacji

8. Podsumowanie

Page 3: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Cele badawcze i implementacyjneCele badawcze i implementacyjne

Głównym celem prezentowanych zadań jest zapewnienie użytkownikowi systemu gridowego jakości dostępu (ang. Quality of Service) do danych przechowywanych z wykorzystaniem heterogenicznych systemów przechowywania i udostępniania danych (ang. storage systems).

W tym celu wykorzystywane są następujące pojęcia: definiowane wymagań niefunkcjonalnych względem

systemów składowania danych przez użytkownika, opisy semantyczne systemów składujących danych,

przechowywane w bazie wiedzy Wirtualnej Organizacji (WO),

informacje pochodzące z systemu monitorującego aktualnych stan wykorzystywanego środowiska rozproszonego.

Page 4: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Aplikacje zorientowane na daneAplikacje zorientowane na dane

Główne cechy: Generowanie gigabajtów danych dziennie. Wykorzystywanie różnych typów danych, wymagających różnego

„traktowania”. Zorientowane na operacje odczytu/zapisu. Czas wykonania aplikacji silnie uzależniony od czasu dostępu

oraz transferu systemów składujących dane a nie od ilości wykonywanych obliczeń.

Przykłady (na podstawie Wikipedii): Eksperyment LHC generuje 15 PB/rok = ~42 TB/dzień = ~1

GB/sek Niemieckie Klimatyczne Centrum Obliczeniowe (DKRZ)

przechowuje dane dot. klimatu o wielkości 60 PB.

Page 5: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Wymagania niefunkcjonalne w zarządzaniu Wymagania niefunkcjonalne w zarządzaniu danymidanymi

Aplikacje zorientowane na dane mają różne wymagania, np. replikacja szczególnie ważnych danych,

Abstrakcje w systemach składowania danych uniemożliwiają kontrolowanie lokalizacji fizycznych danych.

Rozpraszanie danych pomiędzy dostępnymi węzłami na podstawie zdefiniowanych wymagań.

Możliwość określenia stopnia spełniania danego wymagania przez każdy z dostępnych elementów składujących dane

Page 6: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

FiVO/QStorMan toolkitFiVO/QStorMan toolkit

Po stronie użytkownika – biblioteki programistyczne (libSES) które udostępniające funkcjonalność zarządzania lokalizacją danych w środowisku rozproszonym zgodnie ze zdefiniowanymi wymaganiami.

Po stronie serwera: Serwis (Storage Element Selection service) znajdujący najbardziej

odpowiedni element składujący dane dla przekazanych wymagań oraz aktualnego obciążenia w środowisku.

Baza wiedzy (GOM) który przechowuje konfiguracje środowiska razem ze zdefiniowanymi wymagania niefunkcjonalnymi w postaci ontologicznej.

System monitorujący (SMED) który dostarcza informacj nt. obserwowanych parametrów QoS.

Portal w którym użytkownik może zdefiniować swoje wymagania.

Page 7: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

ArchitekturaArchitektura

Page 8: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Główny przypadek użyciaGłówny przypadek użycia

User

Portal

GOM

SMED Monitoring

system

Application

SES library

SE SE SE.....

Distributed storage system

Defining non-functional

requirements

Storing requirements

definitionClassical

„write” operation to concrete SE

Getting requirements for the application along

with configuration of a Lustre installation

Getting actual storage system parameter

values

Monitoring information

Getting configuration information of

a Lustre installation

Operation interception

„Write” operation to

the most suitable SE

Page 9: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Status implementacji – Status implementacji – po stronie użytkownika (libSES)po stronie użytkownika (libSES)

Biblioteki są implementowane jako klasyczne biblioteki dzielone (ang. shared libraries) z wykorzystaniem C/C++.

Komunikacja z serwerem wykorzystuje podejście REST z użyciem biblioteki libcurl.

Do fizycznego składowania danych używany jest rozproszony system plików Lustre wraz z mechanizmem pul.

Najważniejsza część API biblioteki to :

o createFile(fileName : char*, policy : StoragePolicy*) : into openFile(fileName : char*) : into closeFile(fileName : char*) : voido changeStoragePolicy(fileName : char*, policy : StoragePolicy*)

: void

Page 10: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Status implementacji – Storage Element Status implementacji – Storage Element Selection serviceSelection service

Serwis wyszukujący element składujących dane został zaimplementowany w Python`ie.

Funkcja obliczająca odległość pomiędzy wymaganiami a elementem składującym dane:

Komunikacja z systemem monitorujących odbywa się z wykorzystaniem modelu REST.

Integracja z bazą wiedzy WO odbywa się z wykorzystaniem usług sieciowych opartych o protokół SOAP.

i i

ii

x

yx=f(x)

- if < the current value of an attribute => - else the current value of an attribute

xi – required value of an attribute i

yi xi xi

Page 11: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Status implementacji – GOMStatus implementacji – GOM

Pozwala na wykorzystanie różnych metod składowania ontologii jak również wykorzastanie różnych metod wnioskowania.

Udostępnia różnego rodzaje interfejsu do zmieniania zarządzania oraz odpytywania zarządzanych.

GOM aktualnie wspiera komunikacje oparte o Java RMI oraz protokół SOAP.

Page 12: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Status implementacji – SMEDStatus implementacji – SMED

Architektura systemu monitorującego SMED jest oparta o Enterprise Service Bus (ESB).

Obecna wersja wspiera monitorowanie następujących elementów: Dyski lokalne, Macierze dyskowe, Hierarchiczne systemy składowania danych (ang.

Hierarchical Storage Management) Rozproszone system plików, np. Lustre

Page 13: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Status implementacji – wymagania Status implementacji – wymagania niefunkcjonalneniefunkcjonalne

Obecna implementacja StoragePolicy wspiera następujące parametry:

preferredDeviceType – typ urządzenie preferowany przez użytkownika, np. urządzenie szybko zapisujące lub posiadające wysoki poziom dostępności

capacity – wymagana wolna przestrzeń dyskowastorage space required averageReadTransferRate – średni czas odczytu danych z ostatniej monitorowanej

serii averageWriteTransferRate – średni czas zapisu danych z ostatniej monitorowanej

serii throughput – numeryczna wartość wymaganej przepustowości throughputLevel – wymagana przepustość w postaci abstrakcyjnego poziomu, np.

LOW, MEDIUM lub HIGH

Użytkownik może wybrać tylko te parametry niefunkcjonalne które są istotne z jego punktu widzenia.

Page 14: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

PodsumowaniePodsumowanie

Celem prezentowanych prac jest opracowanie oraz implementacja mechanizmu zarządzania danymi w środowiskach rozproszonych.

Bezpośrednie definiowanie wymagań niefunkcjonalnych jest konieczne w aplikacjach zoriontowanych na dane.

Proponowane rozwiązanie może również służyć do wyboru odpowiedniego węzła w środowisku rozproszonym typu Grid gdzie zadanie ma zostać uruchomione przez system kolejkowy.

Przedstawione podejście można łatwo użyć (standardowe biblioteki dzielone C/C++), rozszerzyć (poprzez opisy semantyczne nowych elementów składujących dane) oraz zrozumieć (nieskomplikowany algorytm wyszukiwania elementów).

Page 15: Jakość dostępu do danych w środowiskach obliczeniowych typu Grid na przykładzie PL-Grid

Dziękuję za uwagę.

Więcej informacji na www.plgrid.pl