INSTRUKCJA PRZYGOTOWANIA REFERATU NA OWD`2005

Transkrypt

INSTRUKCJA PRZYGOTOWANIA REFERATU NA OWD`2005
XIV International PhD Workshop
OWD 2012, 20–23 October 2012
WYKORZYSTANIE ZAAWANSOWANYCH SYSTEMÓW
INFORMATYCZNYCH NA PRZYKŁADZIE STEROWANIA
RUCHEM ULICZNYM
PREPARATION OF THE EFFECTIVE STRATEGY IN TRAFFIC
LIGHTS USING ADVANCE INFORMATIC SYSTEMS
Konrad Andrzej MARKOWSKI, Warsaw University of Technology
Abstract
Control of traffic in urban conditions is
nowadays very important element in connection with
dramatic increase of traffic in the cities. Preparation
of the effective strategy in traffic lights switching and
determination of alternative transport ways in the
case of collision or blockade demands more and
more working load and gathering of big amount of
information. In the paper is described basic
problems connected with building of data base and
using GPU computing to for this kind of problems.
Streszczenie
Gwałtownie rosnący ruch uliczny w miastach
powoduje, że zagadnienie sterowania ruchem
drogowym jest jednym z najważniejszych elementów
w inżynierii ruchu drogowego. Powstają coraz to
nowsze strategie ustalania przełączania świateł
drogowych i wyznaczanie alternatywnych dróg
transportu. Jednocześnie wymaga to coraz większych
nakładów pracy i gromadzenia znacznej ilości
informacji. W artykule zostaną omówione wybrane
zagadnienia związane z budową zaawansowanego
systemu bazodanowego, którego zadaniem będzie
rozwiązanie
podstawowych
problemów
pojawiających się w zagadnieniu sterowania ruchem
ulicznym oraz
zostanie pokazana możliwość
wykorzystania do tego celu obliczeń wykonywanych
na kartach graficznych GPU.
1. Wprowadzenie
Sterowanie ruchem drogowym z racji ilości
elementów z jakich się on składa (sygnalizacja, układ
świateł, ręcznie regulowane strumienie ruchu,
sensory i czujniki, itd. ) jest zadaniem o wysokim
stopniu złożoności [1]. Dodatkowo należy wziąć pod
uwagę, iż sygnalizacja powinna być skoordynowana
nie tylko w skali skrzyżowania ale również w skali
rejonu sterowania ruchem. W związku z tym
możemy powiedzieć, iż głównym celem efektywnego
sterowania powinno być oprogramowanie, które
pozwoli na opracowanie części obliczeń planów
świateł. Elementem tego oprogramowania jest: baza
danych zapewniająca przechowywanie bieżących i
historycznych danych pochodzących z systemu,
oprogramowanie inżynierskie, dzięki któremu będzie
możliwe
wykonywanie
złożonych
obliczeń
numerycznych z wykorzystaniem technologii kart
graficznych (GPU).
2. Systemy informatyczne
2.1 Bazy danych
Jednym z elementów systemu informatycznego
sterującego ruchem drogowym jest baza danych [7],
[8]. Głównym zadaniem bazy danych jest
gromadzenie danych historycznych oraz danych
bieżących pochodzących z systemu sterującego
ruchem ulicznym. Dodatkowo baza przechowuje
informacje na temat topologii skrzyżowań
wykorzystując w tym celu dane przestrzenne zgodne
ze standardem OpenGIS.
Na etapie koncepcyjnej pracy nad budową
fizycznego modelu danych prowadzone były
rozważania nad wyborem odpowiedniego systemu
zarządzania bazą danych. Rozważane były
następujące systemy: mySQL 5.5, Postgress 9.0,
Microsoft SQL Server 2008 oraz Oracle 11g.
Głównym czynnikiem decydującym o wyborze
systemu zarządzającego bazą danych było posiadanie
obsługi geometrycznych i geograficznych typów
danych. W pierwszym etapie poczynione zostały
próby porównania wyżej wymienionych systemów.
W ich wyniku, ze względów dużych wymagań
sprzętowych, został odrzucony system zarządzania
bazą danych Oracle 11g. Następnie w wyniku zbyt
dużych różnic w stosunku do standardu OpenGIS
odpadł
system
zarządzania
bazą
danych
521
Postgress 9.0. W kolejnym etapie ze względu na brak
zaawansowanych
mechanizmów,
ograniczone
możliwości programowania bazy danych oraz brak
dedykowanej platformy raportowania odpadł
mySQL 5.5. Zastawienie rozważanych systemów
zarządzania bazami danych pokazano w Tabeli 1.
Tab.1.
Systemy zarządzania bazą danych
mySQL
Postgrss
MS SQL
Oracle
Database ma nagement s ystem
Wieloplatformowość
+
-
-
+
Wymagania
sprzętowe
↓
↓
↓
↑
Standard OpenGIS
↑
↓
↑
↑
-
-
+
+
-
-
+
+
Mechanizmy
zaawansowane
Platforma
raportująca
Ostatecznie
dokonano
wyboru
systemu
zarządzania bazą danych Microsoft SQLServer
2008R2.
Więcej informacji na temat analizowanych
systemów zarządzania bazą danych można znaleźć w
pozycji: [13], [14], [15] oraz [16].
Jak zostało
już wspomniane jednym z
kluczowych elementów jakie były brane podczas
wyboru systemu są dane przestrzenne. Dane
przestrzenne to dane, które identyfikują geograficzne
lokalizacje i kształty w szczególności na kuli
ziemskiej. SQL Server 2008R2 udostępnia dwa
rodzaje danych przestrzennych [8], [16]:
 Dane geometryczne. W tym typie danych
obiekty umieszczone na płaskiej powierzchni
zdefiniowanej przez użytkownika. Typ
GEOMETRY służy do przechowywania i
obsługi danych w płaskim euklidesowym
układzie współrzędnych (tzw. układzie
płaskiej ziemi). Stosujemy go w sytuacji kiedy
krzywizna Ziemi nie ma znaczenia. Wybór
jednostki dla tego typu zależy od
użytkownika.
 Dane geograficzne. W tym typie danych
obiekty umieszczone na kuli ziemskiej. Typ
GEOGRAPHY umożliwia przechowywanie i
obsługę danych geograficznych w układzie
elipsoidalnym, w którym wykorzystywana jest
długość i szerokość geograficzna. Położenie
wszystkich
kształtów
geograficznych
określana jest za pomocą szerokości i
długości
geograficznej
mierzonej
w
stopniach, minutach i sekundach odległości
punktu od punktu zerowego.
Typ GEOMETRY i GEOGRAPHY są zgodne
ze specyfikacją stworzoną przez konsorcjum OGC.
Typy te są typami abstrakcyjnymi. Oznacza to, że
dokładny typ danych przestrzennych możemy
określić dopiero podczas tworzenie obiektu
geograficznego lub geometrycznego.
W SQL Server 2008R2 możemy utworzyć
następujące obiekty danych przestrzennych:
 POINT - reprezentuje punkt w przestrzeni
określony współrzędnymi X i Y.
 MULTIPOINT
reprezentuje
uporządkowany zbiór instancji typu POINT.
Zbiór może być pusty. Punkty nie są ze sobą
połączone
 LINESTRING
reprezentuje
uporządkowany zbiór instancji typu POINT.
Zbiór może być pusty jednakże jeżeli nie jest
pusty musi zawierać co najmniej dwa punkty.
Punkty połączone są ze sobą odcinkami.
 MULTILINESTRING - reprezentuje zbiór
zera lub więcej instancji typu LINESTRING.
 POLYGON - reprezentuje zbiór instancji
typu POINT będącymi wierzchołkami
wielokąta zewnętrznego oraz zera lub więcej
wielokątów wewnętrznych.
 MULTIPOLYGON - reprezentuje zbiór zera
lub więcej instancji typu POLYGON.
 GEOMETRYCOLLECTION - reprezentuje
zbiór zera lub więcej instancji dowolnych
typów obiektów wymienionych powyżej.
Dane przestrzenne są przechowywane w
serwerze jako duże obiekty binarne o wielkości do
2GB. Przy definiowaniu danych przestrzennych
można posłużyć się jednym z trzech formatów
określonych przez konsorcjum OGC [8]:
 Dane binarne zgodne ze standardem
WBK (ang. Well Known Binary). Do
definiowania danych przestrzennych w
postaci danych binarnych służą metody o
nazwach zbudowanych według szablonu
ST[typdanych]FromWBK, gdzie [typdanych]
to jeden z typów danych przestrzennych.
 Dane tekstowe zgodne ze standardem
WKT (ang. Well-Known Text). Do
definiowania danych przestrzennych w
postaci tekstowej służą metody o nazwach
zbudowanych
według
szablonu
ST[typdanych]FromText gdzie [typdanych]
to jeden z typów danych przestrzennych
 Dane XML zgodne ze standardem GML
(ang. Geography Marpup Language). Do
definiowania danych przestrzennych w
postaci XML służy metoda GeomFromGnl.
522
2.2 Obliczenia na procesorach GPU
Kolejnym elementem systemu informatycznego
sterującego ruchem drogowym jest moduł
obliczeniowy.
Ideą przewodnią dla technologii obliczeń na
GPU jest współpraca procesora centralnego (CPU) z
układem GPU w ramach środowiska obliczeniowego
o heterogenicznym modelu przetwarzania [9], [12].
Sekwencyjna część aplikacji wykonywana jest przez
układ CPU [6], [10], zaś za złożone obliczeniowo
fragmenty odpowiada układ GPU. Zatem z punktu
widzenia użytkownika aplikacja działa po prostu
szybciej,
ponieważ
dzięki
wykorzystaniu
wysokowydajnego
układu
GPU
wydajność
przetwarzania wzrasta.
Istnieje wiele różnych rodzajów oprogramowania
wspierającego nowoczesne metody obliczeniowe.
Najpopularniejszymi pakietami oprogramowania
inżynierskiego używanego do rozwiązywania
różnorodnych problemów technicznych są Matlab
[11] oraz Mathematica [17]. Cechą wspólną
wymienionego oprogramowania jest środowisko
obliczeniowe,
które
daje
możliwość:
przeprowadzania
obliczeń
matematycznych,
przeprowadzania analiz numerycznych, wizualizacji
otrzymanych wyników, tworzenie algorytmów i
programów. Ostatnio na popularności zyskuje
Parallel Computing Toolbox [11], który daje
możliwość:
wykorzystywania
do
obliczeń
maksymalnie do ośmiu rdzeni procesora CPU oraz
wykonywanie obliczeń bezpośrednio na procesorach
GPU. Zatem w połączeniu z serwerem uzyskujemy
potężne środowisko obliczeniowe wykorzystujące
zarówno procesory CPU jak również procesory
GPU.
Matlab ® Distributed
Computing Server
Parallel
Computing Toolbox
Parallel
Computing Toolbox
Parallel
Computing Toolbox
GPU
Tesla C2075
Procesor
AMD FX-8150
Rys.1. Rozproszone obliczenia numeryczne w matlabie
Fig.1. Using matlab for distributed numerical solutions .
Tak jak pokazano na Rysunku 1 wykorzystując
Matlab ® Distributed Computing Server możemy
zarządzać maksymalnie ośmioma maszynami z
zainstalowanym oprogramowaniem Matlab ®
Parallel Computing Toolbox, który jest w stanie
obsłużyć do ośmiu rdzeni CPU oraz cztery karty
graficzne typu nVidia [12]. Przykładowo używając
ośmiordzeniowego
procesora
CPU
typu
AMD FX-8150 oraz czterech kart graficznych typu
Tesla C2075 dostajemy potężną moc obliczeniową.
Zatem w maksymalnej konfiguracji rozwiązanie
pokazane na Rysunku 1 ma następująca moc
obliczeniową: 84 rdzenie jakie dają nam procesory
CPU oraz 32 karty graficzne wyposażone w 14 336
rdzeni CUDA.
W
skład
systemu
obliczeniowego
wykorzystywanego do rozwiązania postawionego
problemu
wchodzą
następujące
elementy:
523
oprogramowanie inżynierskie Matlab ® wraz z
dodatkiem Parallel Computing Toolbox oraz
dodatkiem Database Toolbox. System obliczeniowy
wykorzystuje do obliczeń nie tylko jednostkę CPU
ale również karty graficzne wyposażone w procesory
graficzne GPU. Łącznikiem pomiędzy bazą danych
MS SQL Server 2008 a oprogramowaniem Matlab na
którym wykonywane są obliczenia jest Database
Toolbox, który daje możliwość połączenia się z bazą
danych a następnie zaimportowania danych do
środowiska obliczeniowego oraz eksportu danych z
środowiska obliczeniowego do bazy danych.
W tym miejscu należy wspomnieć, iż
wykorzystanie oprogramowania inżynierskiego to nie
jedyny sposób oprogramowania kart graficznych.
Specjalnie dla nich powstały języki programowania
CUDA [3], [4] oraz OpenCL [5].
3. Sformułowanie problemu
Baza danych w swojej pierwotnej postaci
uwzględniała następujące założenia:
 Skrzyżowanie składa się z wielu pasów ruchu;

Na skrzyżowaniu znajduje się co najmniej
eden sygnalizator świetlny;
 Kontroler zarządza jednym lub wieloma
sygnalizatorami świetlnymi;
 Każdy kontroler zawiera co najmniej jeden
scenariusz;
 Na skrzyżowaniu znajduje się co najmniej
jeden detektor;
 Pomiędzy dwoma skrzyżowaniami mamy
ściśle określona odległość.
Przykładową sytuacje spełniająca powyższe
założenia pokazano na Rysunku 2.
System obliczeniowy w swojej pierwotnej postaci
będzie uwzględniał następujące założenia:
 Wyznaczanie nastaw czasów przełączania
sygnalizatorów świetlnych na podstawie
danych z detektorów oraz na podstawie
danych historycznych;
 Analiza zanieczyszczenia powietrza na
podstawie danych z stacji monitorujących;
 Analiza wpływu ruchu drogowego na poziom
zanieczyszczenia powietrza [2].
CROSSING 1
CROSSING 2
Sensors:
Sensors:
1. Inductive Loop
2. Broadcasting
2. Camera
1. Inductive loop
2. Camera
Algorithms:
SCENARIO 1
SCENARIO 2
SCENARIO 3
Algorithms:
SCENARIO 2
SCENARIO 4
SCENARIO 5
CONTROLLER
CONTROLLER
CONTROLLER
DISTANCE
Rys.2. Szkic problemu
Fig.2. Problem definition.
4. Przykładowe rozwiązanie
problemu

Biorąc pod uwagę założenia jakie zostały
postawione na system, możemy rozrysować
następującą
jego
topologię
co
pokazano
na Rysunku 3.
Rozwiązanie składa się z następujących
elementów:
 System zarządzania sygnalizacją w skład
którego wchodzą wszystkie urządzenia
wykorzystywane w procesie sterowania
sygnalizacją. W systemie tym sterownik
zbiera informacje z czujników znajdujących
się w obrębie jego strefy działania i w
524

paczkach za pomocą łącza internetowego
przesyła je do systemu komputerowego.
System monitorujący zanieczyszczenie
powietrza składa się z automatycznej stacji
monitorującej, która zbiera informacje na
temat zanieczyszczenia powietrza w danym
regionie. Informacje ze stacji w postaci
paczek danych przesyłane są do systemu
komputerowego
System komputerowy składa się z bazy
danych, w której zapisywane są informacje na
temat: sterowania ruchem ulicznym, topologii
skrzyżowania jak również na temat poziomu
zanieczyszczenia środowiska. Dane zebrane i
zapisywane w bazie są na trwale
System zarządzania sygnalizacją
System komputerowy
Serwer
DNS
Sygnalizacja świetlna
Serwer
Bazodanowy
(SQL Server 2008)
Serwer
Aplikacji
(Matlab®)
Serwer
plików
Przesyłanie i odbieranie danych z systemu
Kamera
Pętla
indukcyjna
Sterownik
Sieć Internet
System monitorujący zanieczyszczenie powietrza
Przesyłanie danych do systemu
Terminal
Terminal
Komputer
Stacja monitorująca powietrze
Użytkownicy systemu
Rys.3. Topologia systemu
Fig.3. System infrastructure.
System komputerowy
System zarządzania
sygnalizacją
Baza Danych
Matlab
Matlab Workspace
Parallel Cmputing Toolbox
System monitorujący
zanieczyszczenie
środowiska
Dane wyjściowe
z systemu monitorującego
zanieczyszczenie
powietrza
Dane wejściowe
Przesyłane do
bazy danych
Dane
Dane
Dane
Database Toolbox
Dane wyjściowe
z systemu zarządzania
sygnalizacją
Wyznaczone nastawy
przesyłane do systemu
zarządzania sygnalizacją
Nastawy
Dane wejściowe
Przesyłane do
bazy danych
Rys.4. System komputerowy
Fig.4. Computer systems
525
Uruchamianie skryptu
Obliczenia
Nastawy
Nastawy
Drukarka
przechowywane. Następnie przy użyciu
oprogramowania Matlab ® Database
Toolbox następuje łączenie z bazą danych i
pobranie danych do Matlaba gdzie za
pomocą Parallel Computing Toolbx są one
analizowane z użyciem jednostek CPU i
GPU. Analiza danych odbywa się w dwóch
obszarach. Pierwszy to wyznaczenia nowych
nastaw sterownika zarządzającego swoją
strefą. Drugi to wyznaczenie modelu
badający zależność pomiędzy natężeniem
ruchu a stężeniem zanieczyszczeń. Dzięki
temu modelu jesteśmy w stanie dobrać w taki
sposób nastawy sterowania ruchem ulicznym
żeby nie przekraczane były dopuszczalne
stężenia zanieczyszczeń. Dokładny schemat
systemu komputerowego pokazano na
Rysunku 4.

Użytkownicy systemu. Możemy podzielić
ich na dwie grupy. Pierwsza mająca
możliwość
ingerencji
w
system
(administratorzy
bazy
danych,
administratorzy sieci, programiści). Druga
grupa to osoby mogące poprzez interfejs
webowy oglądać statystki i raporty
5. Podsumowanie
Sterowanie ruchem drogowym z racji ilości
elementów z jakich się on składa jest zadaniem o
wysokim stopniu złożoności i wysokim stopniu
trudności. Chcąc osiągnąć najlepsze nastawy
sterowania
przy
dodatkowym
założeniu
odpowiednich wskaźników jakości powietrza
wymagane są szeregi obliczeń numerycznych. Tak
jak pokazaliśmy do tego celu możemy użyć
odpowiednio skonfigurowane i współdziałające
systemy
informatyczne
(bazy
danych,
oprogramowanie inżynierskie jak również karty
graficzne wyposażone w procesory GPU).
W dalszych badaniach ciekawa wydaje się próba
opracowania
algorytmów
grafowych,
które
odpowiednio zaprojektowane i zaimplementowane w
środowisku GPU powinny przyśpieszać proces
wyznaczania nastaw sterownika.
Podziękowania
„Badanie zrealizowano dzięki stypendium
naukowemu w ramach projektu pn. „Technologie
informacyjne: badania i ich interdyscyplinarne
zastosowania” współfinansowanego ze środków Unii
Europejskiej w ramach Europejskiego Funduszu
Społecznego, Program Operacyjny Kapitał Ludzki
(Umowa nr UDA-POKL.04.01.01-00-051/10-00)”
Literatura
1. Graca S., Suchorzewski W., Tracz M.: Inżynieria
ruchu drogowego, WKiŁ, Warszawa 2008
2. Badyda A.: Wpływ ruchu drogowego na poziom
zanieczyszczeń powietrza oraz ryzyko chorób układu
oddechowego, Modelowanie Inżynierskie, 37, pp. 1118, Gliwice 2009
3. Farber R.: CUDA Application Design and
Development, Elsevier, 2011
4. Sanders J., Kandrot E.: CUDA by Example,
Addison-Wesley, 2011
5. Gaster B.: Heterogeneous Computing with OpenCL,
Elsevier, 2011
6. Herlihy M., Shavit N.: The Art of Multiprocessor
Programming, Elsevier, 2008
7. Thomas M.C., Carolyn E.B.: Database Systems: A
Practical Approach to Design, Implementation and
Management,
Addison
Wesley
Publishing
Company, 2004
8. Garcia-Molina H., Ullman J.D., Widom J.:
Database Systems: The Complete Book, Prentice Hall,
2008
9. Sheppard A.: Programming GPUs, O'Reilly Media,
2012
10. Attaway S.: Matlab, Second Edition: A Practical
Introduction to Programming and Problem Solving,
Butterworth-Heinemann, 2011
11. http://www.mathworks.com – Dokumentacja
oprogramowania Matlab.
12. http://www.nvidia.com – Strona producenta kart
graficznych.
13. http://www.mysql.com/ - Strona producenta
MySQL
14. http://www.oracle.com/ - Strona producenta
Oracle
15. http://www.postgresql.org/ - Strona producenta
producenta Postgress
16. http://www.microsoft.com/sqlserver/en/us/def
ault.aspx - Strona producenta MS SQL Server
17. http://www.wolfram.com/ - Dokumentacja
oprogramowania Mathematica
Adres służbowy Autora:
dr inż. Konrad Andrzej MARKOWSKI
Politechnika Warszawska,
Wydział Elektryczny,
ISEP
ul. Koszykowa 75
00-662 Warszawa
tel. (022) 234 56 25
fax (022) 625 62 78
526
email: [email protected]

Podobne dokumenty