Badania naukowe

Główną tematyką badawczą podejmowaną w Katedrze jest rozwój architektur aplikacji i systemów komputerowych, w szczególności aplikacji i systemów równoległych i rozproszonych. "Architecture starts when you carefully put two bricks together" - stwierdza niemiecki architekt Ludwig Mies von der Rohe. W przypadku systemów komputerowych dotyczy to nie cegieł, a modułów sprzętowych lub programowych. Przez architekturę systemu komputerowego rozumie się więc zestaw komponentów współpracujących ze sobą. W polu zainteresowań katedry znajdują się więc m.in. architektury takie jak: przetwarzanie wysokiej wydajności na klastrach obliczeniowych, architektury klient-serwer, wielowarstwowe, agentowe, architektury oparte na usługach (SOA), przetwarzanie typu grid, cloud, przetwarzanie rozproszone uwzględniające urządzenia mobilne, systemy wbudowane, przestrzenie inteligentne, systemy wszechobecne. Wytwarzanie nowoczesnych aplikacji w tego typu systemach wymaga:

 

  1. wysokiej wydajności,
  2. zapewnienia bezpieczeństwa przetwarzania,
  3. połączenia różnych urządzeń i modułów programowych w środowisku heterogenicznym,
  4. umiejętności filtrowania i przetwarzania dużej ilości danych.

Podstawę sprzętową realizacji przedsięwzięć katedry w tym zakresie stanowi laboratorium Inteligentne usługi i dedykowane systemy internetowe, które pozwala na integrację różnego rodzaju urządzeń od wbudowanych przez popularne urządzenia mobilne przez stacje robocze aż do wysokowydajnych klastrów obliczeniowych. Umożliwia to, dzięki odpowiednim warstwom programowym, przesyłanie danych z urządzeń wbudowanych i mobilnych do klastrów, wydajne przetwarzanie równoległe i wnioskowanie przydatne dla praktycznych aplikacji takich jak przetwarzanie języka naturalnego, monitorowanie środowiska etc. Przetwarzanie na systemach wysokiej wydajności wymaga odpowiednich metod zrównoleglania na różnych poziomach: urządzeń obliczeniowych takich jak CPU, akceleratorów, koprocesorów a także na poziomie węzła obliczeniowego łączącego takie urządzenia, na poziomie klastra łączącego węzły a także na poziomie rozproszonym łączącym klastry. Prace badawcze katedry dotyczą wszelkiego rodzaju aspektów związanych z wydajnym zrównoleglaniem różnych aplikacji na takich systemach, m.in. zrównoleglaniem algorytmów z uwzględnieniem heterogeniczności środowiska obliczeniowego, ograniczeń rozmiarów i wydajności pamięci różnych poziomów, operacji na systemach plików etc.