• Nie Znaleziono Wyników

Analiza możliwości i celowości wykorzystania sieci komputerowej do równoległej realizacji zadań wyszukiwania danych

N/A
N/A
Protected

Academic year: 2022

Share "Analiza możliwości i celowości wykorzystania sieci komputerowej do równoległej realizacji zadań wyszukiwania danych"

Copied!
29
0
0

Pełen tekst

(1)

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.

(2)

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

(3)

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.

(4)

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.

(5)

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

(6)

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

(7)

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.

(8)

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

(9)

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ń:

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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ą.

(15)

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

(16)

(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

(17)

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).

(18)

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,

(19)

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.

(20)

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 )

(21)

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

(22)

agggBBiBigHiiggHi

ilip aa iag taS aia ip g p i

liyiiijSg!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

(23)

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

(24)

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

(25)

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:

(26)

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

(27)

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

(28)

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

(29)

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.

Cytaty

Powiązane dokumenty

Na podstawie zapo- trzebowania na ciepło obliczonego w oparciu o zużycie ciepłej wody na osobę, da- nych z pomiarów zużycia ciepłej wody oraz pomiarów dostarczonego ciepła

Udział eksperta wydaje się nieodzowny już na etapie przygotowania danych, a w szczególności, w ramach przedsięwzięć czyszczenia danych (uzupełniania brakujących

are mainly caused by hand luggage storage (Coppens et al., 2018), while passengers sitting in the wrong seat can cause seat interferences. Therefore, the goal of this study is

Za­ danie tym trudniejsze, że zajęcie się powieścią nowoczesną zazwyczaj zakłada z góry konieczność odpowiedzi na pytanie, co to jest powieść i czym się

Do pierwszej grupy należą pieśni i modlitwy wykorzystujące jako punkt wyjścia hymn Vexilla regis prodeunt (najczęściej dwie jego strofy: „O crux, ave, spes unica...” oraz

Firstly, I shall argue that the advertisement con- structs the millennium as a predominantly British affair and it is predominantly the British perspective that is used in

Abstract: In the middle of the winter period of 2003/2004 the authors carried out synchronous measurements of the thickness of the ice cover, snow cover and the vertical

Znacznie mniej miejsca w literaturze poświęca się dyskusji nad adekwatnością składników stereotypów stojących u podstaw dyskryminacji (awersja do ryzyka, skłonność