1993
S eria: IN F O R M A T Y K A z. 24 N r ko!. 1222
Stanislaw K O Z IE L SK I R obert T U T A JE W IC Z Rafał FA G A S
Jacek PIE C
ANALIZA MOŻLIWOŚCI I CELOWOŚCI
WYKORZYSTANIA SIECI KOMPUTEROWEJ DO RÓWNOLEGŁEJ REALIZACJI ZADAŃ
WYSZUKIWANIA DANYCH
S treszczen ie. W artykule rozpatrzono m ożliw ości rozpraszania obliczeń w sieci kom puterow ej w celu uzyskania przyspieszenia realizacji zadań w yszukiw ania danych.
P rzeanalizow ano przydatność typow ych języ k ó w zapytań do form ułow ania ro zp raszan y ch zadań. O m ów iono w yniki przeprow adzonych eksperym entów . P rzed staw io n o algorytm y optym alizujące proces rozpraszania.
ANALYSIS OF POSSIBILITY AND EXPEDIENCY OF UTILIZING COMPUTER NETWORK IN PARALLEL SOLVING OF DATA RETRIEVING PROBLEMS
S u m m a ry . Possibility o f com putation d istribution in a co m p u ter netw o rk for ob tain in g data retrieving acceleration is considered in the paper. U sefulness o f query languages to form ulation o f tasks being distributed is analized. R esults o f experim ents are discussed. A lgorithm s o f d istribution optim ization are presented.
P racę w y konano w ram ach g ran tu K BN n r 8 0269 91 01.
DIE ANALYSE DER MÖGLICHKEITEN UND ZWECKMÄßIGKEIT DER AUSNUTZUNG DES COMPUTER-NETZWERKES ZUR
PARALLELEN AUSFÜHRUNG DER DATENAUSSUCHAUFGABEN
Z u sam m en fassu n g . Im A rtikel w urden d ie M öglichkeiten d e r V erteilung d er B erechnungen im C o m p u ter-N etzw erk e rö rtert, die zum E rlangen d er B eschleunigung d e r A usfü h ru n g d e r D atenaussuchaufgaben dienen. D ie V erw en d b ark eit d e r typischen A b frag en sp rach en z u r F orm ulierung d er v erteilten A ufgaben w urde an aly siert. D ie E rg eb n isse d er d u rch g efü h rten V ersuche w urd en ausdiskutiert. D ie A lgorithm en zu r O ptim ierung des V erteilungsprozesses w urden vorgestellt.
1. Wstęp
C elem pracy je s t przedyskutow anie m ożliw ości i u w arunkow ań ro zpraszania zadań o b liczen io w y ch w lokalnej sieci kom puterow ej w celu uzyskania przyspieszenia realizacji złożonych p ro g ram ó w . Jako przykład czasochłonnych zad ań o bliczeniow ych w ybrano zag ad n ien ia w yszukiw ania w bazach danych.
Z ałóżm y w tym celu, że baza danych została zo rganizow ana na dysku serw era takiej sieci (rys. 1). W ko m p u terach - stacjach sieci realizow ane są p ro g ram y użytkow e odw ołujące się do bazy p o p rzez serw er, który m iędzy innym i pełni rolę zarządcy p lików , um ożliw iając dostęp do danych.
R ys. 1. O gólna ilustracja rozw ażanej sieci kom puterow ej F ig . 1. O utline view o f considered co m p u ter netw ork
35 Z ałóżm y dalej, że ogólną postać program u w yszukiw ania d anych m ożna przedstaw ić ja k o ciąg operacji O ,, 0 : , O , O n. Z w róćm y uw agę, że je ś li dla kolejnych o peracji O k.,, O k w ykonanie o p eracji Ot nie zależy od rezultatów i zakończenia operacji O k.,, to istnieje m ożliw ość rów noległej realizacji tych operacji. Jednym ze sposobów takiego w ykonania m ogłoby być u m ieszczenie fragm entu program u realizującego operację O k w w olnej w danej chw ili stacji sieci. O czyw iście, przejście do w ykonania kolejnej operacji O kłI m usiałoby być uw arunkow ane spraw dzeniem zakończenia operacji O k. G dyby jed n a k w ykonanie O k(., nie zależało od rezultatów O k.,, ani O k, to rów nież operacja O k^, m ogłaby być realizow ana rów nolegle do O k., o raz Ok w trzeciej stacji sieci.
Z realizo w an ie pow yższej koncepcji pow iązane je st m iędzy innym i z następującym i problem am i:
- W stępnym w aru n k iem realizow alności takiego podejścia je s t dostępność narzędzi p ro g ram o w y ch um ożliw iających przekazyw anie kom unikatów i p aram etrów do innych stacji, zdalne u rucham ianie program u w takich stacjach, a także synchronizow anie realizacji p ro g ram ó w w kilku stacjach. Do zrealizow ania tych operacji w ykorzystyw ano w trakcie eksperym entów prezentow anych w dalszej części niniejszej p racy bibliotekę p ro sty ch p ro g ram ó w [5], których sposób użycia om ów iono w punkcie 2 .2 .2 .
- P odstaw ow ym zagadnieniem dla zadań w yszukiw ania je s t w yjaśnienie, ja k ie g o rodzaju o p eracje kry ją się za sym bolam i O ,, 0 2, 0 3, O n. Z au w ażm y , że je ś li operacje Ok.,, O k lub Ok+1 będą operacjam i bardzo prostym i, to nakład pracy na rozpraszanie obliczeń przew yższy korzyści z rów noległej ich realizacji. D latego konieczne je s t rozpatrzenie w łaściw ej d la rozw ażanego zagadnienia form y zapisu zadań w yszukiw ania. W tym celu w p unkcie 2 przedstaw iona zostanie przeglądow a ch arakterystyka języ k ó w zapytań, w raz z oceną i.ch p rzy d atn o ści w rozw ażanym podejściu.
- O statnim z d y skutow anych zagadnień je s t niebezpieczeństw o przeciążen ia sieci. Jest to zw iązane ze specyfiką realizacji rozproszonych zadań w yszukiw ania. Z auw ażm y bow iem , że realizacja tych zadań będzie w ym agała w każdym p rzypadku transm isji danych z serw era do stacji realizujących te zadania. M oże w zw iązku z tym p o w stać obaw a, że zatłoczenie sieci zniw eluje w szelkie ew entualne korzyści w ynikające z rów noległej realizacji ro zp ro szo n y ch zadań. W pracy przedstaw iono rezultaty niektórych p rzep ro w a
d zo n y ch eksp ery m en tó w , uzasadniające celow ość w ykorzystania sieci kom puterow ej do rów noległej realizacji zadań w yszukiw ania danych.
2. Analiza własności języków zapytań pod kątem możliwości rozpraszania obliczeń w zadaniach wyszukiwania danych
D la relacyjnego m odelu danych opracow ano szereg ję z y k ó w m anipulow ania danym i oraz ję z y k ó w zapytań. T w orzą one kilka poziom ów abstrakcji. Poniżej p rzed staw io n a zostanie ch arak tery sty k a tych ję z y k ó w , ograniczona do zagadnień w yszukiw ania dan y ch (języki zapytań). Jej podstaw a je s t sposób form ułow ania zad ań w yszukiw ania d anych w przypadkach, kiedy pytania użytkow nika dotyczą kilku plików danych. W celu zilu stro w an ia ro zw ażań ro zpatrzym y p rzykładow ą bazę danych.
B a z a d a n y c h : P raco w n icy ( nazw isko, im ie, data, nrz, nrp) D ochody( n rp , nrt, kw ota )
T em aty( nrt, nazw a, kierow nik )
N iek tó re z nazw atrybutów (pól) oznaczają: data - datę u rodzenia p raco w n ik a, n rz - num er zespołu, w którym pracu je praco w n ik , nrp - num er (identyfikator) p raco w n ik a, n rt - num er (identyfikator) tem atu, nazw a - nazw ę tem atu. D ane w tych relacjach (plikach) dotyczą p racow ników pew nej instytucji, tem atów realizow anych w niej prac o raz sum arycznych do chodów uzyskanych przez pracow ników za realizację określo n y ch tem atów . Z akładać b ęd zie m y , że dany p racow nik m oże brać udział w realizacji kilku tem atów , zaś dany tem at m oże być realizow any przez w ielu pracow ników .
R ozpatrzm y z kolei dw a p ytania k ierow ane do tej bazy i sposób ich zapisu przy użyciu ró żn y ch języ k ó w zapytań.
P rz y k ła d y z a d a ń w y sz u k iw a n ia (p y ta ń d o b azy ):
P I ) Z najdź nazw iska p racow ników zespołu n r 5.
P 2) Z n ajd ź nazw iska p racow ników zespołu n r 5 , k tó ry ch kw oty w y p łat p rzekraczały 1000000. Podaj num ery tem atów o raz w ielkości ty ch kw ot.
2.1. Języki operujące na pojedynczych rekordach
W ykorzystując ję z y k tego poziom u (np. dB A SE, C lip p er, F oxB ase, B triev e), p ro g ram ista m usi "naw igow ać" w śród rekordów pliku, przeglądając je kolejno przy d ostępie sekw encyj
ny m lub w y bierając b ezpośrednio za pom ocą indeksu. P rz y operacjach na kilk u plikach p ro g ram ista m usi indyw idualnie kojarzyć rekordy ró żn y ch plików d o b ierając je przez p o ró w n an ie ok reślo n y ch pól.
R ozw iązania po w y ższy ch zadań bez u życia indeksów zilustrow ano na rys. 2 i 3 (program y zapisano w ję z y k u typu dB A SE):
P r a c o w n i c y
cu
CU
CU
c . c .
CU
nazw. .. nrz nrp
5
5
use p r a c o w n i
locate for nrz = 5 do w h i l e . n o t . e o f O
? n a z w i s k o cont i n u e
enddo close all
R ys. 2 . Ilustracja procesu w yszukiw ania danych w przykładzie P I F ig. 2. D ata retrieving process in exam ple P I
Dochody nrp nrt kwota
2
9
2
s e l e c t 2 u s e d o c h o d y s e l e c t 1 u s e p r a c o w n i
lo c a t e fo r n r z = 5 do w h i l e . n o t . e o f O
sel e c t 2
lo c a t e for nrp = p r a c o w n i ->nrp .and. k w o t a > 1 0 00000 do w h i l e . n o t . e o f O
? p r a c o w n i ~>nazwisko, nrt, k w ota c o n t i n u e
e n d d o se l e c t 1 c o n t i n u e e n d d o
c l o s e all
Rys. 3. Ilustracja procesu w yszukiw ania d anych w przy k ład zie P2 Fig. 3. D ata retrieving process in exam ple P2
2 .1 .1 . A n a liz a m ożliw ości r o z p r a s z a n ia
R ozpatrując m ożliw ość rozpraszania obliczeń dla zadań zapisanych w pow yższy sposób m ożna zauw ażyć, że w iększość o peracji w bardziej złożonych z ad an iach , to w zajem nie pow iązane odw ołania do w ielu plików . R zadkością je s t w ystąpienie ciągu takich o p eracji, że w ykonanie następnej nie zależy od w ykonania poprzedniej. O peracje te nie są przy tym w ystarczająco złożone, aby celow e było rozpraszanie ich w ykonania na kilka kom puterów .
Isto tn y m w yjątkiem w tych ro zw ażaniach m oże być p ro b lem indeksow ania. N a przykład dla przyspieszenia rozw iązania przykładu P 2 celow e b yłoby u życie indeksów zapew niających szybki dostęp do p lików . O peracje indeksow ania są zaw sze czasochłonne, stąd interesujące byłoby w ykonanie ich rów nolegle w kilku (w tym p rzypadku w dw óch) k o m p u terach .
T abela 1 R ezultaty rów noległej realizacji op eracji indeksow ania
Liczba kom puterów
C zas w ykonania wersji sekw encyjnej
C zas w ykonania wersji rów noległej
P rzyspieszenie
1 17 sek. 17.00 sek. 1 .0
2 34 sek. 20 .5 9 sek. 1.65
3 51 sek. 25.05 sek. 2.03
4 68 sek. 28.35 sek. 2.4 0
5 85 sek. 36.91 sek. 2.3 0
6 102 sek. 52.45 sek. 1.94
W celu sp raw dzenia m ożliw ości uzyskania p raktycznych rezultatów p rzeprow adzono następujące badania. N a dysku sieciow ym utw orzono 6 kopii plik u d an y ch . N astępnie
39 sześciokrotnie p o w tó rzo n o operację indeksow ania (język C lipper) tych kopii, zw iększając kolejno od 1 do 6 liczbę stacji sieci, które rów nolegle realizow ały operację indeksow ania.
O dnosząc czas trw an ia kolejnych eksperym entów do zw ielokrotnianej od 1 do 6 długości czasu p ierw szeg o indeksow ania (czas sekw encyjnej realizacji indeksow ania) określono w spółczynnik ch arak tery zu jący przyspieszenie uzyskane dzięki rów noległej realizacji indeksow ania.
E ksperym ent ten , po tw ierd zając celow ość rozpraszania indeksow ania, pokazał rów nocześ
nie istnienie p ew nego o p tim um , po przekroczeniu którego przyspieszenie uzyskiw ane dzięki zrów nolegleniu o b liczeń zaczyna m aleć z uw agi na zatłoczenie sieci.
2.2. Języki poziomu algebry relacji
N ajw ażniejszym i operacjam i d la języ k ó w tego poziom u są selekcja, projekcja i złączenie.
D efiniujem y je następująco:
N iech będą d an e relacje: r(R ), s(S), A € R, X S R S elekcja: uA_a(r) = r ’(R) = { t | t 6 r A t[A] = a } P rojekcja: irx(r) = r ” (X ) = { u | u = t[X] A t 6 r )
Z łączenie: r x s = q( R U S ) = { t | 3tr € r A 3ts € s A t(R] = tr A t[S] = t, A
%[ R D S ] = t,[ R D S ] }
Instrukcje ję z y k a tego poziom u (np. instrukcje C O PY i JO IN system ów dB A SE , C lipper, FoxB ase) u m o żliw iają op ero w an ie na całych plikach (relacjach), dając w efekcie now e pliki.
Pracownicy nazw. .. nrz nrp
5
5
wyniki := Trnal.llko( <r„„.s ( Pracownicy ))
Robocza Wynik
nazw. .. nrz nrp 5 5
nazwisko
R ys. 4 . Ilu stracja rozw iązania przykładu P I za pom ocą algebry relacji F ig . 4 . E xam ple P I solved using relational algebra
K luczow ą d la o p eracji na kilk u plikach je s t instrukcja złączenia, pozw alająca na autom a
tyczne sk o jarzen ie w szystkich odpow iadających sobie rekordów dw óch plików . R ozw iązania ro zw ażan y ch uprzednio przykładów przedstaw iają rysunki 4 i 5.
w y n ik 2 : —TTnajyigjęo.nrc,kwota i ^nrz-s a kwota>ioooooo ( P r a c o w n i c y D o c h o d y ) ) D o c h o d y nrp nrt kwot
2
9
2 P r a c o w n i c y
nazw. .. nrz nrp
5 2
5 9
^ n r z - 5 a kwota>1000000 ° ^ n a z w i s k o , n rt.kwota
n a z w i s k o nrt k w o t a
R ys. 5 . Ilustracja rozw iązania przykładu P 2 za p om ocą algebry relacji F ig . 5. E xam ple P2 solved using relational algebra
R ozw iązania pow yższe m ożna przedstaw ić w postaci następujących pro g ram ó w : ad PI) use pracowni
copy Co wynik for nrz = 5 fields nazwisko close all
ad P2) select 2
use dochody alias dd select 1
use pracowni
join with dd to wynik for nrp=dd->nrt .and. dd->kwota>l000000 ; .and. nrz=5 fields nazwisko, nrt, kwota
close all
2 .2 .1 . A n a liz a m o żliw o ści ro z p r a s z a n ia
P odstaw ow e o p eracje tego ję z y k a sa w ykonyw ane na całych relacjach (plik ach danych) i ich w ynikiem są now e relacje (pliki).
Z łożoność tych o p eracji je s t O (n) dla selekcji i projekcji oraz 0 ( m x n) dla złączenia, gdzie n i m są liczbam i rekordów w relacjach biorących udział w tych operacjach.
Przy takiej złożoności uzasadnione je s t w ięc rów nolegle w ykonyw anie obliczeń, o ile pozw oli na to b rak w zajem nych u w arunkow ań kolejnych operacji.
A by p rzean alizo w ać ten aspekt, zw róćm y uw agę na m ożliw e form y zapisu zadania w yszukiw ania. R ozw ażm y w ty m celu przykład następującego zadania:
"Podać nazw iska p racow ników Instytutu Inform atyki, którzy w ram ach tem atu "P rojekt dysku" otrzy m ali kw oty w ypłat w iększe od 2 000 000",
realizow anego w p o przednio zdefiniow anej bazie danych rozbudow anej o dw a pliki:
Instytuty( instytut, d y rektor)
Z espoły( n azw a_zesp, nrz, kierow nik_zesp).
N a p o czątk o w y m etapie analizy zadania tw orzone m oże być drzew o o postaci p rzed sta
w ionej na rys. 6. D rzew o to p rzedstaw ia je d n ą z kilku m ożliw ych d ró g o trzy m an ia rozw iązania.
Instytuty Zespoły Pracownicy Dochody Tematy
7
w l :=(instytut='Informatyki') w2:=(kwota > 2000000)
w 3 :=(nazwa='Projekt dysku')
wynik
R ys. 6. D rzew o obliczeń dla złożonego zadania w yszukiw ania F ig . 6. C o m p u tatio n tree fo r com plex data retrieving p roblem
P obieżna ocen a przed staw io n eg o rysunku pozw ala przedstaw ić następującą prop o zy cję rozproszenia obliczeń:
E tap 1: rów noległa realizacja operacji 1, 2 , 3 na trzech różnych stacjach sieci.
E tap 2: rów noległa realizacja 4 i 5 (lub 4 + 6 i 5).
E tap 3: sekw encyjna realizacja 6, 7, 8, przy czym 7 i 8 będą realizow ane w spólnie.
Z ro zw ażań tych w ynika w niosek, że analiza zadania w yszukiw ania na odpow iednio w czesnym etapie pozw ala o k reślić m ożliw ość rozproszenia obliczeń i w ykonanie ich rów nolegle.
Poniżej przedstaw iono eksperym ent, który uzasadnia celow ość prezentow anych rozw ażań.
O drębny punkt pracy (punkt 3) pośw ięcono nato m iast analizie różn y ch m ożliw ości rozproszonej realizacji sam ej operacji złączenia. Jest to uzasadnione dużą złożonością tej o peracji.
2 .2 .2 . O p is p rz e p ro w a d z o n e g o e k s p e r y m e n tu
W b adaniach w ykorzystyw ano d ane rzeczyw iste z bazy danych dziekanatu. N a w stępie zostanie w ięc krótko przedstaw iona organizacja sam ej bazy.
S tru k tu ra bazy
B aza ta składała się z kilkunastu p lików , z których je d n a k tylko część była w ykorzys
tyw ana. D latego też opis struktury tej bazy został ograniczony je d y n ie do plików używ anych w eksp ery m en tach . D la ułatw ienia zm ieniono także nieco nazw y plików ( rezygnując z o g ran iczen ia do 8 znaków w nazw ie ).
a) p lik S T U D E N C I: ro zm iar rekordu - 527 bajtów album - n um er album u studenta - 5 bajtów nazw isko - nazw isko studenta - 25 bajtów im ic - imie studenta - 25 bajtów
p o zo sta łe - pozostałe dane o studencie ( w rzeczyw istości w iele pó l, je d n a k nie znaczących d la dalszych ro z w a ż a ń ) 472 bajty.
b ) p lik S T Y PE N D IA : 62 bajty
album - num er album u studenta - 5 bajtów
rok - rok akadem icki, w którym p obrano stypendium - 5 bajtów m iesiąc - m iesiąc, za który pobrano stypendium - 2 bajty stypendium - rodzaj p o bieranego stypendium - 1 bajt
p o zo sta łe - pozostałe pola ( m nie znaczące ) - 4 9 bajtów c) p lik P R Z E D M IO T Y : rozm iar rekordu - 55 bajtów
p rzed m io t - sk ró t nazwy przedm iotu - 5 bajtów nazw a - p ełna nazw a przedm iotu - 50 bajtów d) p lik E G Z A M IN Y : ro zm iar rekordu - 37 bajtów album - num er album u studenta - 5 bajtów
ro k - ro k akadem icki, w którym student zdaw ał egzam in - 5 bajtów
43
przed m io t - sk ró t nazwy przedm iotu - 5 bajtów ocena - uzyskana ocena - 3 bajty
p o zo sta łe - pozostałe pola - 19 bajtów
e) p lik Z A L IC Z E N IA : rozm iar rekordu - 35 bajtów
W pliku tym w ystępują podobne pola ja k w pliku EG ZA M IN Y , z tq jedynie różnica, że pola po zo sta łe zajm uja 17 bajtów .
W badaniach używ ano dw u w ersji opisyw anej bazy, różniących się ilością rekordów w poszczególnych plikach.
S fo rm u ło w an ie zadania w yszukiw ania
Z ałó żm y , że naszym zadaniem będzie w yszukanie nazw isk w szystkich studentów p ob ierający ch w p aździerniku 1990 r. stypendium socjalne, którzy podczas ja k ieg o k o lw iek egzam inu uzyskali ocenę niedostateczną. W pliku w ynikow ym pow inny się zn aleźć obok nazw iska studenta także nazw y przedm iotów , z których uzyskał on ocenę negatyw ną na egzam inie.
R ozw iązanie zadania m ożna przedstaw ić za pom ocą o p erato ró w alg eb ry relacji w następujący sposób:
W r k l — '9 0 /9 1 ' A m ie s ią c » '1 0 ' A sty p en d iu m - 'S '( S t y p e n d i a ) )
W rk2 = Studenci x W rk l ) W rk3 =
nalbum .prlcdm iot(
< w , - - 2.0.( E gzam iny ) ) W rk4 = n ilb„m. ^ wa( W rk3 x P rzedm ioty ) W rk5 = W rk 2 x W rk4 )R ozw iązaniem zadania je s t zatem relacja W rk5, zaw ierająca nazw iska poszu k iw an y ch studentów . Z au w ażm y , że rozw iązanie to m ożna podzielić na trzy frag m en ty , przy czym dw a p ierw sze są w o g ó le niezależne od siebie. W yraźnie to w idać po przedstaw ieniu rozw iązania w postaci graficznej (rys. 7 ). P ierw szy fragm ent ( A ), to znalezienie stu d en tó w p o b ierają
cy ch w p aźd ziern ik u 1990 r. stypendium socjalne, dru g i ( B ) - w yszukanie stu d en tó w , którzy k iedykolw iek o trzy m ali na egzam inie ocenę niedostateczną (znajdują się oni w relacji W rk4).
O statni etap , to połączenie obydw u relacji (W rk2 i W rk4), w w yniku którego o trzy m u jem y interesujące nas dane.
U żyte n arzędzia i sprzęt
W celu realizacji eksperym entów posłużono się kom pilatorem C lip p er (w ersja Sum - m e r’87). P rzep ro w ad zo n o je w sieci N o v ell, przy średnim obciążeniu sieci, na ko m p u terach
Stypendia Studenci
rok-'90/91' miesiac“ ’10'
stypendium - 'S '
Przedmioty Egzaminy
W rkl
Wrk2 Wrk4
Wrk5
R ys. 7. D rzew o obliczeń dla p rzeprow adzonego eksperym entu F ig. 7. C om putation tree in executed experim ent
klasy PC z procesoram i 80386SX . W w iększości eksperym entów używ ano dw óch k o m p u teró w , różn iący ch się częstotliw ością zegara. P ierw szy, zw any dalej K l/1 6 , był taktow any zegarem o częstotliw ości 16 M H z, dru g i ( K 2 /1 8 ) nieco szybszy - 18 M H z.
K o m p u t e r g ł ó w n y S a t e l i t a
R ys. 8. Sposób synchronizacji m iędzy kom p u terem głów nym a satelitą F ig . 8. Synchronization betw een m ain co m p u ter and satellite
45
W eksp ery m en tach w ykorzystano pakiet kilku p rogram ów , um ożliw iający zdalne u ru ch a
m ianie p ro g ram ó w na kom puterach połączonych w sieć. Idea działan ia tego pakiem opiera się na w y ró żn ien iu je d n e g o kom putera w sieci jak o tzw . kom putera g łó w n eg o , ro zd zielają
cego zadania m iędzy pozostałe kom putery, zw ane dalej satelitam i. K o m p u ter głów ny w ysyła opis zadania (w postaci nazw y zadania oraz nazwy program u do uru ch o m ien ia w raz z ew entualnym i p aram etram i), które je s t następnie w ykonyw ane przez któryś z satelitów . T o, który z satelitów w y k o n a dane zadanie, je s t dla użytkow nika zupełnie p rzypadkow e. N ie m a m ożliw ości ja w n e g o w skazania danego satelity.
R ysunek 8 ilustruje sposób synchronizacji m iędzy kom puterem głów nym a satelitą. Na każdym k om puterze-satelicie urucham iany je s t p ro g ram , który oczekuje na zlecenia przekazyw ane w postaci opisu zadania z kom putera głów nego i w ykonuje je . O pis ten je st przesyłany do satelity za pom ocą program u Z A D A N IE . N astępnie satelita analizuje p rzekazany m u opis i w ykonuje zlecone zadanie. W tym czasie k o m p u ter głów ny może w ykonyw ać inne czynności i po pew nym czasie spraw dzić, czy w ykonyw anie zleconego zadania zostało zak o ń czo n e. S praw dzanie to realizuje p ro g ram C Z E K A J, w strzy m u jący pracę na kom p u terze g łó w n y m aż do m om entu zakończenia w ykonyw ania w szystkich, w skazanych p o p rzez nazw y, zadań.
W w iększości eksperym entów je d e n z kom puterów pełnił rolę k o m p u tera głów nego zarządzającego cało ścią i w ykonującego niektóre zadania, d rugi natom iast był satelitą. T akie rozw iązanie p o zw o liło w ym usić w ykonanie danego zadania na w skazanej m aszynie.
W yniki eksperym entów
P rzep ro w ad zo n o całą serię eksperym entów różniących się rozm ieszczeniem plików ( na dy sk u lokalnym b ąd ź d y sku serw era ) o raz rozm ieszczeniem podzadań na ko m p u terach . Ich w yniki zam ieszczono w poniższych tabelkach. P ierw sza z nich o b razu je w pływ różnego ro zm ieszczen ia plików z danym i na czas w ykonania p oszczególnych części zadania, d ru g a nato m iast w pływ rozm ieszczenia zad ań na poszczególnych ko m p u terach na tenże czas.
W w yniku przep ro w ad zo n y ch eksperym entów okazało się, że m ożliw e je s t d ość znaczne zm niejszenie czasu w ykonania zadań w yszukiw ania p o p rzez zró w n o leg len ie p oszczególnych części tych zadań. P rzy czym nie m a znaczenia lokalizacja plików na d y sku lokalnym czy też na sieciow ym ( oczyw iście przy założeniu, że p aram etry obydw u d y sk ó w są do siebie zbliżone i d y sk sieciow y nie je s t nadm iernie obciążony p rzez inne zadania; p o ró w n aj w yniki d la ek sp ery m en tó w 1, 2 i 3, 4 ). D uży w pływ na czas w ykonania całego zad an ia m oże m ieć natom iast u m iejętn e rozdzielenie podzadań pom iędzy kom putery o ró ż n y c h m ocach
T abela 2 A naliza w pływ u rozm ieszczenia d anych na czas rów noległej realizacji zadań
Operacja M niejsza baza W iększa baza
1 2 3 4 1 2
A 213 213 212 212 769 779
B 129 149 128 150 372 435
A i B 340 213 339 212 1143 780
( razem ) ( 100% ) ( 6 2.65% ) ( 100% ) ( 6 2 .5 4 % ) ( 100% ) ( 6 8 .2 4 % )
C 171 203 171 202 527 588
Cale 513 419 512 419 1670 1368
zadanie ( 100% ) ( 81.68% ) ( 100% ) ( 81.84% ) ( 100% ) ( 81 .92% >
1 - sekw encyjna w ersja rozw iązania, d an e na dysku serw era, 2 - w ersja rów noległa rozw iązania, dane na dysku serw era, 3 - w ersja sekw encyjna, dane na dysk u lokalnym
4 - w ersja ró w noległa, dane na dyskach lokalnych
T abela 3 A naliza w pływ u rozm ieszczenia zadań na czas ich rów noległej realizacji
Operacja
M niejsza baza W iększa baza
A t A2 A3 A4 A l A2 A4
A 320 323 385 392 1267 1289 1524
B 394 456 408 391 1417 1667 1421
A i B ( razem )
714 ( 100% )
462 ( 64 .7% )
408 ( 5 7 . 1 % )
402 ( 5 6 .3 % )
2687 ( 100% )
1667 (62.04% )
1524 (56.72% )
C 285 334 335 287 1424 1459 1344
Cale zadanie
995 ( 100% )
857 (86.13% )
742 (74.57% )
679 ( 68.24% )
4034 ( 100% )
3128 (77.54% )
2867 (71.07% )
A l - w ersja sekw encyjna rozw iązania, w szytkie pliki z danym i um ieszczone na dysku serw era ( p o d o b n ie ja k i w pozostałych przy p ad k ach ).
A2 - w ersja ró w n o leg ła, K 2 /I8 ( satelita ) w ykonał część A , części B i C w ykonał K l/1 6 . A3 - w ersja ró w n o leg ła, K2 w ykonał część B , K l/1 6 - części A i C.
A4 - w ersja ró w noległa, zadanie A w ykonał K l/1 6 , pozostałe ( B i C ) - K 2/18.
o b liczeniow ych. Z aleca się dążyć do teg o , aby czasy w ykonania poszczególnych podzadań, w y konyw anych jed n o cz eśn ie, ja k najm niej różniły się pom iędzy sobą.
A naliza m ożliw ości i celow ości w ykorzystania sieci kom puterow ej
2.3. Języki poziomu rachunku relacji
Podstaw y tych języ k ó w w yw odzą się z rachunku zdań. O gólną postać w y rażeń w tych językach zapisać m ożna jak o :
{ t | * ( t ) }
i zapis ten o znacza zb ió r krotek t spełniających form ułę ć>.
F orm uły i p o p rzedzające je atom y definiujem y następująco:
A tom y: r(R ), s(S) - relacje
- r(t), s(u) - 1, u są zm iennym i k ratk o w y m i w relacjach r i s, - t.A 6 u.B - A G R, B G S, 0 m a postać = , > . < , > = , < = , - t.A 9 a - a - stała.
Form uły:
- każdy atom je s t form ułą,
- ó i, ć>2 - form uły =» <j>l A <j>2, i V $ 2, - , ć>i - też form uły, - <j) - fo rm u ła =» (3t)((#>), (V t)(0) - też form uły.
Z apis zdefiniow anych u przednio p y tań przedstaw ia się w tej k onw encji następująco:
ad P I)
{t(nazw isko) I (3p)(P racow nicy(p)) A p .n r z = 5 A t.n a z w is k o = p .n a z w isk o } ad P2)
{x(nazw isk o ,n rt,k w o ta) I (3p)(P racow nicy(p)) A p .n r z = 5 A x .n azw isk o =
= p .n a z w is k o A (3d)(D ochody(d)) A p .n r p = d .n r p A x .n r t = d .n r t A A x .k w o ta = d .k w o ta A d .k w o ta > 1000000}
Z apis pytania w ję z y k a c h tego poziom u (np. SQ L) sprow adza się (zazw yczaj) do w skazania p o trzeb n y ch p lików , nazw w yszukiw anych d anych, o k reślen ia w y m ag an y ch cech tych dan y ch o raz w skazania pow iązań m iędzy w ykorzystyw anym i p lik am i. Są to języ k i nieproceduralne w stosunku d o ję z y k ó w algebry relacji, nie w ym agają b o w iem określania rodzaju ani kolejności o peracji w ykonyw anych na plikach danych.
Z definiow ane up rzed n io zadania zapiszem y w języ k u S Q L następująco:
ad Pl) select nazwisko from Pracownicy where nrz=5;
ad P2) select nazwisko, nrt, kwota from Pracownicy p, Dochody d
where p.nrz=5 and d.kwota>1000000 and p.nrp=d.nrp;
lub
select nazwisko from Pracownicy p where nrz=5 and nrp in
(select nrp from Dochody
where kwota>1000000) ;
2 .3 .1 . A n a liz a m ożliw ości ro z p r a s z a n ia
W ty m p rzy p ad k u całe zadanie w yszukiw ania zapisane je s t zazw yczaj ja k o je d n a operacja (instrukcja) ję z y k a zapytań. N a poziom ie sam ego języ k a (np. SQ L) brak w ięc podstaw do rozp raszan ia obliczeń.
P ozostaje natom iast p roblem interpretacji (lub kom pilacji) w yrażeń ję z y k a rachunku relacji.
Jednym ze stosow anych rozw iązań je s t bow iem kom pilacja do zapisu w ję z y k u algebry relacji i w tedy należy w rócić do ro zw ażań z punktu 2 .2 .1 .
2.4. Język poziomu relacji uniwersalnej
P rzy ty m podejściu cala baza danych traktow ana je s t ja k o je d e n plik (relacja) obejm ujący w szystkie p o la (atrybuty) danych. U żytkow nik nie m usi w ięc znać struktury poszczególnych plików ani p o w iązań m iędzy nim i - są o n e ustalane autom atycznie w edług identycznych nazw a try b u tó w z poszczególnych plików . S form ułow anie pytania ogranicza się w tedy do w skazania nazw w yszukiw anych danych (atrybutów ) oraz określenia cech, jak ie pow inny spełniać. Z apis pytania je s t w ięc uproszczony w stosunku do języ k ó w rachunku relacji, nie m a bo w iem potrzeb y w skazyw ania w ym aganych w rozw iązaniu plików d an y ch , ani też w aru n k ó w w iążących te pliki.
D la rozw ażan y ch p rzykładów otrzym am y:
U (n azw isk o , im ie, data, nrz, n rp , n rt, k w ota, nazw a, kierow nik) ad P I ) retriev e ( nazw isko ) w here nrz = 5;
ad P 2) retrie v e ( nazw isko, nrt, kw ota ) w here nrz = 5 and kw ota > 1000000;
C echą ch arak tery sty czn ą takiego ję z y k a je s t fakt, że użytkow nik przy zadaw aniu p y tań do b azy u ży w a je d y n ie nazw atrybutów , zaś system bazy d an y ch autom atycznie ok reśla relacje, w k tó ry ch te atry b u ty w ystępują o raz pow iązania pom iędzy relacjam i. T y m sam ym , z punktu w id zen ia u ży tk o w n ik a baza danych w id zian a je s t p o przez schem at relacji u niw ersalnej, który w istocie stanow i sum ę logiczną schem atów w szystkich relacji w ystępujących w bazie danych (tzn. z b ió r w szystkich atrybutów w ystępujących w bazie).
P odejście tak ie, pom ijając w szystkie opisane w literaturze [2, 4] problem y zw iązane z realizacją m o d elu , stanow i kapitalne ułatw ien ie dla użytkow nika, który form ułuje pytanie w sposób b ard zo prosty i (z punktu w idzenia inform acji podaw anych w trakcie form ułow ania py tan ia) bliski ję z y k o w i naturalnem u.
U podstaw m odelu relacji u niw ersalnej leży założenie, że system autom atycznie określa
zw iązki w ystępujące pom iędzy relacjam i, w yszukując pary atrybutów o identycznej nazw ie, należące do p oszczególnych relacji. D aje to podstaw ę do w yboru relacji n iezbędnych do rozw iązania zadania w yszukiw ania. N a relacjach tych w ykonyw ana je s t o p eracja złączenia w edług w aru n k u rów ności w spólnych atrybutów (rów nolączenie). T ak u tw o rzo n e w yrażenie poddaw ane je s t selekcji z w arunkam i określonym i w pytaniu oraz pro jek cji na atrybuty w yszukiw ane.
K luczow ym p ro b lem em , ze w zględu na używ ane algorytm y realizacji zadań w yszukiw ania, je st znalezienie m inim alnego zbioru relacji bazy danych, który zaw ierałby w szystkie atrybuty użyte w p y tan iu i um ożliw iałby w ykonanie złączenia relacji p o przez atry b u ty w spólne.
T y m s a m y m m o d e l re la c ji u n iw e rs a ln e j, ze sw ej n a tu r y , g w a r a n tu je , ż e z a d a n ie w y sz u k iw a n ia s p r o w a d z a się zaw sze d o re a liz a c ji sek w en cji ró w n o lą c z e ń u z u p e łn io n y c h o e w e n tu a ln e se le k c je o ra z rz u to w a n ia .
2 .4 .1 . A n a liz a m o żliw o ści r o z p r a s z a n ia
P odobnie ja k dla ję z y k a poziom u rachunku relacji problem interpretacji p y tań ję z y k a relacji u niw ersalnej m ożna sprow adzić do analizy w yrażeń algebry relacji. N ajbardziej złożonym czasow o zadaniem w tej klasie o peracji je s t w ykonanie złączenia d w ó ch relacji.
Jak w yjaśniono pow yżej, ty p o w y m i d la relacji uniw ersalnej są rów nolączenia, dlatego ich realizacji p ośw ięcim y dalej w ięcej uw agi.
P oniżej p rzed staw io n o ideę je d n e g o z licznych algorytm ów realizacji ró w nolączenia.
W ersja ta w ydaje się w ygodna, je ż e li w ziąć pod uw agę próbę zrów noleglenia o b liczeń w sposób opisany w dalszej części.
R ów nolączenie d w óch relacji przeb ieg a w sposób następujący:
- dla jed n ej z relacji buduje się indeks dla atrybutu, w edług którego m a przebiegać rów nolączenie
- dla k olejnych k ro tek drugiej relacji spraw dza się, czy indeks pierw szej z relacji zaw iera w artość o d p o w iad ającą w artości atry b u tu , w edług którego przebiega łączenie - jeże li tak, to ze znalezionej pary k ro te k tw orzy się krotkę relacji w ynikow ej, je ż e li n ie, to krotkę relacji drugiej się pom ija.
P ow stające w te n sposób kro tk i relacji w ynikow ej są gotow e do łączenia z kolejną relacją użytą w d an y m p ytaniu (rys. 9).
strumień kolejnych
krotek z relacji 2 indeks relacji 1
19 21
łączenie wskazanej krotki relacji 1 z bieżącą krotką relacji 2
w relacji 1 brak krotki dla złączeni, z bieżącą krotką z relacji 2
R ys 9. Id ea propo n o w an eg o algorytm u rów nołączenia (dla uproszczenia pokazano tylko w artości atrybutu, w edług którego następuje łączenie)
F ig . 9. Idea o f considered equ ijo in algorithm (only attributes involved in jo in in g are show n)
W pro p o n o w an y m rozw iązaniu zakłada się, że poszczególne rów nolączenia realizow ane są przez odd zieln e p ro ceso ry (w naszym p rzypadku stacje sieci lo k aln ej), a kolejne krotki relacji, po w stające w danej stacji w skutek łączenia, przekazyw ane są do kolejnej stacji n iezw ło czn ie po ich ’'w y p ro d u k o w an iu ". W ten sposób zrów nolegleniu podlega przede w szy stk im k osztow ny p roces tw orzenia plików indeksow ych, zaś przetw arzan ie kolejnych k ro tek nabiera c h arak teru przetw arzania potokow ego. Poszczególne stacje sieci pow inny,
oczyw iście, m ieć ró w n ież zdolność realizacji innych operacji relacyjnych, takich ja k selekcja, projekcja, sum ow anie, sortow anie, itd.
W ogó ln y m p rzypadku zakłada sie, że poszczególne stacje p rzy g o to w an e są do im plem entacji złożonych o p erato ró w , obsługujących w iele strum ieni w ejściow ych i g enerujących w iele strum ieni w yjściow ych krotek.
wej scie (1 )
wejście
( 2 )
1 F
1______ ________1
_ r ~ - * ~ L _
wyjście
(1)
wyjście
(2)
R ys. 10. O gólna postać w ęzła przetw arzania F ig . 10. G eneral view o f processing node
W ogólnym p rzy p ad k u , w celu rozproszenia obliczeń przy rozw iązyw aniu zadania w yszukiw ania w yrażonego w jęz y k u opartym na pojęciu relacji u niw ersalnej, w ygodnie je s t zdefiniow ać specjalizow any w ęzeł przetw arzania (rys. 11), k tóry w ykonuje złączenie k ro tek pochodzących z:
- sum arycznego strum ienia kro tek napływ ających do w ejść o num erach 2 do n, - strum ienia k ro tek napływ ających do w ejścia 1 poddanego w stępnej selekcji.
P ow stające w w yniku złączenia krotki rozsyłane są do w yjść w ęzła o num erach od 1 do m .
R ys. 11. P rzykładow a postać specjalizow anego w ęzła przetw arzan ia F ig. 11. E xam ple o f specialized processing node
D la p rostych zadań w yszukiw ania (brak zm iennych kratk o w y ch , acykliczna baza danych) m ożna użyć p rostszych postaci tego w ęzła, sprow adzających się do o p eracji selekcji, projekcji i rów nolączenia. N ależy jed n a k zauw ażyć, że w ogólnym p rzy p ad k u stosow anie postaci w ęzła przedstaw ionej pow yżej m a uzasadnienie.
R ys. 12. P ro ste w arianty w ęzła przetw arzania F ig . 12. Sim ple variants o f pro cessin node
W p rzy jęty m rozw iązaniu pro p o n u je się tak zdekom ponow ać zadanie w yszukiw ania w języ k u o p arty m na relacji u niw ersalnej, by w każdym w ykonyw anym rów nolączeniu je d e n ze strum ieni k ro tek w ejściow ych pochodził z relacji źródłow ej (ew . poddanej selekcji). P rzy takim pod ejściu realizacja opisanego w cześniej (punkt 2 .2 .2 ), p rzykładow ego zadania m ogłaby przeb ieg ać tak, ja k to p rzedstaw ia rys. 13.
selekcja
(X 1990)
węzeł 1
i selekcja
(ocena = 2)
rowno- łączenie
węzeł 2
równo- łączenie
węzeł 3
węzeł 4
rowno- łączenie
węzeł 5
projekcja (nazwisko, przedmiot)
węzeł 6
R ys. 13. N ow y w arian t realizacji zadania w yszukiw ania z punktu 2 .2 .2 F ig . 13. N ew variant o f data retrieving realization (p. 2 .2 .2 )
3. Realizacja rozproszonego łączenia plików baz danych w środowisku sieci lokalnej
P ośród o p erato ró w algebry relacji, złączenie je s t z pew nością najbardziej czasochłonne, a co za tym idzie, kłopotliw e w realizacji. M niej lub bardziej efektyw ny sposób im plem en
tacji złączenia decyduje o spraw ności całego system u zapytań. D latego też należy dołożyć w szelkich starań , aby złączenie odbyw ało się w sposób ja k najbardziej o ptym alny pod w zględem czasow ym .
W system ach jed n o stan o w isk o w y ch znaczące przyspieszenie w yko n y w an ia operacji złączenia otrzy m u jem y w łaściw ie jed y n ie p o przez uprzednie zaindeksow anie łączonych plików . R ozw iązanie to, oprócz pew nego narzutu czasow ego, nakłada b ard zo istotne ograniczenia na w y b ó r w arunku złączenia. D ow olność (gdyby je d n a k taką założyć) w doborze w arunku złączenia (a w ięc zarazem w form ułow aniu zapytań) w ym aga tw orzenia odpow iedniego, ch arakterystycznego dla zapytania indeksu b ezpośrednio p rzed każdym zapytaniem , co w prow adza bardzo znaczne opóźnienie czasow e lub u trzy m y w an ie osobnego indeksu dla każdego atrybutu w e w szystkich plikach, co z kolei opró cz og ro m n eg o narzutu czasow ego przy dopisyw aniu rekordu (gdy konieczne je s t uaktualnienie w szystkich indeksów ), w ym aga bardzo dużych przestrzeni pam ięci dyskow ej. D latego też system y jednostanow iskow e (jak np. dB ase, X trieve czy X Q L) przy w ykonyw aniu op eracji złączenia w ykorzystują zazw yczaj tylko ju ż istniejące w bazie danych indeksy i to tylko w tedy, gdy indeksow any atry b u t pełni w zapytaniu znaczącą rolę. G dy indeksu nie m a , system y te stosują trad y cy jn y , skrajnie nieefektyw ny czasow o alg o ry tm p rzeglądania całeg o p liku bazy danych w poszukiw aniu rekordów do połączenia.
P ew ną nadzieję na przyspieszenie operacji złączenia bez nakładania znaczących o g ran iczeń na form ułow anie zap y tań stw arzają system y przetw arzan ia rozp ro szo n eg o . P oniższe rozw ażania stanow ią próbę stw orzenia optym alnego algorytm u rozproszonego łączen ia dw óch plików w system ie o p arty m na klasycznej sieci lokalnej (np. N ovell N etW are). Sieć ta składa się ze stacji połączo n y ch ze sobą kablem sieciow ym o raz ze stacji w y ró żn io n ej, zarządzającej w spólnym i zasobam i sieci, nazyw anej dalej serw erem . D ane będące przed m io tem łączenia znajdują się na serw erze i składają z dw óch plików (relacji): pliku pierw szego i drugiego.
A lgorytm y będą zakładać, że rek o rd y pobierane są kolejno z pliku p ierw szeg o , a w arunek złączenia k ażdorazow o je s t spraw dzany dla każdego rek o rd u pliku d rugiego (p atrz rysunek 14).
3.1. W ariant pierwszy
P ierw szym , narzucającym się pom ysłem je st podział je d n e g o pliku p om iędzy w szystkie stacje w sieci, tak aby każda z nich zajm ow ała się łączeniem tylko pew nej je g o części (przy N stacjach, na każdą stację przypada 1/N pliku). K onfigurację tą ilustruje ry su n ek 15.
A oto algorytm d ziałan ia pro g ram u łączącego w postaci słownej:
A lgorytm łączenia plików P L IK I i PLIK 2 z w arunkiem W A RU N EK , w ykonyw any na M -tej z N stacji system u rozproszonego.
Zm ienna L przechow uje liczbę rekordów , ja k ą stacja m a połączyć Zm ienna N r p rzech o w u je num er aktualnie łączonego rekordu pliku P L IK I
agggBBiBigHiiggHi
ilip aa iag taS aia ip g p iliyiiijSg!laliB!Eai!liBl!!llliai
Plik pierwszy Plik drugi
Dla pojedynczego rekordu ' z pliku pierwszego sprawdzamy w arunek łączenia z każdym rekordem z pliku drugiego.
R ys. 14. Ilustracja idei łączenia bez w ykorzystania indeksów F ig . 14. Idea o f jo in w ithout indices
PO C Z Ą T E K
L : = Liczba rekordów w pliku P L IK I / N N r : = M * L
PO W TA R ZA J
Po b ierz re k o rd o num erze N r z pliku PL IK I
D L A W SZY STK IC H REK O R D Ó W z pliku PLDC2 W YKONAJ PO C Z Ą T E K
G dy rek o rd o num erze N r i rek o rd z pliku PLIK 2 spełniają W A RU N EK , w ykonaj łączenie tych rekordów i dopisz w ynik do pliku w ynikow ego
K O N IEC N r : = N r + 1 L : = L - I D O PÓ K I L > 0 K O N IEC
T eo rety czn ie taka realizacja pozw oliłaby na N -krotne zm niejszenie czasu w ykonyw ania złączen ia, ja k o że N k o m p u teró w p racow ałoby rów nolegle nad tym p roblem em . N iestety, je s t to tylko teo ria. W p rak ty ce w yżej w spom niany alg o ry tm w śro d o w isk u sieci lokalnej nie ty lk o nie daje oczekiw anej N -krotnej popraw y efektyw ności, ale w ręcz w p ew nych sytuacjach p o g arsza tą efek ty w n o ść. Jest to w ynik działan ia specyfiki środow iska sieci lokalnej. Jak ju ż w sp o m n ieliśm y , p liki będące przed m io tem łączenia znajdują się na serw erze. D latego też w szy stk ie żądania d o stęp u do ty ch p lik ó w m uszą być przez niego obsłużone. S erw er zaś je s t
55
stacja 1
Program łączący
stacja 2
Program łączący
stacja N
Program łączący
SERWER
Pliki pierwszy i drugi
Rys. 15. Ilustracja pierw szego algorytm u łączenia F ig. 15. F irst distributed jo in algorithm
kom puterem jed n o p ro ceso ro w y m i w efekcie w szystkie operacje dostępu do plików , dom inujące w n aszym algorytm ie, w ykonyw ane są przez niego sekw encyjnie. R ów nolegle w ykonyw ane są tylko bardzo krótkie instrukcje inkrem entacji, dek rem en tacji i spraw dzenia w arunku złączenia.
P o n ad to , ja k się okazuje, serw er nie je s t jed y n y m w ąskim gard łem takiej realizacji.
D rugim je s t kabel sieciow y i protokół dostępu do niego. C zy będzie to sieć z p rotokołem ryw alizacyjnym (E thernet) czy z protokołem o p arty m na p rzekazyw aniu u p raw n ien ia, zaw sze tylko je d n a stacja będzie m ogła zajm ow ać łącze. E fektem tego będzie jesz c z e m niejszy stopień ró w noległości w ykonyw anych operacji. D odatkow o, przy p ro to k o łach ryw alizacyj- nych, pow stanie p ew ien n arzu t czasow y zw iązany z dużą ilością kolizji, ja k ą tak a ilość stacji, intensyw nie korzystając z łącza, z pew nością w yw oła.
W ypada zatem o d rzucić przedstaw iony w yżej algorytm i zaprojektow ać inny, biorący pod uw agę specyfikę środow iska.
3.2. Wariant drugi
W ąskim i g ard łam i w w ykonaniu przedstaw ionego pow yżej algorytm u by ły se rw e r i łącza sieci, a w ięc w łaściw ie w szystko, co stanow i sieć lokalną. T o sam a sieć, je j ko n stru k cja i zasady działania uniem ożliw iły szybszą realizację algorytm u łączenia. N ic w tym dziw nego.
Sieć lokalna nie została skonstruow ana po to, aby ułatw iać przetw arzanie ro zp ro szo n e, ale aby um ożliw ić w ielu kom puterom dostęp do dzielonych zasobów . W ynika z tego nieco paradoksalny w n io sek , ż e aby uzyskać efektyw ne przetw arzanie rozproszone w sieci lokalnej, należy ja k najm niej z niej korzystać. M inim alizacji m uszą podlegać p rz e d e w szystkim odw ołania do serw era.
K łopot w tym , że w łaśnie na serw erze przechow yw ane są p liki, które nasz a lg o ry tm m a
połączyć. A by zm niejszyć ilość o dw ołań do serw era, należałoby stosow ne fragm enty jed n eg o i cały dru g i plik skopiow ać na dyski lokalne odpow iednich stacji i dopiero potem , ju ż napraw dę rów nolegle dokonać poszczególnych, cząstkow ych laczeń. O czyw iście, po w ykonaniu laczeń, należałoby w szystkie w yniki ow ych cząstkow ych łączeń scalić i um ieścić z p ow rotem na serw erze.
Już na pierw szy rzu t oka w idać, ja k ogrom ny narzut czasow y w prow adziłoby takie ro zw iązanie. P rzy g o to w an ie przetw arzania dla N stacji w ym agałoby przesłania całego pliku pierw szego (w N kaw ałkach, po je d n y m dla każdej stacji), N -krotnej transm isji przez sieć całego pliku d ru g ieg o i transm isji całego pliku w ynikow ego. Jest to je d n a k je d y n a idea, która g w aran tu je realna w spółbieżność poszczególnych części naszego łączenia. Spróbujm y zatem uw zględnić m ożliw ości sieci lokalnej i zoptym alizow ać przesy ł danych tak, aby m aksym alnie w ykorzystać niezależność poszczególnych stacji.
Pokażem y, że cała operacja złączenia, przy odpow iednio inteligentnym i św iadom ym specyfiki sieci podejściu do przesyłania rekordów , m oże w ym agać tylko jed n o k ro tn eg o p rzesłania pliku pierw szego, jed n o k ro tn eg o przesłania pliku drugiego i jed n o k ro tn eg o p rzesłania w yników . Jest to absolutnie konieczna i zarazem m inim alna liczba przesyłów . N asz algorytm zakładać będzie, że każda ze stacji posiada lokalny dysk zdolny pom ieścić cały plik dru g i.
Jak zatem w yglądać będzie algorytm działania każdej ze stacji biorących udział w rozproszonym łączeniu? Idea łączenia pozostaje taka, ja k w pom yśle pierw szym , tzn. każda z N stacji łączy 1/N rekordów pliku pierw szego z w szystkim i rekordam i pliku drugiego.
Z m ienia się natom iast sposób dostępu do tych p lików , czyli to, co zadecydow ało o o drzuceniu przez nas poprzedniego algorytm u.
W alg o ry tm ie pierw szym serw er spełniał rolę pasyw ną. Jego zadaniem było tylko udostępnianie p lik ó w żądającym stacjom . T eraz serw ero w i przydzielim y rolę aktyw ną - będzie o n d y strybuow ał odpow iednie rekordy do o dpow iednich stacji oraz zb ierał rekordy w ynikow e i dołączał je do pliku w ynikow ego. A by to uzyskać, konieczne je s t uruchom ienie na serw erze stosow nego procesu. Sieciow y system o peracyjny N ovell N etW are um ożliw ia n am zainstalow anie w łasnego oprog ram o w an ia na serw erze w postaci tzw . N etW are L oadable M odule (N L M ).
R ysunek 16 p rzedstaw ia ideę naszego pom ysłu. Jak w idać, każda ze stacji posiada na dysku lokalnym kopię pliku dru g ieg o , dzięk i czem u spraw dzanie w aru n k u złączenia z każdym je g o rek o rd em nie w ym aga żadnych transm isji przez łącza sieci. P ro g ram rozsyłający, działający na serw erze, p o b iera kolejne rekordy plik u pierw szego i rozsyła je do ocze
kujących na nie stacji. P ierw szy rekord trafia do stacji p ierw szej, drugi do d ru g iej, trzeci do trzeciej, N -ty d o N -tej, a rek o rd N + l trafia znow u do stacji pierw szej i ta k w kółko aż do w yczerp an ia w szystkich rek o rd ó w . K ażda ze stacji, po otrzym aniu rek o rd u , spraw dza dla niego w arunek łączenia z k ażdym rekordem lokalnej kopii plik u drugiego. Jeżeli w arunek je s t sp ełn io n y , stacja łączy te rekordy i w ysyła rezultaty z p o w ro tem do serw era, gdzie tw orzony je s t z nich plik w ynikow y.
M ilcząco założyliśm y, że kopie plik u drugiego znajdują się ju ż na dyskach lokalnych w szystkich stacji, a przecież w ykonanie takich kopii m usi zająć bardzo dużo czasu i co za tym idzie, znow u podw ażyć sensow ność rozproszonego łączenia. N a szczęście tak nie je st.
W szystkie rek o rd y pliku d rugiego m ożna bow iem rozesłać do stacji, w ykorzystując dostępny w sieciach lokalnych tryb transm isji zw any rozgłaszaniem (ang. bro ad cast), polegający na jed n o cz esn y m w ysłaniu inform acji do w szystkich stacji. R ozgłaszam y zatem kolejno w szystkie rekordy plik u d ru g ieg o , a czu w ające stacje rów nolegle budują z nich jeg o lokalne kopie. P rak ty czn ie nie tracim y przy tym czasu, ja k o że czas rozgłoszenia inform acji je st
stacja 1 stacja 2 stacja N
R ys. 16. A lg o ry tm łączenia uw zględniający specyfikę sieci lokalnej F ig . 16. Jo in algorithm optim ized fo r local area netw ork
porów nyw alny z czasem przesyłu inform acji. K om pletny alg o ry tm d ziałan ia pojedynczej stacji w yglądałby zatem następująco:
D rugi alg o ry tm łączenia plików P L IK I i PLIK 2 z warunkiem W A R U N EK , w ykonyw any na każdej z N stacji system u ro zproszonego.
PO C ZĄ T EK
D O PÓ K I serw er rozgłasza rek o rd y z PLIK2 O dbierz rek o rd pliku PLIK 2
D opisz odebrany rek o rd do lokalnej kopii pliku PLIK 2
PO W TA R ZA J
D O PÓ K I serw er p rzysyła rekordy z PL IK I O bierz rekord pliku PL IK I
D LA W SZY S TK IC H REK O RDÓ W z lokalnego pliku PLIK 2 W YKONAJ PO C Z Ą T E K
Gdy rek o rd z pliku P L IK I i rekord z lokalnego pliku PLIK 2 spełniają W A RU N EK , wykonaj łączenie tych rek o rd ó w , a rekord wynikowy wyślij do serw era
K O N IEC PO W TA R ZA J K O N IEC
N ato m iast alg o ry tm rozsyłania rekordów przez p ro g ram rozsyłający m iałby następujący wygląd:
A lgorytm rozsyłania plików P L IK I i P L IK 2, w ykonyw any na serw erze p rz e z p ro g ram rozsyłający.
PO C ZĄ T EK
D LA W SZY STK IC H rek o rd ó w z PLIK 2 R ozgłoś rek o rd pliku PLIK 2 PO W TA R ZA J
K : = Liczba rekordów w PL IK 1 S : = 1
L : = 1 DO PÓ K I K > = L
P o b ierz L-ty rek o rd pliku P L IK I W yślij go d o S-lej stacji
JEŚL I o d eb ran o ja k ie ś gotow e rek o rd y TO D ołącz gotow e rekordy do pliku w ynikow ego L : = L + 1
S : = S + 1
JE ŚL I S > N T O S : = 1 PO W TA R ZA J
K O N IEC
W p o w y ższy m a lg o ry tm ie m ożna, oczyw iście, w p ro w ad zić jesz c z e w iele m odyfikacji i u sp raw n ień polepszających je g o efektyw ność. W n astępnych p u nktach zap ro p o n u jem y parę z nich.
3.3. Wariant trzeci
P u n k tem w yjścia do analizy now ego w ariantu je s t odw rócenie sposobu w idzenia w ariantu po p rzed n ieg o . R ozw ażm y w ty m celu, co by b y ło , gdyby stacje nie bufo ro w ały całego pliku dru g ieg o , ty lk o o d p o w ied n ie, ro złączne je g o części, a rekordy pliku pierw szego byłyby rozgłaszane? A lgorytm w yglądałby w tedy następująco:
T rzeci alg o ry tm łączenia plików P L IK I i PL IK 2 z w arunkiem W A R U N EK , w ykonyw any na każdej z N stacji system u rozp ro szo n eg o .
PO C ZĄ T EK
D O PÓ K I serw er przysyła rek o rd y z PLIKŻ O bierz rek o rd pliku PLIK2
D opisz od eb ran y rek o rd do lokalnej kopii części pliku PL1K2
PO W TA R ZA J
D O PÓ K I serw er rozgłasza rekordy z PL IK I O bierz re k o rd pliku PL IK I
DLA W SZY STK IC H R EK O RDÓ W z lokalnej części pliku PLIK2 W YKONAJ
PO C Z Ą T E K
Gdy re k o rd z pliku PLIK 1 i rekord z lokalnej części pliku PLIK 2 spełniają W ARUNEK,' w ykonaj łączenie tych rekordów , a rekord w ynikow y w yślij do serw era
K O N IEC PO W TA R ZA J K O N IEC
N ato m iast algorytm rozsyłania rekordów przez program rozsyłający m iałby następujący w ygląd:
A lgorytm rozsyłania plików PL IK I i PLIK 2, w ykonyw any na serw erze p rzez program rozsyłający.
PO C ZĄ T EK
K : = Liczba rekordów w PLIK2 S : = I
L : = 1 DO PÓ K I K > = L
P obierz L-ty rek o rd pliku PL1K2 W yślij go do S-tej stacji L : = L + I
S : = S + 1
JE ŚL I S > N TO S : = I PO W TA R ZA J
D LA W SZY STK IC H rekordów z PL IK I R ozgłoś re k o rd pliku PL IK I
JE ŚL I o d eb ran o jak ieś gotow e rekordy TO D ołącz gotow e rekordy do pliku w ynikowego PO W TA R ZA J
K O N IEC
Czy taka m od y fik acja m a sens? O tóż tak. T o odw rócenie poprzedniego alg o ry tm u przynosi nam , ja k się okazuje, w szechstronne korzyści.
Po pierw sze, na dyskach lokalnych nie je s t ju ż buforow any cały plik d ru g i, a tylko je g o 1/N -ta. Z m n iejszy ły się w ięc w ym agania co do pojem ności d ysków lokalnych w e w szystkich stacjach sieci.
P o d ru g ie, łączenie otrzym anego rekordu nie w ym aga ju ż p rzeg ląd n ięcia całeg o pliku drugiego, a ty lk o je g o 1/N -tej.
Po trzecie, łączenie o dbyw a się teraz w sposób bardziej w spółbieżny. W p o przednim algorytm ie re k o rd y p lik u pierw szego dostarczane były stacjom sekw encyjnie - rekord pierw szy do stacji pierw szej, re k o rd d m g i do drugiej itd. S tacje, które w ykonały ju ż łączenie otrzym anego re k o rd u , były bezczynne do chw ili, w której otrzym ały rek o rd następny.
W yw oływ ało to ciekaw y efekt: zw iększanie ilości stacji biorących ud ział w łączeniu nie popraw iało w sposób znaczący efektyw ności. P o prostu im w ięcej stacji, ty m dłużej trw ały ow e o kresy b ezczynności. W now ym algorytm ie zw iększenie ilości stacji zm n iejsza ro zm iar lokalnej części p liku d rugiego w każdej stacji (a co za tym idzie, czas je j p rzeszu k iw an ia), a rek o rd y p lik u pierw szego są rozgłaszane, w ięc żadna ze stacji nie stoi b ezczynnie.
P ew ien p ro b lem m oże stw orzyć duża ilość kolizji na łączu, gdy w szystkie stacje rów nocześnie zech cą w ysyłać w yniki sw ojego działania. M ożna tem u zaradzić w p row adzając now e m ech a n izm y , synchronizujące w ysyłanie gotow ych rekordów do serw era.
3.4. Zmodyfikowany wariant trzeci
W e w stęp ie do tego p unktu w spom nieliśm y o zastosow aniu indeksów p rzy w ykonyw aniu złączenia, od rzu cając tę ideę ja k o ograniczającą form ułow anie w aru n k u złączen ia lub w prow adzającą o grom ne n arzuty czasow e. Z auw ażm y je d n a k , że o ile p rzy złączeniu trad y cy jn y m , k ażd o razo w e budow anie indeksu je s t niczym innym , ja k ty lk o m arn o tra w stw em
czasu, o ty le przy złączeniu rozproszonym m o że on o przynieść d o d atk o w e, pozytyw ne efekty.
Z w ró ćm y uw ag ę na sposób, w ja k i w naszym alg o ry tm ie rozsy łan e są rekordy pliku dru g ieg o . S tacja, któ ra o trzy m ała taki rek o rd , m usi go ty lk o dopisać d o lokalnej części kopii p liku d ru g ieg o . P o tej operacji m a jeszcze sporo w olnego czasu dla sieb ie, tym w ięcej, im w ięcej stacji bierze udział w łączeniu, poniew aż rek o rd y są w ysyłane k o lejn o do w szystkich stacji.
T en w olny (czyli w rezultacie stracony) czas stacji m ożna w ykorzystać w łaśnie na budow anie cząstkow ych indeksów pliku drugiego na dyskach lokalnych. Indeksy te byłyby następnie w ykorzystyw ane podczas spraw dzania w aru n k u złączenia d la n ad sy łan y ch z serw era rekordów plik u p ierw szego. R ozw iązanie takie kapitalnie przy sp ieszy ło b y w yszukiw anie rekordów do łączenia, czyli najbardziej kosztow ną, je ż e li chodzi o czas, część łączenia.
N iestety , m odyfikacja ta zw iększa zapotrzebow anie na p rzestrzeń na lokalnych dyskach stacji, ja k o że oprócz bu fo ro w an y ch rekordów plik u dru g ieg o , przech o w y w an o by na nich rów nież stru k tu ry indeksów . O graniczenie to m ożna, oczyw iście, om inąć p o zw alając, aby w sytuacji b rak u m iejsca na dysku lokalnym , stacja kontynuow ała pracę korzystając z dysku sieciow ego. Spow oduje to jed n a k ż e obniżenie efektyw ności całego system u z p rzy czy n podanych na początku tego punktu.
4. Zakończenie
W p racy przedstaw iono analizę m ożliw ości w ykorzystania sieci kom puterow ej do zró w n o leg len ia obliczeń w zadaniach w yszukiw ania danych.
P rzed y sk u to w an o p rzydatność różnych klas ję z y k ó w zapytań do zapisu zadań w yszu
kiw ania w fo rm ie um ożliw iającej rozpraszanie. W skazano na algebrę relacji ja k o poziom zapisu zad ań szczególnie przydatny do tych celów .
P rzed staw io n o w yniki p raktycznych b adań dotyczących rów noległego w yszukiw ania w w ybranej b azie danych, p rzeprow adzonych w sieci N ovell N etW are 3 .1 1 , p o tw ierdzających m ożliw ość uzyskania w yraźnych oszczędności czasow ych.
W p racy przedstaw iono rów nież projekt rozproszonej realizacji w yszukiw ania d la m odelu tzw . relacji u niw ersalnej. Szczególną uw agę zw rócono przy tym na analizę m ożliw ości rów noległej realizacji o peracji złączenia, kluczow ej w relacyjnym m odelu danych.
LITERATURA
[1] K o rth H .F ., K uper G .M ., F eigenbaum J ., van G eld er A ., U llm an J .D .: S ystem /U : A D atabase System Based on the U niversal R elation A ssum ption. A C M T O D S , 9, 3, 1984.
[2] K ozielski S ., Piec I . , G rzyw ocz J.: System w yszukiw ania danych oparty na m odelu relacji u niw ersalnej, A rchiw um Inform atyki T eoretycznej i S tosow anej, 1993, (w dru k u ),
[3] U llm an J .D .: P rinciples o f D atabase System s. C o m p u ter S cience P ress, R ockville, 1983. P o lsk ie w ydanie: System y baz danych. W N T . W arszaw a 1988.
[4] U llm an J .D .: D atabase and K now ledge-B ase System s. C o m p u ter Science P ress, R ockville 1989.
[5] W ilk A .: W ykorzystanie sieci N etW are firm y N ovell do tw orzenia oprogram ow ania w spółbieżnego na przykładzie im plem entacji rów noległego alg o ry tm u rozw iązania
61 u p roszczonego problem u H ilberta, G liw ice 1990 (opracow anie niepublikow ane).
R ecenzent: D r inż. A ndrzej W ilk W płynęło do redakcji 2 7 .0 9 .1 9 9 3 r.
A b s tra c t
Several possibilities o f distributed data retrieving in local area netw orks are p resented in the paper.
Section I presents problem s encountered and conditions that m ust be m et fo r distributed database processing to m ake it ru n significantly faster than in single co m p u ter environm ent.
Section 2 divides existing query languages into several classes and considers their efficiency in d istrib u ted processing. M ethods o f d istrib u tio n and exam ples illustrating efficiency are p resented for every class.
M odel o f d istrib u ted database processing com posed w ith processing nodes and record stream s, connecting these nodes is considered in the next section.
Possibilities o f d istributed jo in in g in local area n etw orks are given in the last section.
A uthors presen t three algorithm s evolving from single co m p u ter en v iro n m en t to LAN environm ent to utilize specific netw ork possibilities and to avoid bottelnecks such as server or link overflow s.