VIA

Similar documents
Integ

6주차.key

PowerPoint Presentation

1217 WebTrafMon II

PCServerMgmt7

À¯Çõ Ãâ·Â

Microsoft PowerPoint - 병렬표준.pptx

Parallel Programming & MPI 박필성 수원대학교 IT 대학컴퓨터학과

°í¼®ÁÖ Ãâ·Â

Oracle9i Real Application Clusters

Microsoft PowerPoint - eSlim SV [ ]

Microsoft PowerPoint - eSlim SV [080116]

PowerPoint 프레젠테이션

fprintf(fp, "clf; clear; clc; \n"); fprintf(fp, "x = linspace(0, %d, %d)\n ", L, N); fprintf(fp, "U = [ "); for (i = 0; i <= (N - 1) ; i++) for (j = 0

리뉴얼 xtremI 최종 softcopy

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

05( ) CPLV12-04.hwp

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

Microsoft Word - zfs-storage-family_ko.doc

SRC PLUS 제어기 MANUAL

박선영무선충전-내지

vm-웨어-01장

6.24-9년 6월

Chap7.PDF

vm-웨어-앞부속

Á¶Áø¼º Ãâ·Â-1

초보자를 위한 C++

김기남_ATDC2016_160620_[키노트].key

Analyst Briefing

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

DBPIA-NURIMEDIA

¼º¿øÁø Ãâ·Â-1

untitled

인켈(국문)pdf.pdf

PRO1_16E [읽기 전용]

<353020B9DAC3E1BDC42DC5ACB6F3BFECB5E520C4C4C7BBC6C3BFA1BCADC0C720BAB8BEC820B0EDB7C1BBE7C7D7BFA120B0FCC7D120BFACB1B82E687770>

Parallel Programming 박필성 IT 대학컴퓨터학과


<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

Backup Exec

DBPIA-NURIMEDIA

I

Session XX-XX: Name

Figure 5.01

solution map_....

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

APOGEE Insight_KR_Base_3P11

CONTENTS CONTENTS CONTENT 1. SSD & HDD 비교 2. SSD 서버 & HDD 서버 비교 3. LSD SSD 서버 & HDD 서버 비교 4. LSD SSD 서버 & 글로벌 SSD 서버 비교 2

untitled

±è¼ºÃ¶ Ãâ·Â-1

歯홍원기.PDF

T100MD+


1991 Dunedin Marathon

pseries, Systems Group pseries 2003 Corporation (p) Systems Group POWER4/POWER4+ pseries! +! + + The Only Complete UNIX on Demand

Microsoft Word - IO_2009_메모리반도체.doc

Microsoft Word - s.doc

PRO1_04E [읽기 전용]

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

Solaris Express Developer Edition

05Àå

송동우.PDF

휠세미나3 ver0.4

SchoolNet튜토리얼.PDF

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

User Guide

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

초보자를 위한 자바 2 21일 완성 - 최신개정판

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

DBPIA-NURIMEDIA

06_±è¼öö_0323

KDTÁ¾ÇÕ-1-07/03

<3031B0ADB9CEB1B82E687770>

Sun Java System Messaging Server 63 64

PowerPoint 프레젠테이션

45-51 ¹Ú¼ø¸¸

논문수정본.PDF

3.Bladesystem

침입방지솔루션도입검토보고서

Windows 네트워크 사용 설명서

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 28(11),

IBM 기업가치연구소 IBM 글로벌 비즈니스 서비스는 IBM 기업가치연구소의 다양한 연구 결과를 바탕으로 주요 공공 기관 및 민영 기업의 경영진에게 사실에 입각한 전략적 동향 및 통찰력을 제공합니다. 본 경영진 보고서는 IBM 연구 팀의 심층 조사 결과를 기반으로 작성

ARMBOOT 1

슬라이드 1

歯Cablexpert제안서.PDF

歯FFF01379.PDF

Sena Technologies, Inc. HelloDevice Super 1.1.0

결과보고서

1

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

±èÇö¿í Ãâ·Â

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

06_ÀÌÀçÈÆ¿Ü0926

PRO1_01E [읽기 전용]

untitled

<31352DB0ADB9AEBCB32E687770>

Mango220 Android How to compile and Transfer image to Target

04서종철fig.6(121~131)ok

Transcription:

VIA 2000 2

VIA 1999 11 1999 12

,, PC (Clustering). SAN(System Area Netw ork) T CP/IP. T CP/IP, VIA(Virtual Interface Architecture). VIA. MPI(Message Passing Interface) BSP(Bulk Synchronous Parallel) VIA, T CP/IP UDP/IP MPI, BSP VIA. :, SAN, VIA, MPI, BSP : 98419-512

1 1 1.1................................. 1 1.2................................. 4 1.3................................. 6 2 VIA / MPI/ BS P 7 2.1 VIA(Virtual Interface Architecture)................. 7 2.1.1 VIA............................. 7 2.1.2 VIA.......................... 12 2.1.3 M- VIA................................ 15 2.2 MPI(Message Passing Interface).................. 17 2.2.1 MPI................................. 17 2.2.2 MPICH............................... 19 2.3 BSP(Bulk Synchronous Parallel)................... 19 2.3.1 BSP............................ 19 2.3.2 BSPlib................................ 21 3 VIA 22 3.1 VIA............... 22 3.1.1 VIA....... 22 3.1.2.................. 25 3.1.3..... 27 3.2 VIA MPI (VMPI).............. 29

3.2.1 VIA MPI............. 30 3.3 VIA BSP (VBSPlib)............ 37 3.3.1 VIA BSP............. 37 3.3.2 VIA BSP............. 39 4 47 5 55 56

1.1......................... 2 2.1 VI.............................. 8 2.2............................... 9 2.3................................. 10 2.4 Send/Receive............... 11 2.5 VI...................... 15 2.6 M- VIA................................. 16 2.7 BSP......................... 20 3.1 VIA............. 23 3.2............... 24 3.3................... 28 3.4................ 29 4.1 VMPI MPICH................... 48 4.2 VBSPlib BSPlib.................. 49 4.3 VMPI MPICH..................... 50 4.4 VBSPlib BSPlib.................... 51 4.5 VMPI MPICH 100............... 52 4.6 VMPI MPICH Adjoint Convolution................ 52 4.7 VBSPlib BSPlib 100.............. 53 4.8 VBSPlib BSPlib Sample Sort.................... 53

3.1 VIA MPI................ 30 3.2 VIA BSP................ 38 4.1 VMPI VBSPlib...................... 49

1 1.1,. 1992 154%,, 100Mb Gb [16].,,. (Clustering). [16]. SMP(Symmetric Multi- Processor), SMP, I/O,, I/O. SMP,,,., (loosely- coupled)., 1

, (tightly- coupled). U.C Berkeley NOW (Netw ork Of W orkstation), NASA CESDIS(Center of Excellence in Space Data and Information Sciences) PC Beow ulf [5][6][7][8]. 1.1,,,, (Netw ork Interface Card, NIC),,,, [15]. 1.1 :, PC., SMP. : UNIX, LINUX, Window s NT, LINUX 2

LINUX. / / NIC(Netw ork Interface Card) : 100Mb Gb, Fast Ethernet, Gigabit Ethernet, Myrinet, Memory Channel, ServerNet. : T CP/IP, SAN(System Area Netw ork), T CP/IP. (Middlew are) :,,. : PVM(Parallel Virtual Machine) MPI(Message Passing Interface),. :.,,. MPP(Massively Parallel Processor), 3

. Gregory F. Pfister, [1]. T CP/IP LAN/W AN,.,,., SAN,. Berkeley NOW Active Message(AM), Cornell U- Net, Princeton SHRIMP(Scalable High- performance Really Inexpensive Multi- Processor) VMMC(Virtual Memory- Mapped Communication), Illinois Fast Message(FM) Intel, Compaq, Microsoft Virtual Interface Architecture(VIA) [2][3][4][5][9][10]. 1.2. VIA. VIA 4

, T CP/IP,. VIA Intel, Compaq, Microsoft,. Giganet, Berkely NERSC(National Energy Research Scientific Computing Center) LINUX M- VIA(Modular- VIA) Intel W indows NT. LINUX M- VIA. VIA,. VIA. VIA MPI BSP. MPI, MPICH. BSP, Oxford, BSPlib. Pentium Fast Ethernet. 512KB 64MB 128MB Pentium Pro 200Mhz 256KB 5

64MB Pentium Celeron 433Mhz. Fast Ethernet. VIA MPI BSP, T CP/IP UDP/IP MPICH BSPlib. VIA MPI VMPI, VIA BSPlib VBSPlib. 1.3. 2 VIA,, MPI BSP BSPlib. 3 VIA MPI BSP. 4 VIA MPI, BSP T CP/IP MPICH UDP/IP BSPlib. 5. 6

2 VIA/ MPI/ BS P 2.1 VIA( Virtual Interface Architecture),.. VIA(Virtual Interface Architecture) Intel, Compaq, Microsoft, zero- copy SAN(System Area Netw ork). T CP/IP,,.. VIA,. VIA. 2.1.1 VIA (1) VIA 7

VIA, (Virtual Interface, VI), (Completion Queue, CQ), VI- (VI Provider), VI- (VI Consumer). VI- ( ), VI- VIA. 2.1 VI (VI) VI-.,,. (W ork Queue) (Send Queue) (Receive Queue). VI-. VI- 8

. VI- VI-, (Doorbell) VI- NIC. VI- NIC. VIA.. 2.2 VI. VI, VI. VI- VI. VI. VI- 9

. VI. 2.3 VI- VI, VI-. VI- VI- NIC(Netw ork Interface Controller). VI- NIC. VI- NIC,. VI- NIC, VI- VI- NIC VI. VI- VIA. 10

(2),,,., RDMA(Remote Direct Memory Access)..,, (posting). VI- VI VI- NIC., VI-. 2.4 Send/Receive 11

2.4 Send/Receive. 2.1.2 VIA (1). VI Send/Receive Remote Direct Memory Access(RDMA) Send/Receive,. VI, VI. VI..,. RDMA 12

. RDMA RDMA W rite RDMA Read. RDMA W rite, RDMA Read., Send/Receive. RDMA,. (2),.,. VI VI- VI,. (locking). VI- VI- 13

. VI- VI VI VI- NIC,., VI- NIC. (Memory Protection T ag). VI VI-. VI. VI (Memory Protection Attribute) VI RDMA Read RDMA Write. VI. (3) VI VI - (connection- oriented). VI- VI VI VI-. VI -., VI. 2.5 14

. 2.5 VI 2.1.3 M- VIA M- VIA(Modular- VIA) Berkely NERSC(National Energy Research Scientific Computing Center) VIA LINUX. M- VIA Intel Virtual Interface Architecture Developer' s Guide VIA LINUX 1999 10 1.0,. M- VIA,. 15

RDMA, VIA. M- VIA. M- VIA API VI- (VIPL), (NIC) VIA VIA M- VIA VI,. 2.6 M- VIA M- VIA M- VIA. (Connection Manager) : VI. (Protection T ag Manager) : 16

. (Registered Memory Manager) :. (Error Queue Manager) : VIA. VIA M- VIA 1.0. M- VIA 1.0 LINUX 2.2,. Loopback DEC T ulip fast ethernet card PacketEngines GNIC- I gigabit ethernet card PacketEngines GNIC- II gigabit ethernet card 3Com 3C905 fast ethernet card Intel EtherLink fast ethernet card 2.2 MPI( Mes s ag e Pas s ing Interface) 2.2.1 MPI MPI(Message Passing Interface). MPI 17

,,., C, C++, Fortran 77. PVM(Parallel Virtual Machine), [11]. MPI Send Receive. MPI. (Standard Mode) (Buffered Mode) (Synchronous Mode) (Ready Mode),.,. 18

Blocking Send/Receive Nonblocking Send/ Receive. Blocking Send,, Blocking Receive. Nonblocking Send/ Receive. 2.2.2 MPICH MPICH Mississipi MPI SUN OS, Solaris, HP UX, AIX, IRIX, Intel Paragon, Meiko CS2, Cray T 3D, LINUX [17]. MPI MPE(Multi- Processing Environment). LINUX MPICH VIA MPI. 2.3 BS P( Bulk S y nchronous Parallel) 2.3.1 BS P BSP(Bulk Synchronous Parallel) 19

. BSP (Superstep), (Barrier)., [14]. 2.7 BSP BSP, BSP. P : L : g : P BSP,. L g 20

. h h- ( h- relations), hg. w i i, h i i T i [13]. T i = w i + gh i + L 2.3.2 BS Plib BSPlib, BSP BSP. BSPlib DRMA(Direct Remote Memory Access) Send Receive BSMP(Bulk Synchronous Message Passing). 21

3 VIA VIA. VIA MPI BSP. 3.1 VIA VIA. 3.1.1 VIA VIA. VIA VI.... 22

, VI..,.. 3.1 VIA, REQUEST, ACK., 23

. ACK. ACK,..... ( ) REQUEST ( ) REQUEST ACK ACK 3.2 24

REQUEST ACK REQUEST ACK REQUEST, REQUEST, REQUEST ACK. REQUEST ACK REQUEST REQUEST. ACK ACK, ACK REQUEST ACK. REQUEST ACK REQUEST ACK REQUEST. ACK REQUEST. REQUEST ACK. 3.1.2 25

. VIA VipCQNotify. 2 VIA VIA VI. VipCQNotify VI. VipCQNotify(VIP_CQ_HADLE CQHandle, VIP_PVOID Context, void(*handler)(vip_pvoid Context, VIP_NIC_HANDLE NicHandle, VIP_VI_HANDLE ViHandle, VIP_BOOLEA N RecvQueue)) VipCQNotify VipCQNotify VipCQNotify Handler. VipCQWait VI.. VipCQNotify Handler RecvQueue 26

VIP_FALSE, VIP_T RUE. VIA VI VI. Handler REQUEST ACK., VipCQNotify Handler. 3.1.3 VIA... VIA. 4KB, 4KB 4KB. 2 27

MPI. ( ) 4KB ( ) 4KB 3.3 ACK. ACK. ACK. VIA ACK,. REQUEST ACK REQUEST, REQUEST REQUEST ACK. 28

ACK, REQUEST ACK ACK. REQUEST, REQUEST ACK.. ( ) ( ) 3.4 3.2 VIA MPI (VMPI) VIA MPI. VIA MPI MPI 29

. 3.1. Blocking Nonblocking VIA MPI int MPI_Init(int *argc, char ***argv) int MPI_Comm_rank(MPI_Comm comm, int *rank) int MPI_Comm_size(MPI_Comm comm, int *size) int MPI_Finalize(void) int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status) int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request) int MPI_Wait(MPI_Request *request, MPI_Status *status) int MPI_T est(mpi_request *request, int *flag, MPI_Status *status) int MPI_Iprobe(int src, int tag MPI_Comm comm, int *flag, MPI_Status *status) int MPI_Bcast(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm) int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count) double MPI_Wtime(void) 3.1 VIA MPI 3.2.1 VIA MPI VIA MPI, 30

. (1) int MPI_Init(int *argc, char ***argv) SPMD. VIA MPI VIA. MPI_Init() rsh. VI,. VipCQNotify(),,.,.. (2) int MPI_Comm_rank(MPI_Comm comm, int *rank) 31

MPI (Rank). 0. MPI_Init(), MPI_Comm_rank(). comm MPI (Communicator) (Group) VIA MPI MPI_COMM_W ORLD. (3) int MPI_Comm_s ize(mpi_comm comm, int *size) MPI_Init(),. (4) int MPI_Finalize(void) VI. VI. (Dummy) VI. 32

(5) int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) 4KB, REQUEST REQUEST REQUEST ACK,.,. MPI_Send() Blocking Send, VIA VipSendWait(). VipSendWait(). 4KB REQUEST ACK, REQUEST ACK. REQUEST REQUEST, ACK. ACK VipSendW ait() MPI_Send(). 33

(6) int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status) MPI_Recv() REQUEST. MPI_Recv() REQUEST buf. MPI_Recv() Blocking Receive buf. 4KB, buf ACK MPI_Recv(). 4KB REQUEST buf ACK MPI_Recv(). MPI_Recv() buf. VIA VipRecvWait().. 34

MPI_Recv() REQUEST. 4KB ACK. 4KB ACK. MPI_Recv() 4KB buf, 4KB VipRecvWait() buf. (7) int MPI_Is end(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) MPI_Isend() Nonblocking Send MPI_Send(), VipSendWait(). MPI_Isend() MPI_Isend(). 35

(8) int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Reques t *request) MPI_Irecv() Nonblocking Receive MPI_Irecv() buf, buf. (9) int MPI_Wait(MPI_Reques t *reques t, MPI_Status *status) MPI_Isend() MPI_Irecv(). VipSendW ait() VipRecvWait(). (10) int MPI_T es t(mpi_reques t *reques t, int *flag, MPI_Status *status) MPI_Wait(), MPI_T est() flag. (11) int MPI_Iprobe(int s rc, int tag MPI_Comm comm, int *flag, MPI_Status *status) 36

MPI_Iprobe() flag. (12) int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count) MPI_Get_count() MPI_Recv(), MPI_Wait(), MPI_T est() status. (13) double MPI_Wtime(void) MPI_Wtime() us. 3.3 VIA BS P (VBS Plib) 3.3.1 VIA BS P VIA BSP VIA MPI.. bsp_put() 37

bsp_send() 4KB. DRMA BSMP VIA BSP void bsp_begin(int maxprocs) void bsp_end(void) void bsp_init(void (*spmdproc)(void), int argc, char **argv) int bsp_nprocs(void) int bsp_pid(void) double bsp_time(void) void bsp_sync(void) void bsp_push_reg(const void *ident, int size) void bsp_pop_reg(const void *ident) void bsp_put(int pid, const void *src, void *dst, int offset, int nbytes) void bsp_get(int pid, const void *src, int offset, void *dst, int nbytes) void bsp_hpput(int pid, const void *src, void *dst, int offset, int nbytes) void bsp_set_tagsize(int *tag_nbytes) void bsp_send(int pid, const void *tag, const void *payload, int payload_nbytes) void bsp_qsize(int *nmessages, int *accum_nbytes) void bsp_get_tag(int *status, void *tag) void bsp_move(void *payload, int reception_nbytes) void bsp_hpmove(void **tag_ptr, void **payload_ptr) 2.2 VIA BSP VIA BSP BSPlib (Combining), 4KB 38

. bsp_put() bsp_send(), 4KB. bsp_put() bsp_send() 4KB,.. 3.2 VIA BSP BSPlib bsp_hpget() VIA. 3.3.2 VIA BS P (1) void bs p_init(void (*s pmdproc)(void), int argc, char **argv) ID 0 ID. ID 0 bsphosts, ID 0 rsh ID, 39

ID 0. (2) void bs p_beg in(int max procs) ID 0 bsp_init() rsh. VI, VI. VI.,. bsp_begin() bsp_time(). (3) void bs p_end(void) MPI_Finalize(). VI. VI. (Dummy) 40

VI. (4) int bsp_nprocs(void) bsp_begin() bsp_init(), bsp_begin() bsp_begin(). (5) int bsp_pid(void) bsp_init() ID. (6) double bs p_time(void) bsp_begin() bsp_begin(). (7) void bs p_push_reg(cons t void *ident, int s ize) bsp_put() bsp_get() 41

.,.. (8) void bs p_pop_reg(cons t void *ident) INVALID. (9) void bs p_put(int pid, const void *src, void *dst, int offset, int nbytes) REQUEST ACK. 4KB 4KB.,.. bsp_put(),. 42

ACK. 4KB ACK., ACK. ACK. bsp_sync(). (10) void bs p_get(int pid, cons t void *s rc, int offset, void *dst, int nbytes) bsp_get() bsp_sync(). bsp_get() bsp_get(). bsp_sync(). (11) void bs p_hpput(int pid, cons t void *s rc, void *ds t, int offset, int nbytes) bsp_hpput() 43

, bsp_hpput(). bsp_put(), bsp_sync(). (12) void bs p_s et_tagsize(int *tag_nbytes) bsp_send(). (13) void bs p_s end(int pid, cons t void *tag, const void *payload, int payload_nbytes) bsp_send() bsp_put(), bsp_send(). bsp_sync() bsp_move() bsp_hpmove(). (14) void bs p_qsize(int *nmes sages, int *accum_nbytes) bsp_send(). 44

(15) void bs p_get_tag(int *status, void *tag) status - 1,. (16) void bs p_move(void *payload, int reception_nbytes) payload. (17) void bs p_hpmove(void **tag_ptr, void **payload_ptr) bsp_move(). (18) void bs p_s ync(void) bsp_sync(). SYNC SYNC. SYNC bsp_get() bsp_get() SYNC. bsp_get() bsp_put() 45

, bsp_get() bsp_get() bsp_get(). bsp_get() bsp_put() bsp_get(), bsp_get(). bsp_get() bsp_get(). bsp_get() REQUEST. REQUEST bsp_get() REQUEST ACK. bsp_get() bsp_get() bsp_put() bsp_send(). bsp_put() bsp_send() REQUEST bsp_put(), bsp_send(). bsp_sync(). 46

4 64MB 128MB Pentium Pro 200MHz 64MB Pentium Celeron 433MHz 100Mbps. M- VIA DEC T ulip. LINUX 2.2.5 RedHat 6.0, M- VIA 1.0. VIA MPI BSP VMPI VBSPlib, MPI MPICH 1.1.2 BSPlib 1.41. MPICH T CP/IP, BSPlib LINUX T CP/IP UDP/IP. BSPlib BSPlib UDP/IP T CP/IP [18]. VMPI VBSPlib MPICH BSPlib. 4.1 VMPI T CP/IP MPICH. Pentium Celeron MPI_Send() MPI_Recv() 2, 100. 47

VMPI MPICH 6us 266us VMPI. VMPI 8KB MPICH. 4.2 VBSPlib UDP/IP BSPlib Pentium Celeron. bsp_put(), bsp_get(), bsp_send() bsp_sync() bsp_sync(). VBSPlib BSPlib. MPI VBSPlib BSPlib VIA BSP. VBSPlib BSPlib bsp_sync() 110us 290us. 48

4.1 VMPI MPICH 4.2 VBSPlib BSPlib 49

(us) MPI BSP (bytes) VMPI MPICH VBSPlib BSPlib bsp_put bsp_get bsp_send bsp_put bsp_get bsp_send 32 93 132 214 228 214 593 501 590 64 99 133 216 231 217 595 504 591 128 111 136 221 239 220 601 512 605 256 134 140 236 256 235 632 544 623 512 176 182 272 298 280 670 602 653 1K 263 271 357 387 359 746 685 762 2K 386 403 480 506 476 883 825 903 4K 570 590 673 683 667 1054 1033 1082 8K 972 981 1127 1055 1108 1442 1421 1377 16K 1665 1707 1845 1776 1815 2148 2224 2129 32K 3062 3328 3346 3245 3231 3694 3885 3716 3.1 VMPI VBSPlib 4.3 VMPI MPICH 100, ACK. 512KB VMPI, 16KB MPICH. 50

4.3 VMPI MPICH 4.4 VBSPlib BSPlib, 100 bsp_sync() bsp_sync().. BSPlib bsp_put() VBSPlib. VBSPlib. 51

4.4 VBSPlib BSPlib 4.5 4.6 MPI 100 Adjoint Convolution VMPI MPICH. 52

4.5 VMPI MPICH 100 4.6 VMPI MPICH Adjoint Convolution 4.7 4.8 VBSPlib BSPlib BSPlib. 4.7 100. 4.8 10 Quick Sort 53

Quick Sort VBSPlib. 4.7 VBSPlib BSPlib 100 4.8 VBSPlib BSPlib Sample Sort. M- VIA. M- VIA 54

zero- copy. M- VIA. VMPI VBSPlib VIA MPI BSP. MPI. BSP. PC CPU. 55

5 VIA. T CP/IP UDP/IP MPI, BSPlib VMPI, VBSPlib VIA. VIA VIA. VMPI VBSPlib. VMPI, VBSPlib,, VIA. VMPI BSP BSP VIA BSP [21]. VIA. 56

[1] Jonathan Kay and Joseph Pasquale, "Profiling and Reducing Processing Overheads in T CP/IP," IEEE/ACM T ransactions on Netw orking, Vol.4, No.6, 1996, pp.817-828. [2] Raoul A.F., Bhoedjang, T im Ruhl, Henri E. Bal, "User- Level Netw ork Interface Protocols," IEEE Spectrum, Nov. 1998, pp.53-60. [3] Dave Dunning, Greg Regnier, Gary McAlpine, Don Cam eron, Bill Shubert, F rank Berry, Anne Marie Merritt, Ed Gronke, Chris Dodd, "T he Virtual Interface Architecture," IEEE Micro, Mar.- Apr. 1998, pp.66-76. [4] T horsten von Eicken, Werner Vogels, "Evolution of the Virtual Interface Architecture," IEEE Spectrum, Nov. 1998, pp.61-68. [5] David E. Culler, Andrea A rpaci- Dus seau, Remzi Arpaci- Duss eau, Brent Chun, Steven Lumetta, Alan Mainwaring, Richard Martin, Chad Yoshikawa, Frederick Wong, "Parallel Computing on the Berkeley NOW," JSPP' 97, 1997. [6] T homas Sterling, T om Cw ik, Don Becker, John Salmon, Mike Warren, Bill Nitzberg, "An assessment of Beow ulf- class computing for NASA requirements: Initial findings from the first NASA w orkshop on Beow ulf- class clustered computing," IEEE Aerospace Conference. Mar. 1998. [7] Michael S. W arren, Donald J. Becker, M. Patrick Goda, John K. Salmon, T homas Sterling. "Parallel supercomputing w ith commodity 57

components," DPT A' 97, 1997, pp.1372-1381. [8] Daniel Ridge, Donald Becker, Phillip Merkey, T homas Sterling Becker, Phillip Merkey "Beow ulf: Harnessing the Pow er of Parallelism in a Pile- of- PCs," IEEE Aerospace, 1997. [9] Anindya Basu, Vineet Buch, Werner Vogels, T horsten von Eicken, "U- Net: A User- Level Netw ork Interface for Parallel and Distributed Computing," SOSP, Dec. 1995. [10] Matthias A. Blumrich, Richard D. Alpert, Yuqun Chen,, Douglas W. Clark, Stefanos N. Damianakis, Cezary Dubnicki, Edw ard W. Felten, Liviu Iftode, Kai Li, Margaret Martonosi, Robert A. Shillner, "Design Choices in the SHRIMP System: An Empirical Study," Proceedings of 25th Annual ACM/IEEE International Symposium on Computer Architecture, Jun. 1998. [11] Mess age Pass ing Interface F orum, "MPI: A Mes sage- Pass ing Interface Standard," May. 1994. [12] Jonathan M. D. Hill, Bill McColl, Dan C. Stefanescu, Mark W. Goudreau, Kevin Lang, Satish B. Rao, T orsten Suel, T hanasis T santilas, Rob Bisseling, "BSPlib, T he BSP Programming Library," http://w w w.bsp- w orldwide.org/, May. 1997. [13] Jonathan M. D. Hill, Stephen R. Donaldson, David B. Skillicorn, "Portability of performance w ith the BSPLib communications library," http://w w w.bsp- w orldwide.org/, May. 1997. [14] Kai Hw ang, Zhiwei Xu, "Scalable Parallel Computing,"McGraw - Hill, 1998, pp.20-23. [15] Rajkumar Buyya, "High Performance Cluster Computing," Prentice 58

Hall PT R, Vol.1 1999, pp.3-47. [16] Gregory F. Pfister, "In Search of Clusters," Prentice Hall PT R, 1998, pp.71-84. [17] Patrick Bridges, Nathan Doss, W illiam Gropp, Edw ard Karrels, Ew ing Lusk, Anthony Skjellum, "Installation Guide to mpich, a Portable Implementation of MPI," Jun. 1995. [18] S tephen R. Donaldson, Jonathan M. D. Hill, David B. Skillicorn, "BSP Clusters: high performance, reliable and very low cost," T echnical Report PRG- T R- 5-98, Sep. 1998. [19] Compaq, Intel, Microsoft, "Virtual Interface Architecture Specification Version 1.0," Dec. 1997. [20] M- VIA Documentation, http://w w w.nersc.gov/research/ft G/via/. [21], "SMP BSP,", Aug. 1999. 59

Abs tract As hardw are and softw are technologies have been developed, computer environments have rapidly been changed. T here are many researches in the field of parallel processing about clustering; substituting cheap PCs and w orkstations for super computers by interconnecting high speed netw orks to them. How ever, cluster systems, w hich are constructed in SAN (System Area Netw ork), have problems in the entire performance of systems using complicated protocols like T CP/IP. As the result of that, a lot of researches for reducing the softw are overhead of T CP/IP and for high- speed netw orking are underw ay. And VIA (Virtual Interface Architecture) protocol is the one of protocols that are made to reduce the overhead. In this paper, We implement parallel libraries, MPI(Message Passing Interface) and BSP(Bulk Synchronous Parallel) libraries, for effective parallel programming on the VIA based cluster systems and analyze them through comparing w ith MPI and BSP libraries w hich are implemented in T CP/IP or UDP/IP based environment. Key w ord: Cluster, SAN, VIA, MPI, BSP S tudent N umber: 98519-512

2. 2.,...,,,. 2.,,,,,,,,,,,

,,,,..