• Nie Znaleziono Wyników

Obliczenia równoległe w sieci lokalnej

N/A
N/A
Protected

Academic year: 2022

Share "Obliczenia równoległe w sieci lokalnej"

Copied!
11
0
0

Pełen tekst

(1)

Z E S Z Y T Y N A U K O W E P O LITE C H N IK I ŚLĄSK IEJ Seria: IN FO R M A T Y K A z.24

1993 N r kol. 1222

H enryk K RA W C ZY K

OBLICZENIA RÓWNOLEGŁE W SIECI LOKALNEJ

Streszczenie. W pracy zaproponow ano środow isko um ożliw iające w ykonyw anie i urucham ianie program ów rów noległych w sieci LAN . Jego im plem entacja została w ykonana w języku C dla kom puterów klasy IBM X T /A T w ykorzystujących em ulator sieciow y N E T B IO S i w spółpracujących za p om ocą połączeń typu Ethernet.

PARALLEL COMPUTATIONS ON A LOCAL AREA NETWORK

Sum m ary. T he p aper presents the description o f a set o f extra functions supporting parallel com putations on local area netw orks. T hese functions w ere im plem ented in C language and can be executed on personal com p u ters (IB M X T /A T ) th a t are equipped w ith the N ET B IO S em ulator and th a t com m unicate by a E th ern et links.

PARALLELVERARBEITUNG IM LOKALEN NETZ

Zusam m enfassung. D ie A rbeit enthält einen V orschlag des E nvironm ents, in dem parallele P rogram m e in LA N -N etze ausgefuhrt w erden können. D as E nvironm ent w urde fur u n ter M S-D O S betriebene R echner, die N etzsystem em ulator N E T B IO S verw enden und mit E thernet verbindet w urden, in C -Sprache geschrieben.

(2)

1. W prow adzenie

W przetw arzaniu rów noległym , w przeciw ieństw ie do przetw arzania sekw encyjnego, próbuje się w ykonać jednocześnie kilku kroków algorytm u [7], T o prow adzi do redukcji czasu w y k o n an ia całego algorytm u, co tym samym zw iększa efektyw ność pracy system u kom pu tero w eg o [3], R ów noległość m oże być im plem entow ana na różnych poziom ach;

od o pracow ania algorytm u, jeg o kodow ania, do w ykonania na odpow iednim system ie kom puterow ym . A ktualnie, naw et w kom puterach osobistych (IB M 586) ró w noległość jest w p ro w ad zan a na etapie w ykonyw ania instrukcji. P oza tym pojaw iło się w iele kom pilatorów um ożliw iających przekształcanie kodu program u sekw encyjnego na w ynikow y kod rów noległy akceptow alny przez danego typu architekturę rów noległą. W przyszłości m ożna oczekiw ać pow szechnego zastosow ania całkow icie now ych, obiektow ych i w ieloprocesorow ych języków program ow ania, ukierunkow anych na przyjazny zapis i im plem entację algorytm ów rów noległych oraz now ych rozw iązań sprzętow ych (np.

transputery) [4],

W niniejszej pracy przedstaw iono koncepcję i podjęto próbę realizacji środow iska, w którym m o żn a byłoby w sposób prosty urucham iać program y rów noległe. P rzez środow isko należy rozum ieć bibliotekę funkcji um ożliw iających uzyskanie m echanizm ów zapew niających w ykonanie algorytm ów rów noległych zapisanych w języ k u zrozum iałym dla tego środow iska z m inim alną interw encją operatora. W ykonano dw a różne w arianty im plem entacji [2,6] w ykorzystujące funkcje N etbiosa [8] o raz sieci D -link. Z ebrane dośw iadczenia są w ykorzystyw ane przy budow ie środow iska rów noległego w sieci pracującej pod system em U N IX , gdzie jak o w ęzły sieci w ykorzystane są kom putery Sun Sparc.

2. P odstaw ow e założenia projektowe

D o ty c z ą o n e architektury system u rów noległego, typu przetw arzanych algorytm ów o raz sposobu zarządzania przetw arzaniem . Sieć LA N stanow i zb ió r system ów kom puterow ych o raz innych urządzeń do przetw arzania, zapam iętyw ania, w prow adzania i w yprow adzania inform acji w postaci cyfrowej, rozm ieszczonych na ograniczonym obszarze, połączonych ze so b ą za p o m o c ą środków sprzętow ych i program ow ych w sposób zapew niający szybką w ym ianę inform acji. N ajpow szechniejszym ich zastosow aniem je s t łączenie m iędzy sobą skom puteryzow anych stanow isk pracy. U możliwia to korzystanie ze w spólnej bazy danych, w ym ianę po czty elektronicznej, łączenie cząstkow ych prac w w iększe całości. Sieci lokalne p ozw alają też zredukow ać liczbę drogich urządzeń peryferyjnych: drukarek laserow ych, ploterów , urządzeń do digitalizacji, pamięci masowych. G dy pojaw ią się w ym agania na d użą m oc obliczeniow ą, to sieć lokalna posiadajaca pew ne do d atk o w e m echanizm y w spółpracy

(3)

O bliczenia rów noległe w sieci lokalnej 23 m oże być skonfigurow ana do systemu rów noległego. Stąd istotne staje się przebadanie zdolności funkcjonow ania sieci w dw óch trybach pracy: rozproszonym i rów noległym [1], P oniew aż sieci ró żn ią się technologią w ykonania (typ procesora, rodzaj p ołączeń), rodzajam i konfiguracji (stru k tu ra połączeń, rodzaj dostępu), a także strategią adm inistrow ania (funkcje system u zarządzającego, dostępne możliwości dla użytkow nika), zadanie takie jest niebanalne. Isto tn e je st też, czy realizow ane zadanie zaw iera niezależne procedury, które m o g ą być w ykonyw ane w tym samym czasie. Z akłada się, że ich identyfikacja należy do program isty. W ów czas obliczenia rów noległe sprow adzają się do odpow iedniego zarządzania w ykonaniem takich niezależnych procedur. Przykładem tego m oże być w ykonyw anie operacji na m acierzach. Niech A,B i C będą macierzami o tych sam ych w ym iarach. Należy obliczyć m acierz A, gdzie A =B*C+C*B+C*C. S prow adza się to do w ykonania operacji m nożenia (*) i dodaw ania (+). Łatw o zauważyć, że procedury A*B, C*B, C *C m ogą być w ykonane rów nolegle. N iew iele jednak problem ów daje się tak łatw o podzielić na niezależne procedury. D latego też poszukuje się rozw iązań poprzez tw orzenie innych stru k tu r pow iązań m iędzy podproblem am i Stosunkow o prosta jest struktura liniow a realizująca przetw arzanie potokow e. Przykładem tego m oże być sortow anie m etodą naprzem ienną, k tó ra w ym aga p ro ceso ró w połączonych w szereg [5]. W innym przypadku rów noległość realizuje się na poziom ie zbioru zadań.

System rów noległy pracuje na ogół pod w spólnym system em operacyjnym . Innym rozw iązaniem je s t autonom iczna realizacja obliczeń przez procesory, w których każdy korzysta z lokalnego systemu operacyjnego. Przykładem takiego ro zp ro szo n eg o sposobu przetw arzania m o g ą być sieci kom puterow e, gdzie niezależne obliczenia m o g ą być urucham iane naw et pod różnym i systemami operacyjnymi. Z aim plem entow ane algorytm y rów noległe pow inny być urucham iane rów nież w takim środow isku. W tym celu trzeba zapew nić najpierw m ożliw ość inicjacji sieci oraz w ym aganą konfigurację p ołączeń między w spółpracującym i jednostkam i. W tak zorganizow anej sieci jednostki obliczeniow e pow inny posiadać ró w n ież m ożliw ość sw obodnego przesyłania danych oraz w ym iany kom unikatów m iędzy sobą. W tym przypadku w ym iana kom unikatów pełni rolę synchronizacji obliczeń rów noległych. P o za tym poszczególne jednostki pow inny także um ieć siebie indentyfikow ać.

Z ak ład a się, że dana jed n o stk a m oże kom unikow ać się z każdą, z k tó rą m a zestaw ione połączenie. W danym m om encie jed n a jednostka m oże mieć zestaw ione połączenie z kilkom a innymi. T ak w ięc podstaw ow e cechy środow iska rów noległego dla sieci lokalnej są następujące:

- ustalanie konfiguracji połączeń między w spółpracującym i jednostkam i, - sw o b o d n e przesyłanie danych między połączonym i jednostkam i, - w ym iana kom unikatów między poszczególnym i jednostkam i, - w zajem na identyfikacja jednostek,

(4)

H. K raw czyk - niezależność funkcjonow ania jednostek.

Podstaw ow ym i pojęciami używanymi w pracy są jed n o stk a zarządzająca i jed n o stk a robocza. Jed n o stk ą zarządzającą będzie ten kom puter (w ęzeł) pracujący w sieci, który służy do kom unikacji z operatorem oraz do w prow adzania danych, urucham iania zadań i w yprow adzania w yników . M ożna więc stwierdzić, że jest to k o m puter (host), na którym bezpośrednio pracujem y. Pod w zględem użytkow ym nie różni się on niczym od pojedynczego k om putera pracującego sam odzielnie, bez w spółpracy z innymi jednostkam i.

W projektow anym środow isku m oże w ystępow ać jed n a lub w ięcej jed n o stek zarządzających.

F unkcje usłu g o w e zlecane przez jednostkę zarządzającą b ęd ą w ykonyw ały jednostki robocze.

W system ie musi być co najmniej jed n a taka jednostka. Jednostka robocza przez cały czas wolny, to znaczy kiedy nie w ykonuje zadania, czeka na rozkazy od jednostki zarządzającej.

Jed y n ą form ą, sposobem aktywacji lub dezaktywacji jed n o stk i roboczej jest odpow iedni ro zk az od jednostki zarządzającej. W spółpraca między je d n o s tk ą zarządzającą a jed n o stk ą ro b o czą nie jest o parta na typow o stosow anym w sieciach kom puterow ych układzie "server- w orkstation". Jak w iadom o, w tym układzie server udostępnia sw oje zasoby, z których kolejne "w orkstation" m ogą korzystać. N ie m ogą one jed n ak zm usić "server1 a" do w ykonania czegokolw iek, ani też "server" nie m oże w płynąć na zm ianę pracy "w orkstation". D o w ytw orzenia środow iska rów noległego te dodatkow e funkcje są niezbędne. W arto rów nież nadm ienić, że pojedynczy kom puter m oże spełniać obie te funkcje.

3. Podstaw ow e funkcje środowiska

R ealizacja Środow iska P rzetw arzania R ów noległego (S P R ) je st uzależniona o d system u k om puterow ego, na którym będzie ono zainstalow ane, a przede w szystkim od w ykorzystyw anego program u zarządzającego i przyjętej koncepcji realizacji obliczeń (m odelu obliczeń). W tej pracy przyjęto budow ę SPR w postaci trzech w arstw , aby w przyszłości m ożna byłoby dokonyw ać zmian w zależności od w ykorzystyw anego sprzętu i oprogram ow ania. W arstw y te są następujące:

1. system operacyjny (SO), 2. oprogram ow anie sieciow e (O S), 3. środow isko rów noległe (SR).

D o d atk o w ą w arstw ą jest biblioteka program ów rów noległych (B PR ). U kład w arstw SPR przedstaw ia rys. 1. W rozpatryw anym przypadku SO reprezentuje M S-D O S, OS zaś N E T B IO S . SR jest zbiorem funkcji dodatkow ych, które zostały zaim plem entow ane do w ytw orzenia SPR. Z ostaną one przedstaw ione poniżej. B P R jest zaś zbiorem program ów użytkow ych pracujących w tym środow isku. Aktualnie s ą to program y (zbiór FSR ), które w ykorzystano do testow ania funkcjonalnego SPR.

(5)

O bliczenia rów nolegle w sieci lokalnej 25 A daptacja sieci lokalnej do środow iska rów noległego, o p ró cz m ożliw ości zm iany konfiguracji i przesyłania danych, w prow adza także możliw ość obsługi zadań na różnych jed n o stk ach . Z apew nia to w prosty sposób zorganizow anie w ykonyw ania je d n e g o lub wielu zadań przez jednostki robocze. W szystkie te m echanizmy są dostępne ja k o funkcje w języku C. B iblioteka SR składa się z 12 funkcji, które m ożna podzielić na cztery grupy:

Rys. 1. W arstw y projektow anego środow iska, rów noległego Fig. I. T he distinguished layers o f parallel environm ent

a) funkcje ustalania konfiguracji połączeń: należą tutaj tylko dw ie funkcje "connect"

i "disconnect". S łużą one odpow iednio do zestaw iania i anulow ania połączeń m iędzy w ęzłam i sieci,

b) funkcje przesyłania danych: w yróżniono tutaj rów nież dw ie funkcje "putdata" oraz

"getdata". O dpow iednio służą one do przesyłania i odbierania danych w postaci ciągu znaków ,

c) funkcje zlecania zadań: w chodzą tutaj takie funkcje, ja k "exectask" (zleca w ykonanie zadania), "donetask" (sprawdza, czy zadanie zo stało w ykonane),

"getreslt" (pobiera wyniki zadania), "putreslt" (przesyła w yniki zleco n eg o zadania) i "setinstall" (przesyła dane o zadaniach, które m oże w ykonać),

d) funkcje specjalne: to grupa funkcji realizujących zadania specjalne, k tó re są niezbędne dla praw idłow ego działania pozostałych funkcji. S ą to w ięc funkcje:

"sorinit" (inicjacji pracy środowiska), funkcja "sorend” (k o ń cząca pracę środow iska) i funkcja "sorctrl" (realizująca synchroniczne czynności w ykonyw ane p rzez środow isko).

Funkcje "sorinit" i "sorend" pow inny być w ykonane tylko raz, pierw sza n a początku, dru g a zaś na końcu program u. N atom iast funkcja "sorctrl" w zależności od potrzeb.

Biblioteka funkcji je st w spólna dla jednostki zarządzającej i jednostki roboczej, jed n a k nie w szystkie funkcje są w ykorzystyw ane przez oba rodzaje jednostek. Jed n o stk a zarządzająca nie korzysta z funkcji "connect" i "setinstall", zaś jednostka robocza "exectask" i "getreslt".

(6)

4. Przykiad realizacji programu rów noległego

Jak o ilustrację działania S PR rozpatrzm y sortow anie ciągu liczb rzeczyw istych, stosując najprostszy algorytm rów noległy: N iech będzie dany ciąg P liczb całkow itych. D zielim y ten ciąg na dw a podciągi P 1 i P2. Sortujem y je oddzielnie, a następnie scalam y j e w je d e n ciąg w ynikow y stosując sekw encyjny algorytm so rto w an ia K onfigurację sieci L A N do w ykonania tego algorytm u przedstaw ia rys.2.

J a k łatw o zauw ażyć, poszczególne czynności algorytm u sortow ania m ożna podzielić na następujące kroki:

-je d n o s tk a zarządzająca dzieli ciąg P,

-je d n o stk i ro bocze rów nocześnie sortują podciągi P I i P 2 , -je d n o s tk a zarządzająca scala je ponow nie w posortow any ciąg P'.

Przetw arzan ie rów noległe występuje tylko w tedy, gdy obie jednostki ro b o cze pracują jednocześnie. U żytkow nik w ykorzystujący SPR do sortow ania ciągu liczb pow inien p rzy g o to w ać odpow iednie program y sortujące. Poniżej przedstaw iono opisy działania program u jednostki zarządzającej i jed n o stek roboczych.

Jednostka zarządzająca

/ Slf

\ / \/

Jednostka Jednostka

robocza 1 robocza 2

Rys. 2. Przyjęta konfiguracja sieci dla sortow ania rów noległego Fig. 2. T he assum ed netw ork confiuration fo r parallel sorting

J e d n o s tk i z a rz ą d z a ją c a :

#include <fsr.h> /* dołączenie prototypów FPR */

#define S IZ E ? ? ? /* m aksym alna ilość liczb do sortow ania */

#define B Y T E SIZ E SIZE*8 /* rozm iar pamięci zajm ow anej przez liczby *1 /* program sortuje liczby w tablicy Table */

void m a in ()

{

double Table[ S IZ E ] ;

int size = 10, z a d l, zad2;

uint dług;

(7)

O bliczenia ró w n o leg łe w sieci lokalnej 27 /* zainicjow anie pracy stanowiska, pom ocnicze zbiory będą na dysku D:\, je d n o stk a będzie m iała n azw ę m aster */

sorinit( “D:\V, "master” ) ;

/* program chodzi w pętli; loop sym bolizuje pętlę. W celu uruchom ienia p rogram u należy w staw ić tu jed en z rodzajów pętli - while, for, do; */

loop

/* funkcja w czytująca liczby do posortow ania do tablicy Table, size jest rozm iarem tablicy, to znaczy określa ilość liczb */

W czytajUczby(Table, s iz e ) ;

/* zlecenie w ykonania zadania, posortow ania pierwszej połów ki tablicy T able przez w olną jed n o stk ę ro b o c z ą - slave */

z a d l = ZdalneSort( Table, size/2-1 ) ;

/* zlecenie w ykonania zadania, posortow ania drugiej połów ki tablicy T able przez w olnego slave */

zad2 = ZdalneSort( Table+size/2, size-size/2+1 ) ;

/* oczekiw anie na zakończenie w ykonania zadań, to je st posortow ania obu połów ek. F unkcja sorctrl obsługuje przesłania danych */

do {

s o rc trl() ;

} while( !donetask( z a d l ) && !donetask( zad2 ) ) ; dług = BYTESIZE ;

/* odebranie w yników posortow ania pierwszej połów ki tablicy getreslt( z a d l, (char *)Table, &dlug ) ;

/* odebranie w yników posortow ania drugiej połów ki tablicy * 1

getreslt( zad2, (char *)Table+size/2, &dlug ) ;

/* scalenie obu posortow anych połów ek w uporządkow any ciąg liczb */

split( Table, 0, size/2, size ) ; e n d lo o p ;

I* zakończenie pracy */

s o re n d () ; }/*m ain*/

int ZdalneSort( tab, r o z ) double tab[ ] ;

int r o z ;

{

static char bufor[ BYTESIZE+8 ] ;

(8)

/* pierw sze 8 bajtów w przesyłanych danych niech będzie bajtami informacyjnymi. W piszem y tu ilość liczb do posortow ania przez slave * 1

sprintf( bufor, "%02d%06c", roz, '0 ') ;

/* przepisanie liczb do bufora, który zostanie przesłany do slave * 1

memcpy( bufor+8, tab, sizeof(double)*(roz+1)) ; /* w łaściw e zlecenie w ykonania zadania sort */

retum ( exectask( “sort”, bufor, dlug+8 ) ) ; }/*Z dalneS ort*/

J e d n o s tk a ro b o c z a :

P rogram y dla jednostki roboczej 1 i jednostki roboczej 2 różnią się tylko n azw ą nadaw aną przy inicjalizacji.

# in c lu d e < fsr.h > I* dołączenie prototypów FSR */

v o id m a i n ( )

{

/* zainicjow anie pracy stanow iska, pom ocnicze zbiory b ęd ą na dysku D :\, jed n o stk a będzie m iała n azw ę slave N r x, x 1 lub 2 */

sorinit( "D:\V, "slave?") ;

/* zestaw ienie połączenia z jed n o stk ą o nazw ie "nazw a". W tym miejscu zam iast "nazwa"

należy p odać nazw ę, ja k a została nadana m astefow i. */

connect( n a z w a ) ;

/* zainstalow anie się ja k o w ykonaw cy zadań o nazw ie "sort" */

setinstall( "s o rt") ;

/* p rogram w ykonuje się w pętli; loop symbolizuje pętlę. W celu uruchom ienia program u należy w staw ić zam iast loop jeden z rodzajów pętli - while, for, do; */

loop

/* oczekiw anie na zgłoszenia w ykonania zadań o nazw ie sort. F unkcja sorctrl obsługuje przesłania danych */

s o rc trl() ; e n d l o o p ; }/*m ain*/

/* funkcja, k tó ra je st niezbędna dla um ożliw ienia obsługi w ykonania zgłoszonego zadania. W pro g ram ie "slave" musi znaleźć się funkcja rem otecall. F unkcja ta zostaje w y w o łan a przez SPR. N u m er "nr" jest kolejnym num erem nazw y podanej dla funkcji setinstall (num ery są od zera). W naszym przypadku nazw a "sort" m a num er 0. W yw ołanie z innym num erem pow inno w ięc zostać zignorow ane */

void rem ofecall( nr, buff, len )

(9)

O bliczenia ró w n o leg łe w sieci lokalnej 29 int n r ;

char buff[ ] ; unsigned len ;

{

if( nr == 0 } sortowanie( buff, len ) ; )/*rem otecall*/

void sortowanle(par.len) /* w ykonanie sortow ania nadesłanych liczb */

char parQ;

uint len;

{

char bufj 8 ] ; Int x ;

unsigned r o z ;

/* odczytanie ilości liczb do posortow ania sekw encyjnego */

sscanf( par, ”%d", & x ) ;

/* skopiow anie liczb do obszaru w skazanego przez Table. Liczby, zg o d n ie z przyjętym założeniem , s ą zapisane począw szy od ósm ego bąjtu przesyłanych danych. */

memcpy( Table, par+8, roz=(x+1)*sizeof(double)) ; /* w ykonanie sortow ania */

q u ic k s o rt( 0, x ) ; /* przesłanie w yników */

putreslt( (char *)Table, r o z ) ; }/*sortow anie*/

5. U w agi końcowe

Z aim plem entow ane środow isko zostało przetestow ane dla w ybranych algorytm ów num erycznych i kom binatorycznych [6], D okonano rów nież pom iarów czasu ich w ykonania.

D la przykładu przedstaw ionego w rozdziale 4 uzyskane wyniki zap rezen to w an o w tabeli 1, gdzie czas w ykonania w yrażono w sekundach, a dokładność pom iaru w ynosi 0.05 s. Jak w ynika z tabeli 1, w raz ze w zrostem liczby kom puterów czas sortow ania maleje, gdy liczba je d n o ste k roboczych nie przekracza 4, a następnie w zrasta. F akt ten w ynika ze stosunkow o niewielkiej ilości danych (1000 elem entów ciągu), co pow oduje, że krótszy czas sortow ania nie rekom pensuje strat zw iązanych z przesłaniem danych. P o za tym dla rosnącej liczby p ro ceso ró w w zrasta ilość przesłań, co pow oduje w zrost czasu scalania bardziej ro zp ro szo n eg o ciągu. O pracow ane środow isko w ykorzystuje się na zajęciach dydaktycznych z "System ów rów noległych".

(10)

H. K raw czyk T abela 1 C zas sortow ania w funkcji liczby jednostek roboczych

L iczba jednostek roboczych 2 3 4 5 6

j C zas so rto w an ia rów noległego 7.41 6.53 5.49 5.88 6.38

L IT E R A TU R A

[1] G .B em ard , A. D uda: Primitives for D istributed C om puting in a H etero g en eo u s Local A rea N etw o rk E nvironm ent, IE E E Trans. S oftw are Eng., N o. 12, 1989.

[2] P. B rudło, H. K raw czyk: P rzetw arzanie rozproszone w kom puterow ych sieciach lokalnych. M ateriały K rajow ego Sympozjum Telekom unikacji, K ST"93, B ydgoszcz

1993.

[3] W. Iszkow ski: Przyśpieszanie obliczeń przez ich rozpraszanie. Inform atyka 7, 1989.

[4] H. K raw czyk: A rchitektura i oprogram ow anie m ikrokom puterow ych system ów rów noległych. M ateriały X III Krajow ej K onferencji T eoria O bw o d ó w i U kłady E lektroniczne, Bielsko-Biała 1990.

[5] W .S. L uk, F. Ling: An A nalytic/Em pirical Study o f D istributed Sorting on a Local A rea N etw ork, IE E E Trans, on Softw are Eng. No. 5, 1989.

[6] A. Stec: P rogram ow anie rów noległe w oparciu o sieć Ethernet, P raca dyplom ow a, 1991.

[7] M .M . Sysło: M aszyny i algorytm y rów noległe, Inform atyka 11-12, 1988, 1, 1989.

[8] A. T ucholski: N etbios - zasada działania i sposób użytkow ania, Inform atyka 11-12, 1988, 1, 1989.

R ecenzent: D r hab. inż. Stanisław K ozielski Prof. Politechniki Śląskiej

W płynęło do redakcji dnia 15 w rześnia 1993

A b s t r a c t

T h e p ap er analyses the possibility o f parallel com putation on local area netw orks. T he considered n etw o rk consists o f 8 nodes (PC X T/A T clones) th at are connected by E th ern e t links and w o rk in g u n d er L A N SM A R T system. It is required to define a t least o n e m aster

(11)

Obliczenia rów noległe w sieci lokalnej 31 node for coordination and at least one slave-node for processing. T o su p p o rt parallel com putation three layers o f softw are are used. T hey are show n in Fig. 1 and represent operation system (SO ) netw ork com m unication softw are (O S) and parallel environm ent (SR ), respectively. A dditionally a library o f parallel program s (B PR ) can be utilised w hich also contains program s (FSR ) used for testing the parallel netw ork configuration. Previously, o u r im plem entation based on M S-D O S and N ETB IO S. Presently w e try ad o p ted o u r parallel environm ent for netw orks w orking under UNIX.

Tw elve functions o f the SR layer are defined and im plem ented in C language. T hey can be divided into four groups as follows:

1. functions establishing logical connections betw een tw o nodes; such structures as stars, chains, meshes can be created,

2. functions supporting data transmissions betw een tw o nodes; from input file to o u tp u t file,

3. functions initiating task executions and handling obtained results, 4. functions creating and deleting w ork o f parallel environm ent in the LA N ,

T he above functions can be perform ed in the netw ork according to th e p ro g ram prepared by a user. T heir execution do not require operator interventions. T o illustrate possibilities o f th e proposed parallel environm ent, the exam ple o f parallel sorting is included into th e paper.

W e restrict o u r analysis to the configuration presented in Fig. 2. B eh av io u r o f the m aster and slaves nodes is described in detail in section 4. T he com putation tim e o f the algorithm for 1000 elem ents o f data sequences as a function o f the num ber o f com putations nodes is given in T able 1. It show s, th at a balance betw een com putation tim e and com m unication tim e should be achieved in the netw ork to perform parallel com putation in efficient way.

Cytaty

Powiązane dokumenty

Abram Józef, Bara Andrzej, Białobok Stanisław, Bugno Marek, Bystrowicz Stanisław, Ćwiklik Stanisław, Elmer Stanisław, Górski Karol, Gu- bała Andrzej, Kamińska Zofi a, Knapik Jan

Istnienie tego promieniowania potwierdza teorię Wielkiego Wybuchu, Stanowi ono relikt gorącego promieniowania wypełniającego niegdyś Wszechświat. W rozkładzie promieniowania

Dane te dotyczą szkół ponadgimnazjalnych działających na terenie miasta Sosnowca i odnoszą się do informacji o liczbie absolwentów według zawodów, którzy ukończyli

Program wysyłający zadanie (teraz oprócz opisu zadania przesyłana informacja zawiera nazwę kom putera centralnego, numer zadania i indeks tablicy serwerów, pod

Model narastania fazy stałej jest zgodny z pośrednim modelem, w którym zakładana jest skończona dyfuzja domieszki w fazie ciekłej oraz brak dyfuzji domieszki w fazie

OSADZONY W SPOŁECZNOŚCI LOKALNEJ PROGRAM ZAPOBIEGANIA NADUŻYWANIU ALKOHOLU I ZWIĄZANYM Z TYM WYPADKOM:.. UWAGI NASUWAJĄCE SIĘ Z DOŚWIADCZEŃ W TRZECH

Znajduje to odbicie również na rozkładzie lokalnej liczby Nusselta (Rys. 9.16d pokazuje, że wprowadzany strumień powoduje wyrównanie pola temperatur w

[r]