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.
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
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,
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.
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".
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;
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 ] ;
/* 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 )
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".
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
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.