Politechnika Łódzka Wydział Elektrotechniki, Elektroniki ... · Wydział Elektrotechniki,...

34
Politechnika Łódzka Wydział Elektrotechniki, Elektroniki, Informatyki i Automatyki Instytut Informatyki Stosowanej STRESZCZENIE Algorytmy przetwarzania danych w rozproszonych środowiskach heterogenicznych dla potrzeb tomografii mgr inż. Michał Majchrowicz Promotor pracy: dr hab. inż. Lidia Jackowska - Strumiłło, prof. PŁ Łódź, styczeń, 2014

Transcript of Politechnika Łódzka Wydział Elektrotechniki, Elektroniki ... · Wydział Elektrotechniki,...

Politechnika Łódzka

Wydział Elektrotechniki, Elektroniki, Informatyki i Automatyki

Instytut Informatyki Stosowanej

STRESZCZENIE

Algorytmy przetwarzania danych w rozproszonych środowiskach heterogenicznych dla potrzeb tomografii

mgr inż. Michał Majchrowicz

Promotor pracy:

dr hab. inż. Lidia Jackowska - Strumiłło, prof. PŁ

Łódź, styczeń, 2014

   

2

1 Wstęp  

Tomografia przemysłowa jest techniką pomiarową, która umożliwia badanie

procesów zachodzących wewnątrz obiektów bez fizycznej potrzeby ingerowania w ich

wnętrze. Technika ta pozwala na wizualizację trudno dostępnych procesów oraz ich kontrolę

przy wykorzystaniu systemów z pętlą sprzężenia zwrotnego. Rekonstruowane obrazy mogą

być poddane wnikliwej analizie z użyciem algorytmów rozpoznawania obrazu. Na tej

podstawie podejmowana jest decyzja wpływająca na dalszy przebieg procesu. Jednym z

ważniejszych rodzajów tomografii przemysłowej jest elektryczna tomografia pojemnościowa

ECT (ang. Electrical Capacitance Tomography).

Elektryczna Tomografia Pojemnościowa jest relatywnie nową metodą obrazowania,

która może być wykorzystana do bezinwazyjnej wizualizacji procesów przemysłowych w

dwóch, trzech, oraz czterech wymiarach, w których czwartym wiarem jest czas, (2D, 3D i

4D) (Soleimani i inni, 2009; Banasiak i inni, 2009; Wajman i inni, 2006; Banasiak i inni,

2013). W porównaniu z innymi metodami obrazowania tomografię tę charakteryzuje

możliwość szybszego pozyskiwania danych pomiarowych niż w przypadku rezonansu

magnetycznego (MRI - ang. Magnetic Resonance Imaging), czy tomografii rentgenowskiej

(CT - ang. X-ray Computed Tomography).

Elektryczna Tomografia Pojemnościowa jest stosowana do monitorowania procesów

przemysłowych (Soleimani i Lionheart, 2005). Niektóre z takich zastosowań obejmują na

przykład pomiary przepływu płynów w rurociągach (Jaworski i Dyakowski, 2001; Isaksen i

inni, 1994) jak również określenie koncentracji jednego płynu w drugim (Wajman i inni,

2006; Banasiak i inni, 2009), rozproszenie ciał stałych w płynach, czy monitorowanie

przepływu materiałów sypkich w silosach (Chaniecki i inni, 2006; Romanowski i inni, 2006;

Grudzień i Romanowski, 2004). Pomimo, iż technologia ta została po raz pierwszy

zaprezentowana już wiele lat temu (Huang i inni, 1988), to niemniej jednak jej wyraźny

rozwój nastąpił dopiero w czasie ostatniej dekady.

Pomimo licznych zalet i potencjalnych obszarów aplikacyjnych Elektryczna

Tomografia Pojemnościowa nie jest jeszcze powszechnie stosowana do monitorowania

rzeczywistych procesów przemysłowych. Jednym z głównych problemów utrudniającym

możliwość zastosowania ECT w przemyśle jest konieczność wykonania znacznej ilości

3

obliczeń w celu uzyskania obrazu o wystarczającej jakości. Wynika to z faktu, iż w procesie

rekonstrukcji konieczne jest wykonanie obliczeń na danych o strukturze macierzowej, których

zapis na nośniku trwałym wymaga pamięci o pojemności nawet 250 MiB*.

Cel,  teza  i  zakres  pracy  

Celem niniejszej rozprawy jest opracowanie i zastosowanie technik obliczeń

rozproszonych do przyspieszenia rekonstrukcji obrazu w Elektrycznej Tomografii

Pojemnościowej.

Istotnym aspektem technik obliczeniowych wykorzystywanych w ECT jest jakość

zrekonstruowanego obrazu (określana zarówno poprzez rozdzielczość obrazu, jak i

dokładność rekonstrukcji), która zależy od ilości wykonywanych obliczeń. Duża złożoność

obliczeniowa przekłada się wprost na czas rekonstrukcji, co w rezultacie często uniemożliwia

zastosowanie Elektrycznej Tomografii Pojemnościowej do monitorowania procesów

przemysłowych w czasie rzeczywistym

W Instytucie Informatyki Stosowanej Politechniki Łódzkiej od wielu lat prowadzone

są badania nad zwiększeniem dokładności procesu rekonstrukcji obrazu w Elektrycznej

Tomografii Pojemnościowej, co jest możliwe do osiągnięcia na dwa sposoby:

1. Zwiększenie liczby pomiarów (zmiana konstrukcji czujników i układów

elektronicznych, co pozwoli na zwiększenie rozdzielczości obrazu)

2. Zwiększenie szybkości wykonywanych obliczeń, co pozwoli na wykonanie

większej liczby iteracji algorytmu rekonstrukcji obrazu w określonym czasie

oraz na wykorzystanie danych o większych rozmiarach (co zwiększy

rozdzielczość obrazu).

__________________________________________________________________

* MiB – 220 B jednostka z zgodna z normą IEC 60027-2 (IEC 60027-2, 2005-08)

oraz ISO/IEC 80000-13 (ISO/IEC 80000-13, 2008))

4

Zwiększenie szybkości wykonywanych obliczeń było realizowane między innymi

przez wykorzystanie procesorów graficznych (Matusiak, 2013; Kapusta i inni, 2010). W tej

rozprawie rozważona jest koncepcja zwiększania dokładności procesu rekonstrukcji obrazu

poprzez przyspieszenie wykonywanych obliczeń z wykorzystaniem systemów rozproszonych.

Tezę rozprawy sformułowano następująco:

Możliwe jest przyspieszenie rekonstrukcji trójwymiarowych obrazów pozyskiwanych w

Elektrycznej Tomografii Pojemnościowej poprzez wykorzystanie rozproszonego,

heterogenicznego systemu wieloprocesorowego.

W celu realizacji tego zadania w ramach pracy zostały opracowane dwa systemy

rozproszone:

1. System rozproszony wykorzystujący platformę Xgrid jako medium transmisji

2. Autorski system do obliczeń rozproszonych – KISDC (KIS Distributed

Computing)

Oba systemy do obliczeń rozproszonych w ECT zostały opracowane wspólnie z mgr inż.

Pawłem Kapustą. Każdy ze współautorów odpowiedzialny był za realizację odrębnych, ściśle

określonych zadań. Uproszony schemat podziału tych zadań pokazano na rysunku 1.1.

W przypadku analizy środowisk rozproszonych bardzo ważna jest specyfika danych

wykorzystywanych w procesie rekonstrukcji obrazu w ECT. W Elektrycznej Tomografii

Pojemnościowej do uzyskania rekonstrukcji obrazu o zadowalającej jakości i rozdzielczości

przestrzennej konieczne jest stosowanie danych pomiarowych, których rozmiar wynosi nawet

kilkaset megabajtów (MiB). W rezultacie rozmiar ten ma znaczny wpływ na czas transmisji

danych w systemie rozproszonym.

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 1.1

5

Dlatego też w celu opracowania założeń projektowych do budowy systemów

rozproszonych konieczna jest analiza danych tomograficznych pod kątem możliwości ich

podziału i dystrybucji w takim środowisku i zaprojektowanie odpowiednich algorytmów.

Zaprojektowano dwa środowiska rozproszone wykorzystujące jako medium transmisji

odpowiednio platformę Xgrid (Apple, 2007) oraz protokół HTTP (Fielding i inni, 1999).

Przeprowadzone zostały również szczegółowe badania rozwiązań sieciowych w celu

wybrania najlepszego (pod kątem przesyłu danych tomograficznych) medium transmisji.

Rysunek 1.1 - Uproszczony schemat podziału zadań przy budowie systemów do obliczeń

rozproszonych w ECT

W związku z postawioną tezą oraz podziałem zadań projektowych pomiędzy

współautorami obu systemów rozproszonych cele szczegółowe niniejszej rozprawy są

następujące:

1. Opracowanie autorskich algorytmów pozwalających na rozpraszanie zarówno danych,

jak i obliczeń wykorzystywanych w procesie rekonstrukcji obrazu w Elektrycznej

Tomografii Pojemnościowej. Niezbędnym aspektem sytemu jest również

6

wykorzystanie do obliczeń zarówno procesorów (CPU -ang. Central Processing

Unit), jak i coraz częściej wykorzystanych do obliczeń procesorów graficznych (GPU

– ang. Graphical Processing Unit).

2. Opracowanie odpowiedniej platformy zapewniającej duży poziom elastyczności

pozwalający na znaczne przyspieszenie rekonstrukcji obrazu w Elektrycznej

Tomografii Pojemnościowej, jak również opracowanie środowiska programistycznego

(ang. framework) z warstwą programową, która umożliwiłaby dostęp do wielu

połączonych ze sobą komputerów wyposażonych w szybkie procesory graficzne

(GPU) i klasyczne (CPU) (Kapusta i Majchrowicz, 2010a).

3. Zaprojektowanie i opracowanie warstwy pośredniczącej pomiędzy system

rozproszonym, a urządzeniami wykorzystywanymi w ramach konkretnego węzła do

przeprowadzania obliczeń. Warstwa ta również jest odpowiedzialna za podział i

dystrybucję danych. Warstwa ta ma charakter częściowo rzeczywisty, a częściowo

abstrakcyjny, co pozwola na ujednolicenie dostępu zarówno do urządzeń lokalnych,

jak i sieciowych wykorzystywanych w systemie.

4. Opracowanie algorytmów do podziału i dystrybucji danych pomiędzy węzłami oraz

urządzeniami (rdzeniami procesora oraz kartami graficznymi) w ramach

pojedynczego węzła.

5. Przeprowadzenie testów wydajności opracowanych rozwiązań pod kątem różnych

algorytmów wykorzystywanych w Elektrycznej Tomografii Pojemnościowej do

rekonstrukcji obrazu. Badania te obejmują między innymi analizę porównawczą obu

opracowanych środowisk rozproszonych, w celu dobrania najbardziej wydajnego

rozwiązania dla konkretnych parametrów (ilość węzłów, moc obliczeniowa

poszczególnych jednostek, wykorzystywany algorytm rekonstrukcji obrazu, itp.).

W rezultacie w ramach pracy został opracowany autorski system do obliczeń

rozproszonych – KISDC oraz algorytmy rekonstrukcji obrazu w Elektrycznej Tomografii

Pojemnościowej w rozproszonych systemach heterogenicznych.

2 Stan  wiedzy  

Opracowanie rozwiązań umożliwiających przyspieszenie procesu rekonstrukcji obrazu

w Elektrycznej Tomografii Pojemnościowej poprzez zastosowanie rozproszonego systemu

7

heterogenicznego wymagało od Autora zgłębienia wiedzy z dwóch dziedzin. Konieczne było

przeanalizowanie algorytmów rekonstrukcji obrazu w ETC pod kątem możliwości ich

rozproszenia, jak również samych systemów rozproszonych z punktu widzenia możliwości

ich zastosowania i optymalizacji do jak najwydajniejszego transferu danych tomograficznych.

2.1 Tomografia  i  obliczenia  równoległe  

Elektryczna Tomografia Pojemnościowa jest nieinwazyjną metodą diagnozowania

procesów przemysłowych, w której obraz - rozkład stałej dielektrycznej wewnątrz czujnika

jest wyznaczany na podstawie pomiaru pojemności pomiędzy elektrodami. ECT jest

stosowana w wielu gałęziach przemysłu, takich jak: przemysł wydobywczy, farmaceutyczny,

chemiczny, budowalny czy spożywczy.

W ECT 3D obraz jest rekonstruowany w wyniku wykonywania operacji na dużych

ilościach danych uzyskanych z czujników [Rysunek 2.1.1] (zarówno tradycyjnych (Banasiak i

inni, 2008; Banasiak i inni, 2010) jak i obrotowych (Zhijian i inni, 2010)). Technika ta jest

bardzo dobrym narzędziem do wizualizacji w czasie rzeczywistym szybko zmiennych

procesów przemysłowych. Niemniej jednak moc obliczeniowa współczesnych procesorów

drastycznie zmniejsza ilość jej potencjalnych zastosowań. Powodem tego jest długi czas

rekonstrukcji obrazów 3D o zadowalającej jakości. Wynika to ze stosunkowo dużych

rozmiarów macierzy, na których obliczenia są wykonywane (gęste macierze o wymiarze

60896 x 496 lub więcej elementów, które zajmują około 250 MiB (w pamięci).

Przykładem zastosowania 3D ECT, które jest obecnie ograniczone przez czas

rekonstrukcji obrazu jest: kontrola procesów przemysłowych, w tym monitorowanie

przepływu ropy oraz gazu w rurociągach (Jaworski i Dyakowski, 2005; Li i inni, 2013),

przepływów materiałów sypkich w instalacjach pneumatycznych (Grudzień i inni, 2006), jak

również przepływów grawitacyjnych w silosach (Romanowski i inni, 2006).

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.1

8

Opracowanie nowych metod wykonywania obliczeń niezbędnych do rekonstrukcji

obrazu w Elektrycznej Tomografii Pojemnościowej 3D (3D ECT) jest więc niezwykle

ważnym dla nuki i techniki zagadnieniem. Przyspieszenie tych obliczeń można uzyskać

stosując obliczenia równoległe i rozproszone przy wykorzystaniu rozproszonego,

heterogenicznego systemu wielowęzłowego. W celu realizacji tego zadania konieczne jest

opracowanie nowych algorytmów do wykonywania rekonstrukcji obrazu, które będą brały

pod uwagę charakter obliczeń równoległych i rozproszonych oraz zaprojektowanie

wielowęzłowego, rozproszonego, heterogenicznego systemu dla potrzeb Elektrycznej

Tomografii Pojemnościowej. We wcześniejszych pracach były już badania nad

przyspieszeniem obliczeń tomograficznych poprzez wykorzystanie procesorów graficznych

(Matusiak, 2013), ale dotyczyły one jedynie ECT 2D i nie wykorzystywały środowisk

rozproszonych. Schemat przykładowego układu pomiarowego stosowanego w ECT

pokazano na rysunku 2.1.1.

Rysunek 2.1.1 - Schemat układu pomiarowego w Elektrycznej Tomografii Pojemnościowej:

a) ideowy – konstrukcyjny, b) blokowy – funkcjonalny.

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 2.1

9

W Elektrycznej Tomografii Pojemnościowej mierzoną wielkością jest wartość

pojemności pomiędzy kolejnymi parami elektrod czujnika, które są rozmieszczone

równomiernie wokół badanego obiektu. W większości przypadków czujnik

elektropojemnościowy ma kształt walca. Do rekonstrukcji obrazu wykorzystywane są wyniki

pomiarów pomiędzy wszystkimi niezależnymi parami elektrod, przy przyłożonym potencjale

V0 do jednej z elektrod [Rysunek 2.1.2]. Uzyskiwany obraz jest najczęściej przekrojem

poprzecznym (dla tomografii 2D (Yang i Peng, 2003))[Rysunek 2.1.2] lub trójwymiarowym

obrazem (dla tomografii 3D) fragmentu badanego procesu [Rysunek 2.1.3].

Rysunek 2.1.2 - Schemat pomiaru w tomografie ECT 2D z 8-ma elektrodami

(Romanowski i Grudzień, 2004), gdzie: φ – potencjał elektryczny, V0 – wartość potencjału

przyłożonego do elektrody pomiarowej, Cij – pojemność pomiędzy elektrodami i oraz j, ε1, ε2

– przenikalność elektryczna materiałów umieszczonych wewnątrz tomografu

Konstruowane są czujniki tomograficzne z różną ilością elektrod. W tomografii 2D

najczęściej stosowane są te składające się z ośmiu, dwunastu, czy szesnastu elektrod. W

tomografii 3D liczba elektrod jest większa, a czujnik zbudowany jest z kilku poziomów

elektrod [Rysunek 2.1.1]. Ilość elektrod ma bezpośrednie przełożenie na liczbę niezależnych

pomiarów i wyraża się wzorem (Romanowski i Grudzień, 2004) :

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.2Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.2Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.3

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.1

10

𝑝! =!(!!!)

!   (2.1.1)

gdzie:

pn – liczba niezależnych pomiarów,

H – liczba elektrod.

Mechanizm rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej

(Olszewski i inni, 2006) polega na wyliczeniu tak zwanego problemu odwrotnego. Pod tym

pojęciem rozumie się aproksymację przestrzennego rozkładu przenikalności dielektrycznej ε

na podstawie otrzymanych danych pomiarowych C (Wajman i inni, 2006; Banasiak i inni,

2008; Banasiak i inni, 2009), czyli macierzy pojemności zmierzonych pomiędzy elektrodami

czujnika. Rekonstrukcja obrazu przy wykorzystaniu metod deterministycznych wymaga

wykonania wielu podstawowych operacji algebry liniowej. Takich, jak transpozycja,

mnożenie, dodawanie, odejmowanie. Operacje macierzowe charakteryzuje fakt, iż ich

złożoność obliczeniowa jest wielomianowa. Problem ten staje się więc jeszcze bardziej

znaczący przy dużej liczbie elementów macierzy, gdyż czas potrzebny do wykonania operacji

wzrasta szybko wraz ze wzrostem liczby elementów. Przykładowo w przypadku mnożenia

macierzy 2D, które jest operacją klasy O(n3), można przyjąć, iż n-krotny wzrost rozmiarów

macierzy spowoduje n3-krotny wzrost czasu przeprowadzania obliczeń.

Przykładami algorytmów rekonstrukcji obrazu, w których wykorzystywane są głównie

podstawowe działania algebry liniowej są algorytmy LBP (wzór 2.1.2) i Landwebera (wzór

2.1.3) (Yang i Peng, 2003). W algorytmie LBP rozkład przenikalności elektrycznej wewnątrz

czujnika obliczany jest ze wzoru:

  (2.1.2)

gdzie:

ɛ – rozkład przenikalności dielektrycznej – wektor obrazu (m x

1 elementów),

S – macierz czułości (n x m elementów),

C – wektor danych pomiarowych (n x 1 elementów), macierz

pojemności zmierzonych pomiędzy elektrodami czujnika.

n, m – liczby całkowite.

C*Sε =

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 2.2Michał Majchrowicz� 1.10.2014 09:06Usunięto: 2.3

11

Algorytm Landwebera pozwala na uzyskanie obrazu o lepszej jakości, ale wymaga on

przeprowadzenia większej ilości obliczeń. Jest to algorytm iteracyjny w którym rozkład

przenikalności dielektrycznej wewnątrz czujnika obliczany jest ze wzoru (2.1.3):

(2.1.3)

gdzie:

ԑk+1 – obraz uzyskany w obecnej iteracji (n x 1 elementów)

ԑk – obraz uzyskany w poprzedniej iteracji (n x 1 elementów)

α – współczynnik zbieżności (skalar)

S T – transponowana macierz czułości (n x m elementów)

S – macierz czułości (n x m elementów)

C m – wektor danych pomiarowych (m x 1 elementów), macierz

pojemności zmierzonych pomiędzy elektrodami czujnika.

W procesie rekonstrukcji rozkładu stałej dielektrycznej przy zastosowaniu obecnych

algorytmów i mocy obliczeniowych współczesnych procesorów CPU zastosowanie

tomografii ECT, w szczególności dla problemu 3D, jest ograniczone przez zbyt długi czas

rekonstrukcji obrazu, przy zachowaniu satysfakcjonującej jakości uzyskiwanych obrazów.

)Cε*(S*S*εε mkT

k1k −−=+ α

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 2.3

12

Rysunek 2.1.3 - Przykład obrazu 3D uzyskanego przy zastosowaniu ECT (źródło: (Zhijian i

inni, 2010))

W celu osiągnięcia rekonstrukcji obrazu 3D w ECT w czasie rzeczywistym podsystem

odpowiedzialny za obliczenia musi być w stanie przekształcić dane w czasie ułamków

sekund, co jest trudne do osiągnięcia, ponieważ zazwyczaj obraz 3D uzyskiwany za pomocą

ECT może składać się z wielu pikseli. W związku z tym wykorzystanie techniki 3D ECT

wiążę się z dużą złożonością obliczeniową, a rekonstrukcja obrazów 3D w ECT w czasie

rzeczywistym nie jest możliwa za pomocą klasycznego systemu z jednym procesorem. Czas

obliczeń może osiągnąć w tym przypadku kilka minut, godzin lub, w niektórych przypadkach,

nawet dni.

Przez wiele lat do rekonstrukcji obrazu wykorzystywano jedynie klasyczne procesory

– CPU. Niemniej jednak dynamiczny rozwój mocy obliczeniowych procesorów graficznych

[Rysunek 2.1.4] umożliwił ich zastosowanie w różnych dziedzinach nauki (Majchrowicz,

Kapusta i inni, 2012a), w tym do przyspieszenia rekonstrukcji obrazu w ECT. Badania

przeprowadzone podczas analizy algorytmów wykorzystywanych w ECT (Kapusta,

Majchrowicz i inni, 2010; Majchrowicz, Kapusta i inni, 2010b; Kapusta i inni, 2010)

wykazały jednak, iż obliczenia z wykorzystaniem współczesnych procesorów GPU są

obarczone wieloma ograniczeniami. Jedną z wad architektury wykorzystywanej w

dzisiejszych kartach graficznych jest słabe wsparcie, a czasami nawet jego brak, do

możliwości wykonywania niezależnych małych fragmentów kodu (tak zwanych „kerneli”) w

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 2.4

13

tym samym momencie (Majchrowicz, Kapusta i inni, 2010c; Majchrowicz, Kapusta i inni,

2010b). W efekcie, by uzyskać znaczne przyśpieszenie niezbędnym staje się wykorzystanie

wielu kart graficznych (Majchrowicz i Kapusta, 2011a; Kapusta, Majchrowicz i inni, 2011;

Kapusta, Majchrowicz i inni, 2013a).

Rysunek 2.1.4 - Porówanie architektury CPU i GPU (źródło www.nvidia.com).

Podejście to jednak wymaga częściowej (w niektórych sytuacjach nawet pełnej)

reimplementacji istniejących algorytmów (Majchrowicz, Kapusta i inni, 2012b). Wynika to z

tego, iż w takiej konfiguracji pamięć nie jest współdzielona pomiędzy urządzeniami, a w

rezultacie wszystkie obliczenia muszą być wykonywane w środowisku pamięci rozproszonej.

Co więcej moc obliczeniowa pojedynczego komputera (wyposażonego w wiele kart

graficznych) jest również ograniczona. W konsekwencji niezbędne stało się zastosowanie

systemu, w którym dane i obliczenia zostają rozdzielone na większą liczbę komputerów i

wykorzystywane jest medium transmisji danych. Architektura o takim charakterze określana

jest mianem systemu rozproszonego (Fitzgerald i inni, 1997; Avery i inni, 2001; Foster i

Kesselman, 1999).

Koncepcja budowy specjalistycznego systemu obliczeniowego, dedykowanego dla

ECT jest nowatorskim rozwiązaniem, które na etapie projektu wymagało przeprowadzenia

wielu badań i testów. Opracowane w ramach rozprawy dwa systemy rozproszone były

testowane w Laboratorium Tomografii Procesowej Instytutu Informatyki Stosowanej im.

prof. Tomasza Dyakowskiego na rzeczywistych danych pomiarowych.

14

2.2 Systemy  rozproszone  

Systemy rozproszone są jednym z ważniejszych osiągnięć technologicznych ostatnich

lat (Cugola i inni, 1998), które miało znaczących wpływ na rozwój współczesnej informatyki.

Zakres zastosowań systemów rozproszonych w życiu codziennym jest bardzo szeroki

(Czajkowski i inni, 2001; Czajkowski i inni, 2002), od systemów lokalnych, jakie można

spotkać na przykład w samochodach, statkach, samolotach, do systemów w skali globalnej

obejmujących miliony węzłów, opartych na usługach przetwarzania danych; od prostych

systemów wbudowanych składających się z bardzo małych i prostych czujników do tych

zawierających potężne obliczeniowe podzespoły; od systemów wbudowanych do tych, które

obsługują zaawansowane interaktywne interfejsy użytkownika, i tak dalej.

Możemy zdefiniować system rozproszony jako taki, w którym komponenty sprzętowe

lub oprogramowanie na komputerach w sieci komunikują się ze sobą i koordynują swoje

działania tylko poprzez przekazywanie wiadomości (Carzaniga i inni, 1999a; Carzaniga i inni,

1999b). Ta prosta definicja obejmuje całą gamę systemów, w których komputery sieciowe

mogą być z powodzeniem wykorzystywane do wykonywania zadań szybciej lub dokładniej

niżeli pojedyncza jednostka.

Główną motywacją do budowy i użytkowania systemów rozproszonych jest

chęć rozdzielenia zasobów (Casanova i inni, 2000; Chen i inni, 2002; Chervenak i inni, 2000).

Pojęcie "zasobów", które mogą być skutecznie udostępnione w sieci komputerowej obejmuje

zarówno komponenty sprzętowe, takie jak dyski i drukarki, jak i oprogramowanie, takie jak

pliki, bazy danych i inne obiekty, jak np. strumień klatek wideo, które są przesyłane z

cyfrowej kamery wideo, czy też sygnął dźwięku przesyłany pomiędzy operatorami, a

telefonami komórkowymi.

Systemy rozproszone są również powszechnie wykorzystywane w systemach

pomiarowych, w których to komunikacja odbywa się za pomocą różnych interfejsów, takich

jak: magistrala USB, magistrala IEEE-1394, interfejs RS-232, interfejs CAN, sieć lokalna

(Ethernet), czy sieć bezprzewodowa (GSM/UMTS) (Nawrocki, 2006). W tomografii pojawiły

również się już pierwsze zastosowania systemów rozproszonych do przyspieszenia obliczeń.

Jednym z nich było wykorzystanie rozproszonego systemu do przyspieszenia wizualizacji

tomografii ultradźwiękowej (Müller i inni, 2005). Systemy rozproszone wykorzystywano

15

również do rozpraszania obliczeń i pomiarów wykorzystywanych w tomografii sejsmicznej

(Kamath i inni, 2013), co pozwoliło na zarówno na przyspieszenie procesu wizualizacji, jak i

uzyskanie obrazów o wyższej rozdzielczości.

Niemniej jednak do tej pory nie stosowano rozproszonych systemów, a tym

bardziej rozproszonych systemów heterogenicznych multi-GPU do przyspieszenia procesu

rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej, a tym bardziej ETC 3D.

3 System  do  obliczeń  rozproszonych  wykorzystujący  platformę  Xgrid  

W celu najbardziej efektywnego wykorzystania platformy Xgrid do przyspieszenia

procesu rekonstrukcji obrazu w elektrycznej tomografii pojemnościowej w projektowanym

systemie konieczne jest opracowanie dodatkowej warstwy pośredniczącej pomiędzy

systemem Xgrid a algorytmami ECT. Warstwowa architektura zaprojektowanet systemu

została przestawiona na rysunku 3.1 .

Rysunek 3.1 – Koncepcyjny schemat wartw w rozproszonym środowisku wykorzystującym platformę Xgrid.

Przedstawiony schemat algorytmu Landwebera z wykorzystaniem systemu

rozproszonego [Rysunek 3.2] ukazuje jego podział na algorytmy wykorzystywane w procesie

rekonstrukcji obrazu w elektrycznej tomografii pojemnościowej. Opracowana została wersja

algorytmu Landwebera, którą zoptymalizowano pod kątem jej wykorzystania w

komputerowym systemie pomiarowym w Instytucie Informatyki Stosowanej. Między innymi

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 3.1

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 3.2

16

zastosowano specjalny bufor dla danych pomiarowych oraz opracowano algorytmy

zapewniające jego obsługę. Niemniej jednak nie we wszystkich algorytmach bufor ten będzie

wykorzystywany, na przykład nie będzie używany dla algorytmu LBP.

Rysunek 3.2 - Implementacja algorytmu Landwebera w systemie rozproszonym.

17

Przeprowadzone badania nad algorytmem LBP wykazały, iż może on być znacznie

przyspieszony poprzez wykorzystanie systemu rozproszonego. Pomiary czasu obliczeń dla

algorytmu LBP wykonano dla czterech przypadków:

• Obliczenia wykonywane na jednym lokalnym komputerze - 1

• Obliczenia przeprowadzone w środowisku rozproszonym, w którego skład wchodzą

dwa identyczne komputery - 2

• Obliczenia wykonywane na procesorach klasycznych (CPU) z wykorzystaniem

czterech maszyn - 3

• Obliczenia wykonane z wykorzystaniem kart graficznych na czterech komputerach

podłączonych do system Xgrid – 4

Na rysunku 3.3 przedstawiono wyniki przeprowadzonych testów.

Rysunek 3.3 - Czas obliczeń dla algorytmu LBP wykonywanego na czterech różnych

systemach komputerowych.

Pomiary czasu obliczeń dla algorytmu LBP przeprowadzone z wykorzystaniem

opracowanego systemu wykorzystującego środowisko Xgrid wykazały znaczący wzrost

wydajności, jaki może być uzyskany dzięki zastosowaniu opisywanej architektury [Rysunek

3.3]. Jak można zauważyć przeprowadzenie obliczeń w środowisku rozproszonym, a

szczególnie wykorzystanie do tego celu komputerów wyposażonych w karty graficzne,

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 3.3

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 3.3

18

znacząco przyspieszyło czas rekonstrukcji obrazu w elektrycznej tomografii pojemnościowej

(Majchrowicz, Kapusta i inni, 2010a). Niemniej jednak uzyskane wyniki wskazywały na

potrzebę opracowania autorskiego systemu, który nie wykorzystywałby platformy Xgrid jako

medium transmisji.

4 System  KISDC  

Architektura projektowanego systemu zapewni bardzo dużą elastyczność w wyborze

sposobu wykonywania obliczeń, który będzie mógł być zmodyfikowany w dowolnym

momencie. Aby to osiągnąć niezbędne jest zastosowanie w systemie struktury warstwowej

[Rysunek 4.1]. Ważnym aspektem projektowanego systemu jest duży poziom abstrakcji

poszczególnych jego części. Najniższa warstwa systemu składa się z wielu niezależnych

wtyczek (ang. plugins), które mogą być przygotowane przez osoby, które nie muszą mieć ze

sobą kontaktu.

Rysunek 4.1 - Schemat warstwowy systemu KISDC

Najwyższą warstwą systemu jest warstwa sieciowa KISDC-NET. Jest ona zbudowana

całkowicie niezależnie od pozostałych warstw. Dzięki takiemu podejściu w systemie możliwe

jest wykorzystanie zarówno platformy Xgrid (jedynie jako warstwy sieciowej) jak i

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.1

19

autorskiego rozwiązania opartego o protokół HTTP. Zapewnia to dużą elastyczność i

uniwersalność systemu.

Przy projektowaniu systemu rozproszonego można skorzystać z istniejącego protokołu

sieciowego lub też opracować własny. W drugim przypadku do momentu opracowania całego

protokołu i jego przetestowania nie jest możliwe określenie, czy jego wydajność będzie

lepsza od „wzorca”, czy gorsza. Jest to więc podejście raczej inżynierskie, niż naukowe. W

przypadku wykorzystania istniejących protokołów możliwe jest ich wcześniejsze

przetestowanie i wybranie optymalnego rozwiązania. Takie też podejście zostało wybrane

jako docelowe przy projektowaniu opracowywanego systemu.

W celu opracowania warstwy KISDC-NET konieczne było opracowanie swego

rodzaju charakterystyki sieciowej opracowanego wcześniej rozwiązania i porównanie go z

innymi protokołami dystrybucji danych: HTTP (ang. Hypertext Transfer Protocol), FTP (ang.

File Transfer Protocol) i SMB (ang. Server Message Block).

Rysunek 4.2 - Porównanie średnich czasów transmisji danych dla różnych protokołów sieciowych

Z uzyskanych wyników [Rysunek 4.2] wyraźnie widać, że wykorzystanie każdego ze

sprawdzanych protokołów pozwala na uzyskanie krótszego czasu transmisji danych niż w

rozwiązaniu opartym o środowisko Xgrid. Choć wyniki uzyskane przy zastosowaniu

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.2

20

protokołu FTP okazały się bardzo dobre, to niemniej jednak najlepsze rezultaty można

osiągnąć wykorzystując jako medium transmisji protokół HTTP.

W rezultacie zaprojektowany została wersja KISDC-NET, w której jako medium

transmisji wykorzystywany jest protokół HTTP (Fielding i inni, 1999). W systemie

wykorzystana została również bezstanowość tego protokołu. Pozwoliła ona na

uniezależnienie procesu rekonstrukcji obrazu w elektrycznej tomografii pojemnościowej 3D

od ilości węzłów w systemie. W zaprojektowanym systemie do serwera wykonywane są dwa

rodzaje zapytań: GET [Rysunek 4.3] i POST [Rysunek 4.4].

Rysunek 4.3 - Schemat komunikacji sieciowej z wykorzystaniem warstwy KISDC-NET

wykorzystującej protokół HTTP w momencie rozpoczęcia procesu rekonstrukcji czterech

kolejnych klatek obrazu w Elektrycznej Tomografii Pojemnościowej

Gdy rozpoczyna się proces rekonstrukcji klienci wysyłają zapytanie GET do serwera,

który każdemu z nich przesyła odpowiedni wektor danych pomiarowych C [Rysunek 4.3].

Niemniej jednak jeśli proces rekonstrukcji obrazu jest już realizowany przez określoną liczbę

klientów, a kolejny węzeł podłącza się do systemu to klient ten wykonuje zapytanie GET i w

ten sposób informuje serwer o możliwości przetworzenia przez niego porcji danych. W

odpowiedzi przesyłany jest wektor pojemności C, który zostanie wykorzystany do

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.3Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.4

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.3

21

rekonstrukcji ramki obrazu. Po jej zakończeniu węzły przesyłają wyniki do serwera za

pomocą zapytania POST, a w odpowiedzi serwer przesyła kolejną porcję danych [Rysunek

4.4]. Dzięki takiej konfiguracji możliwa jest dwukierunkowa komunikacja (zarówno

odebranie zrekonstruowanej ramki, jak i przesłanie kolejnych wyników pomiaru C)

wykorzystując jedno zapytanie HTTP.

Rysunek 4.4 - Schemat komunikacji sieciowej z wykorzystaniem warstwy KISDC-

NET wykorzystującej protokół HTTP w momencie rozpoczęcia procesu rekonstrukcji

czterech kolejnych klatek obrazu w Elektrycznej Tomografii Pojemnościowej

W przedstawionym na rysunku 4.4 cztery wykorzystywane w systemie węzły zakończyły

rekonstrukcję klatek o kolejnych indeksach (i, j, k i l). Po ich odebraniu serwer przesyła do

rekonstrukcji wektory danych pomiarowych C indeksach (l+1, l+2, l+3 i l+4). Niemniej

jednak nie ma żadnej pewności, iż ich kolejność będzie taka sama, jak przesłanych przez

klientów klatek obrazu (i, j, k i l). Serwer dokonuje dynamicznie oceny wydajności węzłów i

dobiera numery kolejnych wektorów pomiarowych w zależności od szybkości rekonstrukcji

poprzednich. W rezultacie wiadomo tylko, że węzeł dostanie jeden z czterech kolejnych

wektorów pomiarowych. Dlatego też, by nie sugerować, iż wektory danych pomiarowych

przesyłane są w takiej samej kolejności, co zrekonstruowane klatki na rysunku 4.4 zamiast

kolejnych liter alfabetu użyte zostały indeksy ilustrujące, iż system wysyła jedynie cztery

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.4

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 4.4

Michał Majchrowicz� 1.10.2014 09:06Usunięto: 4.4

22

kolejne wektory danych pomiarowych o nie ustalonej z góry kolejności indeksowania (stąd

indeksy l+a, l+b, l+c i l+d). Przedstawione rozwiązanie zostało wykorzystane

w rozproszonym, iteracyjnym algorytmie Landwebera wykorzystującym buforowanie ramek

[Rysunek 4.5].

Rysunek 4.5. Schemat rozproszonego, iteracyjnego algorytmu Landwebera wykorzystującego

buforowanie ramek.

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.5

23

Rysunek 4.6. Porównanie czasu rekonstrukcji obrazu w systemach Xgrid i KISDC

dla konfiguracji z dwoma komputerami.

Dla tak opracowanego środowiska przeprowadzone zostały szczegółowe badania

wydajności platformy Xgrid w stosunku do systemu KISDC. Przeprowadzone zostały testy

dla konfiguracji z dwoma węzłami o dużej mocy obliczeniowej, a wyniki zostały

przedstawione na rysunku 4.6. Kolorem żółtym oznaczony został czas obliczeń (taki sam dla

obu systemów), niebieskim czas przesyłania danych w systemie KISDC, a pomarańczowym

czas przesyłania danych w systemie Xgrid. Dla każdej z badanych konfiguracji uzyskano

zwiększenie prędkości rekonstrukcji obrazu wyrażonej w liczbie rekonstruowanych klatek na

sekundę. Najbardziej znaczące przyspieszenie uzyskano dla wektora obrazu o rozmiarze

48 KiB i 96 KiB.

W celu sprawdzenia wydajności środowiska KISDC opracowana została również

wersja rozproszonego algorytmu iteracyjnego Landwebera nie wymagająca buforowania

ramek [Rysunek 4.7]. Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.7

24

Rysunek 4.7. Schemat rozproszonego algorytmu Landwebera

W tej wersji algorytmu Landwebera dane tomograficzne przesyłane są pomiędzy

węzłami w każdej iteracji. Taki algorytm ma pewne wady (np. konieczność wymiany ramek

w każdej iteracji) i w przypadku infrastruktury sieciowej dostępnej w Instytucie Informatyki

Stosowanej nie pozwala na osiągnięcie tak dobrych wyników, jak wersja tego algorytmu

wykorzystująca buforowanie. Niemniej jednak są już na rynku dostępne rozwiązania

sieciowe, w których czas opóźnień zostały znacznie zredukowane, a prędkość przesyłania

danych jest wielokrotnie większa niż wykorzystywana na stanowisku badawczym. W

rezultacie w niektórych konfiguracjach algorytm ten może pozwolić na uzyskanie lepszych

rezultatów. Kluczowym aspektem rozproszonego algorytmu Landwebera jest algorytm

rozpraszania danych i obliczeń [Rysunek 4.8]. Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.8

25

Rysunek 4.8. Schemat algorytmu rozpraszania danych i obliczeń

26

Algorytm rozpraszania danych i obliczeń dokonuje podziału danych i zlecenia

wykonania obliczeń pomiędzy węzły. Podział ten dokonuje się w oparciu o tablice

współczynników, która ustawiana jest na etapie konfigurowania środowiska przez algorytm

generowa współczynników podziału [Rysunek 4.9].

Rysunek 4.9. Schemat algorytmu generowania współczynników podziału

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.9

27

Przeprowadzone zostały również badania wydajności rozproszonego iteracyjnego

algorytmu Landwebera bez buforowania ramek przy wykorzystaniu systemu Xgrid oraz

systemu KISDC [Rysunek 4.10].

Rysunek 4.10. Porównanie czasu rekonstrukcji obrazu przy wykorzystaniu rozproszonego

iteracyjnego algorytmu Landwebera bez buforowania ramek

w systemach Xgrid i KISDC

W przypadku rozproszonego iteracyjnego algorytmu Landwebera zysk wynikający z

zastępienia systemu Xgrid system KISDC jet wielokrotnie większy niż w przypadku

algorytmu iteracyjnego Landwebera wykorzystującego buforowanie ramek. Co więcej zysk

ten rośnie wraz z ze wzrostem rozmiaru wektora obrazu.

5 Podsumowanie   Celem pracy było opracowanie rozwiązań umożliwiających przyspieszenie

rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej poprzez wykorzystanie

Michał Majchrowicz� 1.10.2014 09:06Usunięto: Rysunek 4.10

28

heterogenicznych systemów rozproszonych. Powyższy cel osiągnięto poprzez opracowanie

dwóch systemów rozproszonych:

1. Systemu rozproszonego wykorzystującego platformę Xgrid jako medium

transmisji

2. Autorskiego systemu do obliczeń rozproszonych – KISDC (KIS Distributed

Computing)

W rozprawie przeprowadzono szczegółową analizę wydajności obu systemów.

Wykazany został również znaczący wzrost szybkości procesu rekonstrukcji obrazów w ECT

mierzony w liczbie rekonstruowanych klatek na sekundę. Opracowane algorytmy zostały

przetestowane i zweryfikowane z wykorzystaniem danych pomiarowych uzyskanych w

Laboratorium Tomografii Procesowej Instytutu Informatyki Stosowanej im. prof.

Tomasza Dyakowskiego.

Pierwszym etapem prowadzonych prac była analiza środowiska Xgrid pod kątem

możliwości jego wykorzystania do przyspieszenia rekonstrukcji obrazu w Elektrycznej

Tomografii Pojemnościowej. Pozwoliło to na dobranie optymalnych ustawień

wykorzystywanego medium transmisji do najwydajniejszego przesyłania danych w systemie i

wykorzystania ich do przyspieszenia rekonstrukcji obrazu w ECT.

W oparciu o uzyskane wyniki badań opracowane zostały założenia projektowe do

budowy rozproszonego środowiska obliczeń heterogenicznych, które wykorzystuje platformę

Xgrid jako medium transmisji. System ten zaprojektowano pod kątem wykorzystania go do

przyspieszenia rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej, co zostało

opisane w rozdziale 3. Badania prowadzone były w następujących konfiguracjach: z jednym,

dwoma, czterema i ośmioma komputerami dla algorytmu LBP oraz dla algorytmu

Landwebera.

W oparciu o wyniki badań opisanych we wcześniejszych rodziałach i analizę

wydajności systemu opartego o platformę Xgrid stwierdzono, iż możliwe jest dalsze

przyspieszenie rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej, ale będzie

to wymagało opracowania autorskiego środowiska rozproszonego, które nie będzie

wykorzystywało platformy Xgrid jako medium transmisji. W rezultacie opracowano

założenia projektowe do budowy autorskiego systemu, w którym zastosowano autorskie

protokoły komunikacji sieciowej i inne rozwiązania sieciowe, które pozwoliły na

29

zoptymalizowanie rozproszonego środowiska pod kątem przetwarzania danych

tomograficznych.

Opracowano autorskie środowisko do obliczeń rozproszonych, które nie wykorzystuje

platformy Xgrid, co zostało opisane w rozdziale 4. Rozwiązanie to umożliwiło dalsze

przyspieszenie procesu rekonstrukcji obrazu w Elektrycznej Tomografii Pojemnościowej.

Badania systemu KISDC przeprowadzono dla konfiguracji z dwoma, czterema i ośmioma

komputerami i wektora danych pomiarowych C (2 KiB) oraz dziesięciu różnych wielkości

wektora obrazu ԑk (48 KiB, 96 KiB, 192 KiB, 288 KiB, 384 KiB, 480 KiB, 576 KiB,

672 KiB, 768 KiB i 3072 KiB). W każdej z badanych konfiguracji uzyskano wzrost ilości

rekonstruowanych klatek w ciągu sekundy. Przykładowo dla konfiguracji z dwoma

komputerami o dużej mocy obliczeniowej i wektora obrazu o rozmiarze 48 KiB uzyskano

wzrost ilości rekonstruowanych klatek na sekundę z 4 do niecałych 10, co jest prawie 2,5

krotnym wzrostem prędkości rekonstrukcji obrazu w Elektrycznej Tomografii

Pojemnościowej względem wyników uzyskanych z w wykorzystaniem systemu

rozproszonego wykorzystującego platformę Xgrid.

W pracy wykazano iż opracowanie obu wersji systemu rozproszonego pozwoliło

na przyspieszenie procesu rekonstrukcji obrazu w Elektrycznej Tomografii Procesowej,

co stanowi potwierdzenie postawionej na wstępie tezy.

Część opisanych w tej rozprawie prac została przeprowadzona w ramach grantu pod

kierownictwem dr inż. Roberta Banasiaka. W grancie tym dane pomiarowe były pozyskiwane

z półprzemysłowej instalacji badawczej w Laboratorium Tomografii Procesowej Instytutu

Informatyki Stosowanej. Opracowany w ramach grantu „System trójwymiarowej elektrycznej

tomografii pojemnościowej dla potrzeb wyznaczania udziału faz oraz identyfikacji struktur w

przepływach typu gaz – ciecz w rurociągach poziomych i pionowych” został nagrodzony

licznymi nagrodami i wyróżnieniami, w tym między innymi:

• Złoty medal z wyróżnieniem na International Warsaw Invention Show IWIS 2012

• Nagroda za „międzynarodowe osiągnięcie wynalazcze” na XX Giełdzie Wynalazków w Warszawie 5-7 luty 2013

• Dyplom Ministra Nauki i Szkolnictwa Wyższego, Warszawa, luty 2013

30

Wyniki przedstawionych prac autor rozprawy publikował m.in. w czasopismach Przegląd

Elektrotechniczny, Image Processing & Communications, AUTOMATYKA oraz w książce

wydawnictwa Springer z serii Advances in Intelligent Systems and Computing. Postępy w

rozprawie były również regularne prezentowane na konferencjach naukowych o zasięgu

krajowym i międzynarodowym, m.in.: International Interdisciplinary PhD Workshop,

International Interdisciplinary Technical Conference of Young Scientists, XVII International

Conference on Information Technology Systems oraz Przetwarzanie i analiza sygnałów w

systemach wizji i sterowania.

6 Literatura  

1. (Apple, 2007) Apple (2007): Xgrid OS X Manual Page. (dokument elektroniczny). https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/xgrid.1.html.

2. (Avery i inni, 2001) Avery, P., Foster, I., Gardner, R., Newman, H., Szalay, A. (2001): An International Virtual-Data Grid Laboratory for Data Intensive Science. (dokument elektroniczny). http://www.griphyn.org.

3. (Banasiak i inni, 2009) Banasiak, R., Wajman, R., Betiuk, J., Soleimani, M. (2009): Feasibility study of dielectric permittivity inspection using a 3D capacitance CT method. NDT&E International, 42(4), Amsterdam, 2009, Elsevier, s. 316-322.

4. (Banasiak i inni, 2013) Banasiak, R., Wajman, R., Fidos, H., Jaworski, T., Fiderek, P., Kapusta, P., Majchrowicz, M., Sankowski, D. (2013): Fusion of three-dimensional electrical capacitance tomography and fuzzy logic inference for phases fraction and flow structures identification in horizontal and vertical gas-liquid flow pipelines. 7th World Congress on Industrial Process Tomography, Kraków, 2013, s. 818-827.

5. (Banasiak i inni, 2010) Banasiak, R., Wajman, R., Sankowski, D., Soleimani, M. (2010): Three-dimensional nonlinear inversion of electrical capacitance tomography data using a complete sensor model. Progress In Electromagnetics Research PIER, 100, Hong Kong, 2010, EMW Publishing, s. 219-234.

6. (Banasiak i inni, 2008) Banasiak, R., Wajman, R., Soleimani, M. (2008): System tomografu pojemnościowego do nieinwazyjnej trójwymiarowej wizualizacji czasu rzeczywistego. Zeszyty Naukowe AGH - Automatyka, Tom 12, Zeszyt 3, Kraków, 2008, Wydawnictwa AGH, s. 871 - 878.

7. (Carzaniga i inni, 1999a) Carzaniga, A., Rosenblum, D., Wolf, A. (1999a): Challenges for Distributed Event Services: Scalability vs. Expressiveness. Proceedings of the ICSE’99 Workshop on Engineering Distributed Objects (EDO’99), Los Angeles, CA, 1999a.

8. (Carzaniga i inni, 1999b) Carzaniga, A., Rosenblum, D., Wolf, A. (1999b): Interfaces and Algorithms for a Wide-Area Event Notification Service. Technical Report CU-CS-888-99, Department of Computer Science, University of Colorado.

9. (Casanova i inni, 2000) Casanova, H., Legrand, A., Zagorodnov, D., Berman, F. (2000): Heuristics for Scheduling Parameter Sweep Applications in Grid Environments.

31

Proceedings of the 9th Heterogeneous Computing Workshop (HCW’00), Waszyngton, 2000, IEEE Computer Society, s. 349–363.

10. (Chaniecki i inni, 2006) Chaniecki, Z., Dyakowski, T., Niedostatkiewicz, M., Dominik, S. (2006): Application of Electrical Capacitance Tomography for Bulk Solids Flow Analysis in Silos. Particle & Particle Systems Characterization, 23, 2006, s. 3-4.

11. (Chen i inni, 2002) Chen, Y., Katz, R., Kubiatowicz, J. (2002): Dynamic Replica Placement for Scalable Content Delivery. Proceedings of the First International Workshop on Peer-to-Peer Systems (IPTPS '01), Londyn, 2002, Springer-Verlag, s. 306-318.

12. (Chervenak i inni, 2000) Chervenak, A., Foster, I., Kesselman, C., Salisbury, C., Tuecke, S. (2000): The Data Grid: Towards and Architecture for the Distributed Management and Analysis of Large Scientific Data Sets. Journal of Network and Computer Applications, 23(3), Amsterdam, 2000, Elsevier Ltd, s. 187–200.

13. (Cugola i inni, 1998) Cugola, G., Di Nitto, E., Fuggetta, A. (1998): Exploiting an Event-Based Infrastructure to Develop Complex Distributed Systems. Proceedings of the 20th International Conference on Software Engineering (ICSE’98), Waszyngton, DC, 1998, IEEE Computer Society, s. 261-270.

14. (Czajkowski i inni, 2001) Czajkowski, K., Fitzgerald, S., Foster, I., Kesselman, C. (2001): Grid Information Services for Distributed Resource Sharing. Proceedings of the 10th IEEE International Symposium on High Performance Distributed Computing (HPDC-10), San Francisco, CA, 2001, IEEE Computer Society, s. 181-194.

15. (Czajkowski i inni, 2002) Czajkowski, K., Foster, I., Kesselman, C., Sanger, V., Tuecke, S. (2002): SNAP: A Protocol for Negociating Service Level Agreements and Coordinating Resource Management in Distributed Systems. Proceedings of the 8th Workshop on Job scheduling Strategies for Parallel Processing, 2537, Londyn, 2002, Springer-Verlag, s. 153-183.

16. (Fielding i inni, 1999) Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., Berners-Lee, T. (1999): Hypertext Transfer Protocol -- HTTP/1.1. Request For Comments (RFC), 1999, RFC Editor.

17. (Fitzgerald i inni, 1997) Fitzgerald, S., Foster, I., Kesselman, C., Laszewski, G.v., Smith, W., Tuecke, S.,. (1997): A Directory Service for Configuring High–Performance Distributed Computations. Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computing (HPDC-6), Waszyngton, DC, 1997, IEEE Computer Society, s. 365-375.

18. (Foster i Kesselman, 1999) Foster, I., Kesselman, C. (1999): The Grid: Blueprint for a New Computing Infrastructur. San Francisco, USA: Morgan Kaufmann Publishers, Inc.

19. (Grudzień i Romanowski, 2004) Grudzień, K., Romanowski, A. (2004): Wizualizacja i parametryzacja przepływu materiałów sypkich w hopperach. Zeszyty Naukowe AGH, 2004,.

20. (Grudzień i inni, 2006) Grudzień, K., Romanowski, A., Aykroyd, R.G., Williams, R.A. (2006): Advanced Statistical Analysis as a Novel Tool to Pneumatic Conveying Monitoring and Control Strategy Development. Particle & Particle Systems Characterization, 23, 2006, s. 289-296.

32

21. (Huang i inni, 1988) Huang, S.M., Plaskowski, A., Xie, C.G., Beck, M.S. (1988): Capacitance-based tomographic flow imaging system. Electronics Letters, 24 (7), 1988, s. 418–419.

22. (IEC 60027-2, 2005-08) IEC 60027-2 (2005-08): International Electrotechnical Commission, Letter symbols to be used in electrical technology. Part 2 Telecommunications and electronics, 2005-08, s. 1-141.

23. (Isaksen i inni, 1994) Isaksen, O., Dico, A.S., Hammer, E. (1994): A capacitance-based tomography system for interface measurement in separation vessels. Measurement Science and Technology, 1994, IOP Publishing Ltd, s. 1262-1271.

24. (ISO/IEC 80000-13, 2008) ISO/IEC 80000-13 (2008): International Organization for Standardization, International Electrotechnical Commission,Standards and projects under the direct responsibility of ISO/TC 12 Secretariat. Quantities and units -- Part 13: Information science and technology, 2008, s. 1-34.

25. (Jaworski i Dyakowski, 2001) Jaworski, A.J., Dyakowski, T. (2001): Application of electrical capacitance tomography for measurement of gas–solid flow characteristics in a pneumatic conveying system. Measurement Science and Technology, 12, 2001, IOP Publishing Ltd, s. 1109–1119.

26. (Jaworski i Dyakowski, 2005) Jaworski, A.J., Dyakowski, T. (2005): Measurement of oil-water separation dynamics in primary separation systems using distributed capacitance sensors. Flow Measurement and Instrumentation, 16, 2005, Elsevier, s. 113-127.

27. (Kamath i inni, 2013) Kamath, G., Lei, S., Wen-Zhan, S. (2013): Component-Average Based Distributed Seismic Tomography in Sensor Networks. Distributed Computing in Sensor Systems (DCOSS), 2013 IEEE International Conference on Distributed Computing in Sensor Systems, 2013, s. 88 - 95.

28. (Kapusta i inni, 2010) Kapusta, P., Banasiak, R., Sankowski, D. (2010): Efficient computation of linearized inverse problem for 3D electrical capacitance tomography using GPU and CUDA technology. XVII International Conference on Information Technology Systems, (dokument elektroniczny). Łódź, 2010, s. 1-18.

29. (Kapusta, Majchrowicz i inni, 2010) Kapusta, P., Majchrowicz , M., Banasiak, R. (2010): Trudności w rekonstrukcji obrazu w czasie rzeczywistym na podstawie danych uzyskanych z pomocą elektrycznej tomografii pojemnościowej w systemach równoległych i rozproszonych. Metody wytwarzania i zastosowania systemów czasu rzeczywistego, Warszawa, Wydawnictwo Komunikacji i Łączności Sp. z o.o., s. 309-320.

30. (Kapusta i Majchrowicz, 2010a) Kapusta, P., Majchrowicz, M. (2010a): Combining parallel and distributed computing on heterogeneous systems to accelerate image reconstruction in Electrical Capacitance Tomography. III International Interdisciplinary Technical Conference Of Young Scientists, Poznań, 2010a, Uczelniany Samorząd Doktorantów Politechniki Poznańskiej, s. 199-202.

31. (Kapusta, Majchrowicz i inni, 2011) Kapusta, P., Majchrowicz, M., Sankowski, D. (2011): Heterogeneous Multi-Node, Multi-GPU system for accelerating image reconstruction in 3D Electrical Capacitance Tomography. II Ogólnopolskie Seminarium "Forum Innowacji Młodych Badaczy", (dokument elektroniczny). Łódź, 2011, s. 1-4.

33

32. (Kapusta, Majchrowicz i inni, 2013a) Kapusta, P., Majchrowicz, M., Sankowski, D., Banasiak, R. (2013a): Application of GPU parallel computing for acceleration of Finite Element Method based 3D reconstruction algorithms in Electrical Capacitance Tomography. Image Processing & Communication,

33. (Li i inni, 2013) Li, Y., Yang, W., Xie, C.-g., Huang, S., Wu, Z., Tsamakis, D., Lenn, C. (2013): Gas/oil/water flow measurement by electrical capacitance tomography. Measurement Science and Technology, 12 24, 2013, IOP Publishing Ltd, s. 83 - 88.

34. (Müller i inni, 2005) Müller, T.O., Ruiter, N.V., Stotzka, R., Beller, M., Eppler, W., Gemmeke, H. (2005): Ultrasound Computer Tomography, Distributed Volume Reconstruction and GRID Computing. Bildverarbeitung für die Medizin 2005, 13. – 15., Heidelberg, 2005, Springer Berlin Heidelberg, s. 420-424.

35. (Majchrowicz i Kapusta, 2011a) Majchrowicz, M., Kapusta, P. (2011a): Accelerating Image reconstruction algorithms in Electrical Capacitance Tomography using Multi-GPU system. Advanced Numerical Modelling, International Interdisciplinary PhD Workshop, Warszawa, 2011a, Electrotechnical Institute, s. 47-49.

36. (Majchrowicz, Kapusta i inni, 2010a) Majchrowicz, M., Kapusta, P., Banasiak, R. (2010a): Applying parallel and distributed computing for image reconstruction in 3D Electrical Capacitance Tomography. Zeszyty Naukowe AGH - Automatyka, Tom 14, Zeszyt 3/2, Kraków, 2010a, Wydawnictwa AGH, s. 711-722.

37. (Majchrowicz, Kapusta i inni, 2010b) Majchrowicz, M., Kapusta, P., Sankowski, D. (2010b): Accelerating image reconstruction in Electrical Capacitance Tomography using OpenCL technology in heterogeneous systems. XVII International Conference on Information Technology Systems, (dokument elektroniczny). Polska, 2010b, s. 1-13.

38. (Majchrowicz, Kapusta i inni, 2012a) Majchrowicz, M., Kapusta, P., Wąs, Ł. (2012a): The examination of the speed of the PCA method using graphics cards and GPU Computing implementation of stabilization results factors in the method of principal components. II Wyjazdowa Sesja Naukowa Doktorantów Politechniki Łódzkiej, Rogów, 2012a, Politechnika Łódzka, s. s. 100-104.

39. (Majchrowicz, Kapusta i inni, 2012b) Majchrowicz, M., Kapusta, P., Wąs, Ł. (2012b): Przyspieszanie rekonstrukcji obrazu w elektrycznej tomografii pojemnościowej 3d z wykorzystaniem systemów multi-gpu. ICT Young 2012, Gdańsk, 2012b, Politechnika Gdańska, s. 1-5.

40. (Majchrowicz, Kapusta i inni, 2010c) Majchrowicz, M., Kapusta, P., Wąs, Ł. (2010c): Combining databases and parallel computing in distributed environments to accelerate image reconstruction and algorithm development in Electrical Capacitance Tomography. I Ogólnopolskie Seminarium "Forum Innowacji Młodych Badaczy", (dokument elektroniczny). Łódź, 2010c, s. 1-7.

41. (Matusiak, 2013) Matusiak, B. (2013): Algorytmy obliczeń równoległych z użyciem procesorów graficznych (GPU) do przetwarzania i wizualizacji danych pomiarowych z przemysłowych systemów tomograficznych. Łódź.

42. (Nawrocki, 2006) Nawrocki, W. (2006): Rozproszone Systemy Pomiarowe. Warszawa: Wydawnictwa Komunikacji i Łączności sp. z o.o.

34

43. (Olszewski i inni, 2006) Olszewski, T., Brzeski, P., Mirkowski, J., Plaskowski, A., Smolik, W., Szabatin, R. (2006): Modular Capacitance Tomograph. 4th International Symposium on Process Tomography in Warsaw, Warszawa, 2006, Politechnika Warszawska - Oficyna Wydawnicza, s. 151-156.

44. (Romanowski i Grudzień, 2004) Romanowski, A., Grudzień, K. (2004): Spatial and temporal modeling for electrical capacitance tomography. seminarium, 2004, University of Leeds.

45. (Romanowski i inni, 2006) Romanowski, A., Grudzień, K., Williams, R. (2006): Analysis and Interpretation of Hopper Flow Behaviour Using Electrical Capacitance Tomography. Particle & Particle Systems Characterization, 23, 2006, s. 297-305.

46. (Soleimani i Lionheart, 2005) Soleimani, M., Lionheart, W.R.B. (2005): Nonlinear image reconstruction in electrical capacitance tomography using experimental data. Measurement Science and Technology, 16, 2005, s. 1987–1996.

47. (Soleimani i inni, 2009) Soleimani, M., Mitchell, C.N., Banasiak, R., Wajman, R., Adler, A. (2009): Four-dimensional electrical capacitance tomography imaging using experimental data. Progress In Electromagnetics Research PIER, 90, Hong Kong, 2009, EMW Publishing, s. 171-186.

48. (Wajman i inni, 2006) Wajman, R., Banasiak, R., Mazurkiewicz, Ł., Dyakowski, T., Sankowski, D. (2006): Spatial imaging with 3D capacitance measurement. Measurement Science and Technology, 17, Bristol, 2006, IOP Publishing, s. 2113-2118.

49. (Yang i Peng, 2003) Yang, W., Peng, L. (2003): Image reconstruction algorithms for electrical capacitance tomography. Measurement Science and Technology, 14(1), Bristol, 2003, IOP Publishing, s. R1-R13.

50. (Zhijian i inni, 2010) Zhijian, L., Laurent, B., Banasiak, R., Sankowski, D. (2010): Effectiveness of rotatable sensor to improve image accuracy of ECT system. Flow Measurement And Instrumentation, 21, Amsterdam, 2010, Elsevier, s. 219-227.