1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo giữa kỳ môn lập trình song song cài Đặt mpi và hadoop

11 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 3,71 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC SƯ PHẠM  BÁO CÁO GIỮA KỲ MÔN LẬP TRÌNH SONG SONG CÀI ĐẶT MPI VÀ HADOOP Người thực hiện : Nguyễn Duy Thắng Lớp : 19CNTTD Gỉảng viên hướng dẫn : Nguyễn Đìn

Trang 1

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM



BÁO CÁO GIỮA KỲ

MÔN LẬP TRÌNH SONG SONG

CÀI ĐẶT MPI VÀ HADOOP

Người thực hiện : Nguyễn Duy Thắng

Lớp : 19CNTTD

Gỉảng viên hướng dẫn : Nguyễn Đình Lầu

Đà Nẵng, tháng 11/2022

1

Trang 2

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

I Lập trình song song:

a) Định nghĩa:

- Nh ng thu t toán, trong đó có m t sốố thao tác có th th c hi n ữ ậ ộ ể ự ệ

đốồng th i đờ ượ ọc g i là thu t toán song song.

- Đó còn là m t t p các tiếốn trình ho c các tác v có th th c hi n ộ ậ ặ ụ ể ự ệ

đốồng th i và có th trao đ i d li u v i nhau đ kếốt h p cùng gi iờ ể ổ ữ ệ ớ ể ợ ả

m t bài toán đ t ra.ộ ặ

- Đ thiếốt kếố để ược các thu t toán song song cầồn ph i tr l i các cầuậ ả ả ờ

h i sau:

1 Vi c phần chia d li u cho các tác v nh thếố nào?ệ ữ ệ ụ ư

2 D li u đữ ệ ược truy c p nh thếố nào, nh ng d li u nào cầồn ph iậ ư ữ ữ ệ ả

chia s ?

3 Phần các tác v cho các tiếốn trình (b x lý) nh thếố nào?ụ ộ ử ư

4 Các tiếốn trình được đốồng b ra sao?

b) Nguyến lý:

- Có năm nguyến lý chính trong thiếốt kếố thu t toán song song:

1 Các nguyến lý l p l ch: T o l ch trình đ gi m tốối thi u các b x ậ ị ạ ị ể ả ể ộ ử

lý s d ng trong thu t toán sao cho th i gian tính toán là khống tăng ử ụ ậ ờ

(xét theo khía c nh đ ph c t p) ạ ộ ứ ạ

2 Nguyến lý hình ốống: Nguyến lý này đ ược áp d ng khi bài toán xuầốt

hi n m t dãy các thao tác {T1, T2, , Tn}, trong đó Ti+1 th c hi n sau ệ ộ ự ệ

khi Ti kếốt thúc.

3 Nguyến lý chia đ tr : Chia bài toán thành nh ng phầồn nh h n ể ị ữ ỏ ơ

t ương đốối đ c l p v i nhau và gi i quyếốt chúng m t cách song song ộ ậ ớ ả ộ

4 Nguyến lý đốồ th ph thu c d li u: Phần tích mốối quan h d li uị ụ ộ ữ ệ ệ ữ ệ

trong tính toán đ xầy d ng đốồ th ph thu c d li u và d a vào đó đ ể ự ị ụ ộ ữ ệ ự ể

xầy d ng thu t toán song song.ự ậ

5 Nguyến lý điếồu ki n tệ ương tranh: Nếốu hai tiếốn trình cùng muốốn truy c p vào cùng m t m c d li u chia s thì chúng ph i tậ ộ ụ ữ ệ ẻ ả ương tranh

v i nhau, nghĩa là chúng có th c n tr lầẫn nhau.ớ ể ả ở

- Ngoài nh ng nguyến lý nếu trến, khi thiếốt kếố thu t toán song song ữ ậ

còn m t sốố đi m cầồn quan tầm:ộ ể

1 T ương t nh kiếốn trúc, hi u qu th c hi n c a thu t toán song ự ư ệ ả ự ệ ủ ậ

song có th rầốt khác nhau, mà yếốu tốố quan tr ng nhầốt nh hể ọ ả ưởng t i đớ ộ

ph c t p tính toán là cầốu hình tố pố liến kếốt m ng ứ ạ ạ

Trang 3

2 Thu t toán song song ph i đậ ả ược thiếốt kếố d a trến nh ng kiếốn th c vếồ ự ữ ứ

kiếốn trúc máy tính, ngốn ng l p trình song song và các phữ ậ ương pháp tính toán.

c) Cách tiếốp c n trong thiếốt kếố: ậ

- Có ba cách tiếốp c n đ thiếốt kếố thu t toán song song:ậ ể ậ

1 Th c hi n song song hoá nh ng thu t toán tuầồn t , biếốn đ i nh ng ự ệ ữ ậ ự ổ ữ

cầốu trúc tuầồn t đ t n d ng đự ể ậ ụ ược nh ng kh năng song song t nhiến ữ ả ự

c a tầốt c các thành phầồn trong h thốống x lý ủ ả ệ ử

2 Thiếốt kếố nh ng thu t toán song song m i phù h p v i kiếốn trúc song ữ ậ ớ ợ ớ

song.

3 Xầy d ng nh ng thu t toán song song t nh ng thu t toán song songự ữ ậ ừ ữ ậ

đã đ ược xầy d ng cho phù h p v i cầốu hình tốpố m ng và mối trự ợ ớ ạ ường song song th c tếố

- Nh v y, cách làm khá thống d ng là biếốn đ i các thu t toán tuầồn ư ậ ụ ổ ậ

t vếồ song song, hay chuy n t m t d ng song song vếồ d ng song song ự ể ừ ộ ạ ạ

phù h p h n sao vầẫn b o toàn đợ ơ ả ược tính tương đương trong tính toán

Do đó, khi biếốn đ i chúng ta cầồn tr l i hai cầu h i:ổ ả ờ ỏ

1 Kiếốn trúc nào phù h p cho bài toán?

2 Nh ng bài toán lo i nào seẫ x lý hi u qu trong kiếốn trúc song song ữ ạ ử ệ ả

cho trước?

Các cách tiếốp c n trong thiếốt kếố:

- Phần rã: Khi bài toán được xác đ nh, cống vi c tính toán và d ị ệ ữ

li u c a bài toán đệ ủ ược phần rã thành nhiếồu tác v

4

Trang 4

- Xác đ nh trao đ i tin (Truyếồn thống): th hi n thống qua luốồng ị ổ ể ệ

thống tin sao cho các tác v đụ ượ ạc t o ra trong cống đo n trến seẫ

được th c hi n đốồng th i Tính toán th c hi n trong m t tác v ự ệ ờ ự ệ ộ ụ

th ường seẫ yếu cầồu d li u kếốt h p v i các d li u khác.ữ ệ ợ ớ ữ ệ

- G p, nhóm (Tích t ): Cống đo n này seẫ g p các tác v nh đã t o ộ ụ ạ ộ ụ ỏ ạ

ra cống đo n phần rã thành các tác v có kích thở ạ ụ ướ ớc l n h n ơ

Khi tích t các tác v nh thành các tác v l n thì chi phí truyếồn ụ ụ ỏ ụ ớ

thống seẫ gi m đi nh ng seẫ làm gi m tiếồm năng th c hi n đốồng ả ư ả ự ệ

th i

- Ánh x : Đầy là cống đo n cuốối cùng, mốẫi tác v seẫ đạ ạ ụ ược ầốn đ nh

vào m t b x lý nào đó ộ ộ ử

1) Hadoop:

a) Đ nh nghĩa: ị

Hadoop là m t mã nguốồn m độ ở ược viếốt băồng java, cho phép x lý

phần tán (distributed processing) các t p d li u l n trến các c m máy ậ ữ ệ ớ ụ

tính (clusters of computers) thống qua mố hình l p trình đ n gi n ậ ơ ả

Hadoop đ ược thiếốt kếố đ m r ng quy mố t m t máy ch đ n sang ể ở ộ ừ ộ ủ ơ

hàng ngàn máy tính khác có tính toán và l u tr c c b (local ư ữ ụ ộ

computation and storage).

b) Các lo i module: ạ

Hadoop gốồm 4 module:

- Hadoop Common: Đầy là các th vi n và ti n ích cầồn thiếốt c a ư ệ ệ ủ

Java đ các module khác s d ng Nh ng th vi n này cung cầốp ể ử ụ ữ ư ệ

h thốống file và l p OS tr u tệ ớ ừ ượng, đốồng th i ch a các mã l nh ờ ứ ệ

Java đ kh i đ ng Hadoop.ể ở ộ

- Hadoop YARN: Đầy là framework đ qu n lý tiếốn trình và tài ể ả

nguyến c a các cluster.

- Hadoop Distributed File System (HDFS): Đầy là h thốống file phần

tán cung cầốp truy c p thống lậ ượng cao cho ng d ng khai thác dứ ụ ữ

li u.

- Hadoop MapReduce: Đầy là h thốống d a trến YARN dùng đ x lýệ ự ể ử

song song các t p d li u l n.ậ ữ ệ ớ

c) Cầốu trúc Hadoop:

Trang 5

d) Ư u đi m: ể

- Robus and Scalable – Có th thếm node m i và thay đ i chúng khi ể ớ ổ

cầồn.

- Affordable and Cost Effective – Khống cầồn phầồn c ng đ c bi t đ ứ ặ ệ ể

ch y Hadoop.

- Adaptive and Flexible – Hadoop được xầy d ng v i tiếu chí x lý ự ớ ử

d li u có cầốu trúc và khống cầốu trúc.ữ ệ

- Highly Available and Fault Tolerant – Khi 1 node lốẫi, nếồn t ng

Hadoop t đ ng chuy n sang node khác.ự ộ ể

- M t đi m c ng khác cho Hadoop nó là mã nguốồn m , có th ộ ể ộ ở ể

t ương thích v i tầốt c platformsớ ả

2) MPI:

a) Đ nh nghĩa: ị

- Mố hình truyếồn thống đi p là m t trong nh ng mố hình lầu đ i ệ ộ ữ ờ

nhầốt và đ ượ ức ng d ng r ng rãi nhầốt trong l p trình song song ụ ộ ậ

Hai b cống c ph biếốn nhầốt cho l p trình song song theo mố ộ ụ ổ ậ

hình này là PVM (Parallel Virtual Machine) và MPI (Message Passing Interface) Các b cống c này cung cầốp các hàm dùng choộ ụ

vi c trao đ i thống tin gi a các tiếốn trình tính toán trong h ệ ổ ữ ệ

thốống máy tính song song

- MPI (Message Passing Interface ) là m t chu n mố t các đ c ộ ẩ ả ặ

đi m và cú pháp c a m t th vi n l p trình song song, để ủ ộ ư ệ ậ ượ ưc đ a

ra vào năm 1994 b i MPIF (Message Passing Interface Forum ), và

đ ược nầng cầốp lến chu n MPI-2 t năm 2001 Có rầốt nhiếồu các thẩ ừ ư

vi n d a trến chu n MPI này ch ng h n nh MPICH, OpenMPI ệ ự ẩ ẳ ạ ư

hay LAM/MPI

- MPICH2 là m t th vi n miếẫn phí bao gốồm các hàm theo chu n ộ ư ệ ẩ

MPI dùng cho l p trình song song theo phậ ương th c truyếồn thống

đi p, đệ ược thiếốt kếố cho nhiếồu ngốn ng l p trình khác nhau (C++, ữ ậ

Fortran, Python, ) và có th s d ng trến nhiếồu lo i h điếồu hành ể ử ụ ạ ệ

(Windows, Linux, MacOS, ).

b) Mố hình l p trình: ậ

6

Trang 6

MPI ra đ i m c đích dành cho các h thốống máy tính có b nh phần ờ ụ ệ ộ ớ

tán Tuy nhiến, MPI cũng có th tri n khai để ể ược trến h thốống máy tính

có b nh chia s ộ ớ ẻ

c) L p trình MPI: ậ

- Header file: yếu cầồu cho m i chọ ương trình đượ ậc l p trình b i MPI

- Đ nh d ng các hàm trong MPI: ị ạ

- Cầốu trúc c a chủ ương trình MPI:

Trang 7

CH ƯƠ NG 2: CÁCH CÀI Đ T MPI Ặ

B ướ c 1: T o m i Project tến “MPI_lau2”, sau đó l u file ạ ớ ư

“MPI_helloworld.cpp”

B ướ c 2: Thiếốt l p theo hậ ướng dầẫn dưới

Thếm đường dầẫn nh hình bến dư ưới (C:\Program Files (x86)\Microsoft SDKs\MPI\Include;$(IncludePath)

Đ nh l i đị ạ ường dầẫn đ dich main - t c thếm vào nh hình dể ứ ư ướ ười đ ng dầẫn: (C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\*.lib;% (AdditionalDependencies)) sau đó copy path này

8

Trang 8

B ướ c 3: Cài l i path h điếồu hành đ ch đếốn file d ch ạ ệ ể ỉ ị C:\Program Files\Microsoft MPI\Bin

Ấn chuột phải vào This PCàPropertiec Tiếp theo vào Advanced system

setting

Trang 9

Vào Environment Variables.

10

Trang 10

- Chọn Path Edit…à

Dán đường dẫn (C:\Program Files\Microsoft MPI\Bin) này vào-àOK

B ướ i 4: D ch File MPI_helloword.cpp (ầốn chu t vào Local Windows ị ộ

Debugger) Kếốt qu d ch cho ra file MPI_lau2.exeả ị

#include <stdio.h>

#include <mpi.h>

int main( int argc , char ** argv ) {

int size, rank;

MPI_Init(& argc , & argv );

MPI_Comm_size( MPI_COMM_WORLD , &size);

MPI_Comm_rank( MPI_COMM_WORLD , &rank);

printf( "SIZE = %d RANK = %d\n" , size, rank);

MPI_Finalize();

return 0;

}

Nh hình dư ướ ểi đ xem đường dầẫn l u file MPI_lau2.exeư

Trang 11

B ướ c 5: Ch y file MPI_lau2.exe

Vào màn hình CMD đ ch y ể ạ

12

Ngày đăng: 11/12/2024, 09:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN