English version
Politechnika Gdańska CI TASK

Superkomputerowa Platforma Kontekstowej Analizy Strumieni Danych Multimedialnych do Identyfikacji Wyspecyfikowanych Obiektów lub Niebezpiecznych Zdarzeń

Źródła strumieni

Strumienie multimedialne używane są w wielu dziedzinach, takich jak monito- rowanie ulic, stadionów czy dworców, a także w badaniach medycznych. Platforma KASKADA dostarcza nowych rozwiązań umożliwiających efektywne zarządzanie tego typu danymi oraz dokonanie ich analizy.

Przetwarzanie strumieni

Platforma KASKADA dostępna jest na superkomputerze Galera w Centrum Informatycznym TASK i umożliwia różnego typu analizy strumieni multimedialnych. Innowacyjnym podejściem jest zrównoleglenie tej analizy dla wielu źródeł danych i zapewnienie przetwarzania w czasie rzeczywistym.

Wyniki analizy

Po przeprowadzaniu analizy, przetwarzane strumienie są na bieżąco transmitowane do aplikacji zewnętrznych. Fakt o wystąpieniu w nich wyspecyfikowanych zdarzeń czy obiektów może być sygnalizowany odpowiednim instytucjom przez system powiadomień, np. pocztę elektroniczną.

Wytwarzanie usług i aplikacji

W tradycyjnym modelu wytwarzania twórca każdej aplikacji analizującej strumienie multimedialne ma do dyspozycji jedynie podstawowe narzędzia i biblioteki dostępne w systemach przetwarzania równoległego (np. MPI). Przy ich pomocy samodzielnie musi zrealizować cały zbiór wymaganej funkcjonalności, co wymaga dużych nakładów pracy.

Wprowadzony przez platformę KASKADA nowy model pozwala znacznie zredukować wysiłek programistów, poprzez zapewnienie im możliwości skorzystania z szerokiego spektrum funkcji wykorzystywanych w przetwarzaniu multimediów. Operacje takie jak efektywna transmisja danych, obsługa formatów kodowania strumieni audiowizualnych czy monitorowanie wykonania usług realizowane są automatycznie, co wyraźnie upraszcza architekturę tworzonej aplikacji.

Ulepszony model przetwarzania uwzględnia dodatkowo możliwość wykorzystania usług już istniejących, zgromadzonych w repozytorium platformy KASKADA. Tworzenie nowych scenariuszy analizy danych przy pomocy gotowych, przetestowanych komponentów pozwala znacząco skrócić czas potrzebny na wdrożenie nowej aplikacji.

Ramka KASKADA

  • zbiór bibliotek wspomagających implementację algorytmów
  • wydajna komunikacja między zadaniami
  • zautomatyzowane przetwarzanie strumieni multimedialnych

Konsola Użytkownika

  • zarządzanie algorytmami i usługami
  • monitorowanie wykonania zadań
  • integracja z zewnętrznymi aplikacjami klienckimi
  • dostęp przez WWW i WebServices

Graficzny Edytor Usług

  • graficzny język opisu usług MSP‑ML
  • intuicyjny interfejs
  • szybkie wdrażanie nowych scenariuszy przetwarzania strumieni

Repozytorium danych

Archiwizacja strumieni

  • rejestrowanie i przechowywanie nagrań z różnych rozproszonych źródeł danych
  • możliwość podglądu i analizy strumieni w czasie rzeczywistym

Strumienie testowe

  • testowanie usług przy pomocy benchmarkowych strumieni audio/video dostępnych w repozytorium
  • archiwizacja plików multimedialnych dodanych przez użytkownika

Serwer składowania danych

  • macierz dyskowa o pojemności 500 terabajtów
  • rozproszony system dostępu do danych, o wysokiej dostępności i niezawodności

Repozytorium usług

Usługi analizy danych

  • biblioteka ponad 70 standardowych usług przetwarzania strumieni multimedialnych
  • procedura akceptacji usług przez ekspertów gwarantuje ich wysoką dojrzałość oraz wiarygodność
  • kompozycja nowych scenariuszy z istniejących usług z wykorzystaniem graficznego języka MSP-ML
  • wybór scenariusza przetwarzania w zależności od kontekstu: miejsce, czas, stan pogody

Usługi systemowe

  • dekodowanie i kodowanie strumieni multimedialnych
  • monitorowanie uruchomionych usług oraz platformy
  • zarządzanie repozytorium usług oraz repozytorium danych

Integracja usług

  • zgodność ze standardami WSDL, SOAP oraz UDDI
  • możliwość uruchamiania usług bezpośrednio z konsoli użytkownika
  • współpraca usług z systemami zewnętrznymi

Środowisko wykonania

Zarządzanie środowiskiem

  • efektywny mechanizm alokacji zadań na klastrze
  • monitorowanie obciążenia węzłów obliczeniowych

Wydajne przetwarzanie

  • przetwarzanie rozproszone na wielu węzłach obliczeniowych
  • analiza setek strumieni w czasie rzeczywistym

Obsługa zdarzeń

  • przesyłanie komunikatów o wystąpieniu zdarzeń
  • obsługa powiadomień przez e-mail oraz XMPP

Komponenty oprogramowania

Java

  • Java: 92 934 linii kodu
  • XML: 30 905 linii kodu
  • JSP: 7 851 linii kodu

C++

  • Ramka: 22 054 linii kodu
  • Algorytmy: 9 425 linii kodu
  • Monitor: 7 881 linii kodu

Konsola Użytkownika wykorzystywana jest do tworzenia, zarządzania i uruchamiania usług. Usługi proste i złożone mogę być tworzone przez programistów poprzez interfejs WWW. Konsola jest także odpowiedzialna za zarządzanie i nadzór nadzór węzłami obliczeniowymi. Umożliwia ona podgląd bieżącego stanu poszczególnych węzłów, zgodnie z informacjami otrzymanymi od Monitora.

Platforma używa modułu alokacji zadań do przypisywania zadań do węzłów obliczeniowych. Dotyczy to zarówno usług przetwarzania danych, jak i zadań uruchamianych na serwerze zarządzania strumieniami multimedialnymi. Moduł alokacji umożliwia efektywne wykorzystanie dostępnych zasobów i zwiększa niezawodność całej platformy.

Pomyślne wykrycie wyspecyfikowanej sytuacji powoduje wygenerowanie powiadomienia o zdarzeniu, które przekazywane jest do komponentu zarządzania zdarzeniami. Każde zdarzenie jest archiwizowane dla celów administracyjnych i bezpieczeństwa. Może być ono także dostarczone do zewnętrznych odbiorców przez e-mail lub system kolejkowy JMS.

Razem: ponad 171 000 linii kodu

Aplikacje

Rozpoznawanie obiektów i zdarzeń

Aplikacja analizuje na bieżąco strumień multimedialny docierający do platformy Kaskada z takich miejsc jak lotnisko, dworzec, stadion, hala widowiskowa itp. Umożliwia identyfikacje obiektów i niebezpiecznych zdarzeń takich jak: identyfikacja poszukiwanych obiektów, wykrywania osób, wykrywania w obrazie niebezpiecznych przedmiotów, porzucenie bagażu, wkroczenie na teren chroniony, bójka, zbiegowisko, upadek, wołanie o pomoc, krzyk, stłuczenie szkła, w tym szyby samochodowej, wystrzał, wybuch, dym widoczny w obrazie z kamery, interpretacja zachowania się tłumu na podstawie łącznej analizy dźwięku i obrazu. Aplikacja może przetwarzać wiele wątków równolegle nie zmniejszając precyzji analizy, istnieje możliwość archiwizacji zdarzeń i obiektów w dużym repozytorium. Możliwa jest współpraca z organizacjami odpowiedzialnymi za bezpieczeństwo i porządek publiczny. Aplikacje stwarzają możliwość poprawy bezpieczeństwa w aglomeracjach miejskich i w obiektach, w których odbywają się imprezy masowe.

Wspomaganie badań medycznych

Aplikacja zajmuje się analizą strumienia multimedialnego jakim jest w tym przypadku ścieżka filmowa z aparatu endoskopowego lub kapsułki endoskopowej. Endoskopia stwarza możliwości szybkiego rozpoznawania zmian nowotworowych w układzie pokarmowym. Jednakże wiele badań trwa bardzo długo i wymaga od lekarza dużego skupienia, aby mógł on prawidłowo zidentyfikować zmiany patologiczne. Aplikacja ta może wspomagać lekarza prowadzącego badanie wskazując mu na bieżąco najistotniejsze fragmenty badań oraz sugerując występujace tam zmiany patologiczne. Przy odtwarzaniu powtórnym prezentacja filmu ogranicza się już tylko do najistotniejszych fragmentów reprezentujących zmiany chorobowe co znacznie przyspiesza podejmowanie decyzji. Czynności te mogą być wykonywane na bieżąco jak i zdalnie przy wykorzystaniu superkomputera. Aplikacja daje możliwość współpracy platformy KASKADA z systemami i urządzeniami zainstalowanymi w klinikach, szpitalach, a także w wielu placówkach ZOZ i NZOZ.

Ochrona własności intelektualnej

Aplikacja zajmuje się analizą zbioru dokumentów, np. prac naukowych, pod względem stopnia podobieństwa. Uwzględnia się przy tym zarówno teksty, wyrażenia matematyczne jak i rysunki. Aplikacja wspierana jest przez dedykowane repozytorium dokumentów cyfrowych. Proces analizy treści dokumentów przebiega w oparciu o dokumenty zgromadzone w takim repozytorium lokalnym, jak i Internecie oraz zdalnych bibliotekach cyfrowych. Dzięki właściwościom platformy można analizować jednocześnie wiele dokumentów danej kategorii, zwiększając przy tym znacznie zarówno dokładność oceny jak i kompletność tej oceny poprzez szerszy dostęp do dokumentów. Zastosowanie aplikacji: do wykrywania plagiatów publikacji, prac naukowych, do porównywania różnego typu sprawozdań, dokumentów i oprogramowania, a także do usprawnienia metod wyszukiwania określonych danych w dostępnych repozytoriach różnych dziedzin wiedzy.

Tworzenie wirtualnych portretów

Aplikacja generowania wirtualnych portretów pozwala na tworzenie hipotetycznych wizerunków osób, których dokładny wygląd pozostaje dla nas nieznany. Wykorzystując istniejące dane historyczne, zaprojektowany w tym celu algorytm generuje propozycje wiarygodnych wizerunków, które potencjalnie mogą przypominać poszukiwaną osobę.
Wykorzystany algorytm należy do rodziny tzw. algorytmów genetycznych (ang. genetic algorithms, GAs), których ideą jest poszukiwanie optymalnego rozwiązania poprzez proces inspirowany teorią ewolucji. Podczas działania algorytmu tworzone są liczne potencjalne rozwiązania, dla których cyklicznie przeprowadzane są procedury krzyżowania (tj. łączenia cech różnych rozwiązań) i mutacji (wprowadzania do rozwiązań drobnych losowych zaburzeń).
Opracowana aplikacja została wykorzystana do stworzenia wirtualnego portretu sławnego gdańszczanina, Daniela Gabriela Fahrenheita.

Integracja biznesowa

Funkcjonalność zrealizowana w ramach platformy KASKADA umożliwia szeroką integrację z podmiotami biznesowymi i publicznymi. Dzięki uzgodnieniu odpowiednich kontraktów poprzez udział agencji pośredniczących, możliwe jest użytkowanie aplikacji między innymi przez odpowiednie służby reagowania, takie jak straż pożarna czy pogotowie ratunkowe.

Analiza jakościowa

Jednym z podstawowych celów przy opracowywaniu platformy KASKADA było zapewnienie wysokiej jakości dostarczanych usług. Poprzez wykorzystanie mocy obliczeniowej superkomputera Galera oraz użycie zaawansowanych algorytmów alokacji zasobów i wydajnych technik wspomagających przetwarzanie strumieni danych, zapewniono wysoką skalowalność platformy, umożliwiającą uruchomienie dużej liczby równolegle pracujących usług. Uwzględniona została przy tym specyfika przetwarzania danych w czasie rzeczywistym, dzięki czemu usługi działające w ramach platformy KASKADA charakteryzują się również niskim współczynnikiem traconych danych, co przekłada się na jakość otrzymywanych wyników.

Nasz zespół

Kierownik projektu MAYDAY EURO 2012

Prof. dr hab. inż. Henryk Krawczyk

Prof. Henryk Krawczyk jest specjalistą w dziedzinie systemów komputerowych o architekturze rozproszonej oraz inżynierii oprogramowania. Jest kierownikiem Katedry Architektury Systemów Komputerowych, był także czterokrotnie dziekanem wydziału Elektroniki, Telekomunikacji i Informatyki. Od 2008 roku jest rektorem Politechniki Gdańskiej. Był promotorem 22 rozpraw doktorskich. Uczestniczył w wielu krajowych i międzynarodowych projektach badawczych (m. in. Tempus, Copernicus, Esprit i Mayday Euro 2012 - jeden z najbardziej innowacyjnych grantów badawczych) i jest współautorem dwóch licencji (2010, 2011) w projekcie badawczym związanym z systemami VoIP. Jest autorem kilku implementacji systemów komputerowych (np. system wpomagający badania endoskopowe wykorzystywany przez Gdański Uniwersytet Medyczny) i ponad 350 publikacji naukowych (99 cytowań obcych, Index-H: 3), w tym jednej zagranicznej monografii oraz dziewięciu książek z serii KASKBOOK, związanych z pracami naukowymi Katedry Architektury Systemów Komputerowych. Jest członkiem Polskiej Akademii Nauk, przewodniczącym Rady Użytkowników CI TASK oraz Komitetów Naukowych WETI, IBS PAN i IPI PAN. Jest członkiem Prezydium KRASP i Przewodniczącym Komisji ds. Infrastruktury Informacyjnej KRASP.

Zespół platformy KASKADA składa się z dziewięciu pracowników Politechniki Gdańskiej, interesujących się systemami komputerowymi wysokiej wydajności oraz przetwarzaniem multimediów. W skład zespołu wchodzi jedna osoba ze stopniem doktora, sześciu magistrów inżynierów (w tym pięciu słuchaczy studium doktoranckiego) oraz dwóch inżynierów. Specjalizujemi się w technologiach C++ (np. RDMA, MPI, Boost, GStreamer) i Java (Spring, Hibernate, ActiveMQ). Nasi programiści mają bogate doświadczenie w projektach naukowych i biznesowych, takich jak Beesy Cluster, Tempus, Copernicus i ERS (Endoscopy Recommender System). Część zespołu posiada certyfikaty IBM, Oracle/Sun, Novell oraz LPI (np. OCPJP i LPIC). Koncentrujemy się nie tylko na wytwarzaniu oprogramowania, ale i badaniach związanych z systemami obliczeniowymi wysokiej wydajności. Tworzymy modele bazujące na danych diagnostycznych, projektujemy i wykonujemy testy w celu ich udowodnienia, a następnie używamy ich do rozwiązywania rzeczywistych problemów. Opublikowaliśmy ponad 15 publikacji w krajowych i zagranicznych czasopismach i konferencjach.

  • Barłomiej Daca

  • Adam Glinianowicz

  • Rafał Knopa

  • Michał Nykiel

  • Piotr Orzechowski

  • Piotr Sawicki

  • Karol Zalewski

  • Tomasz Ziółkowski

Lider zespołu

Dr inż. Jerzy Proficz

Jerzy jest odpowiedzialny za podejmowanie trudnych decyzji wpływających na cele i styl pracy zespołu platformy KASKADA. Ma bogate doświadczenie w tworzeniu platform multimedialnych opartych o architekturę SOA, systemy komputerowe wysokiej wydajności oraz wydajne technologie sieciowe. Był odpowiedzialny za projekt i implementację platformy dla aplikacji pilotażowych związanych z automatycznym nadzorem, konsultacjami medycznymi i ochroną własności intelektualnej. Uzyskał stopień doktora w przetwarzaniu równoległym i rozproszonym w 2012 roku na Politechnice Gdańskiej. Jego zainteresowania naukowe koncentrują się wokół równoległych i rozproszonych architektur komputerowych oraz przetwarzania multimediów. Jerzy posiada certyfikaty IBM Certified Enterprise Developer i Sun Certified Enterprise Architect.

Publikacje

Podczas prac nad platformą KASKADA powstało kilkanaście publikacji naukowych przygotowanych przez nasz zespół, 5 prac magisterskich (w tym 1 w przygotowaniu) oraz 1 rozprawa doktorska. Poniżej zamieszczona została list najważniejszych prac.

Artykuły

  • Krawczyk H., Proficz J. Real-time multimedia stream data processing in a supercomputer environment, Interactive Multimedia, InTech, 2012 [PDF]
  • Bobkowska A., Nykiel M., Proficz J. Evaluation of Multimedia Stream Processing Modeling Language from the Perspective of Cognitive Dimensions, Proceedings of PPIG 2011, York, 2011
  • Krawczyk H., Proficz J., Bańczyk K. Parallel processing of multimedia streams, Transactions on Computer Applications in Electrical Engineering, Poznan, April 19-21, 2010, pp. 267-268
  • Krawczyk H., Proficz J. KASKADA – multimedia processing platform architecture, Proceedings of the International Conference on Signal Processing and Multimedia Applications, SIGMAP 2010
  • Krawczyk H., Proficz J. The task graph assignment for KASKADA platform, Proceedings of the International Conference on Software and Data Technologies, ICSOFT 2010
  • Krawczyk H., Proficz J., Bańczyk K. Parallel processing of multimedia streams, Computer Applications in Electrical Engineering, vol. 8 (2010)
  • Krawczyk H., Konpa R., Proficz J. Basic management strategies on KASKADA platform, EUROCON 2011
  • Krawczyk H., Proficz J., Ziółkowski T., A Parallel Genetic Algorithm for Creating Virtual Portraits of Historical Figures, TASK Quarterly 2012

Rozprawa doktorska

  • Proficz J. Zarządzanie zasobami obliczeniowymi w klastrowym środowisku przetwarzania strumieni multimedialnych, 2012

Prace magisterskie

  • Daca B. Multimedialne protokoły komunikacyjne dla platformy KASKADA (w przygotowaniu)
  • Glinianowicz A. Mechanizmy alokacji zasobów obliczeniowych dla platformy KASKADA, 2012
  • Nykiel M. Metody tworzenia i walidacji usług złożonych dla platformy KASKADA, 2011
  • Orzechowski P. Mechanizmy monitorowania i zapewniania odporności na błędy dla usług sieciowych na platformie KASKADA, 2011
  • Ziółkowski T. Zarządzanie i przetwarzanie strumieni danych na platformie KASKADA, 2011

Dane kontaktowe

Adres:

Politechnika Gdańska,
Centrum Informatyczne TASK,
G. Narutowicza 11/12
80-233 Gdańsk

Telefon:

+48 58 348 63 43