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

Lập trình song song tên Đề tài hướng dẫn cài Đặt mpi & hadoop

67 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Tiêu đề Lập Trình Song Song Hướng Dẫn Cài Đặt MPI & Hadoop
Tác giả Nguyễn Duy Thắng
Người hướng dẫn Nguyễn Đình Lầu
Trường học Trường Đại Học Sư Phạm Đà Nẵng
Chuyên ngành Cử Nhân Công Nghệ Thông Tin
Thể loại đồ án
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 67
Dung lượng 13,01 MB

Nội dung

Điều này đòi hỏi phải phân tích dữ liệu, tìm sự phụ thuộc dữ liệu giữa các bước của thuật toán, phân tích câu lệnh, tìm hiểu các mô hình xử lý song song, hệ thông máy tính và ngôn ngữ lậ

Trang 1

HUONG DAN CÀI ĐẶT MPI & HADOOP

Giảng viên hướng dẫn

: 3120519058 :19CNTTD : CỬ NHÂN CÔNG NGHỆ THÔNG TIN

Trang 2

Lập Trình Song Song GVHD:Nguyén Dinh Lau

LOI CAM ON

Đầu tiên, em xin chân thành cảm ơn các thầy các cô trong khoa Tin học

đã trang bị những kiến thức cho em trong suốt quá trình học tập tại Trường Đại

học

Sư Phạm Đà Nẵng vừa qua Chính nhờ công lao giảng dạy, chỉ bảo tận tình của các thầy các cô mà em mới có được những kiến thức chuyên ngành công nghệ thông tin đề có thê thực hiện tiếp chặng đường học tập, vận dụng và sáng tạo ra những sản phẩm hữu ích góp phần phục vụ các lĩnh vực khác nhau Thứ hai, em xin chân thành cảm ơn cán bộ hướng dẫn Nguyễn Đình Lầu người đã tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình thực hiện đề tài này

Mặc dù đã có nhiều cô gắng đề hoàn thành đồ án nhưng trong phạm vi

và khả năng cho phép, chắc chăn đỗ án không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm, gop y va tận tình chỉ báo của quý thây cô

Em ximm chân thành cảm ơn mọi người!

Đà Nẵng, tháng 01 năm 2022

Sinh viên thực hiện:

Nguyễn Duy Thắng

Trang 3

Lập Trình Song Song GVHD:Nguyén Dinh Lau

NHAN XET CUA CAN BO HUONG DAN

Da Nang, ngay thang nam

Trang 4

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Trang 5

Lập Trình Song Song GVHD:Nguyén Dinh Lau

I Lap Trinh Song Song 341 4

1 Lap trinh song song là ØÌ? c2 121121112 1n xà nen 4

2 Kiến trúc máy tính song song - 5: tt E1 EE2112121 11 tre 5

3 Các mơ hình lập trình song song - 2 122 1222122 21112 re 5

4 Thuật tốn song song ác c1 22211212 H151 1111112 111k 7

TL )u bạaiiiiiadiẳiẳẳiẳiẳẳẳẳaẳaaậậiäAỶŸẢỶẢ 14

1 MPI là gì SH HH HH HH HH HH nà 14

3 Ưu nhược điểm - 2S 2S E515 11155551 5E Heo 14

II Hadoop E221 2211212121211 1111 112115111111 11211 51111115011 H1 11x key 15

Trang 6

Lập Trình Song Song GVHD:Nguyén Dinh Lau

IL Cài đặt Hadoop 2 2 2222122111121 112111 111121112111 1811 18111011111 11ha 23

CHƯƠNG 3: CHẠY CHƯƠNG TRÌNH 5° 52s ssssecssessescse 48

L Chạy chương trình MPI bằng VS 2022 c1 E211 1t E1 rryey 48

IL Chạy MapReduceTDiikstra Trên Hadoop - 5 c2 2222222 re: 56

II Chạy WordCount Trên Hadoop - 222 1211112221111 21112 re 62

Trang 7

Lập Trình Song Song GVHD:Nguyén Dinh Lau

SVTH:Nguyên Duy Thang 1 Lớp:19CNTTD

Trang 8

Lập Trình Song Song GVHD:Nguyén Dinh Lau

MO DAU

I Dat van dé

Ly thuyét đồ thị là một lĩnh vực đã xuất hiện từ lâu trong toán học, tin học và có

nhiều ứng dụng trong thực tế Những tư tưởng cơ bản của lý thuyết đồ thị xuất hiện vào

những năm đầu của thế ky 18 bởi nhà toán học Thụy Sĩ Leonhard Euler trong bài bao về

bảy cây cầu ở Königsberg Từ đó lý thuyết đồ thị ngày càng khẳng định vị tri quan trọng của mình trong việc áp dụng đề giải các bài toán thực tế nhờ vào việc ngày càng tìm ra và chứng minh được các định lý, công thức và thuật toán

Trong các bài toán ứng dụng thực tế, bài toán tìm đường đi ngắn nhất giữa cặp đỉnh của một đồ thị liên thông được ứng dụng rất nhiều và có ý nghĩa hết sức to lớn, ví dụ: chọn hành trình tiết kiệm nhất trên mạng giao thông, lập lịch thi công các công đoạn trong một công trình thi công lớn, lựa chọn đường truyền tin

Tuy nhiên, đối với những bài toán phức tạp với số lượng đữ liệu lớn và phân tán thì thuật toán tìm đường đi ngắn nhất tuần tự xử lý rất lâu hoặc có những trường hợp

thuật toán tuần tự không thực hiện được Điều này đòi hỏi phải phân tích dữ liệu, tìm sự

phụ thuộc dữ liệu giữa các bước của thuật toán, phân tích câu lệnh, tìm hiểu các mô hình

xử lý song song, hệ thông máy tính và ngôn ngữ lập trình để song song hóa các thuật toán tuần tự tương ứng

MPI (Message Passing Interface) là thư viện hỗ trợ lập trình song song trong ngôn ngữ C MPI được phát triển bởi một điển đàn mở quốc tế, bao gồm nhiều tổ chức và phòng thí nghiệm của chính phủ MPI nhanh chóng được ứng dụng rộng rãi và trở thành một trong những mô hình được sử dụng phổ biến cho việc lập trình các hệ thống song song

Xuất phát từ đó tôi quyết định chọn đề tài “Song song hóa thuật toán tùn đường đi ngắn nhất giữa mọi cặp đỉnh sử dụng thư viện M4P?" làm đề tài tốt nghiệp luận văn cao

học

Trang 9

Lập Trình Song Song GVHD:Nguyén Dinh Lau

II Mục đích

Nghiên cứu và song song hóa thuật toán Floyd_ Warshall cho bài toán tìm đường

đi ngắn nhất trên nguồn đữ liệu lớn và phân tán, từ đó nâng cao hiệu quả của việc xử lý

đữ liệu

III Noi dung

Trong luận văn này gồm có 3 nội dung:

- Nội dung I: Crới thiệu

- Nội dung 2: Cài Đặt

- Nội dung 3: Chạy chương trình

IV Phương pháp nghiên cứu

- Nghiên cứu các tài liệu về cơ sở lý thuyết: Lý thuyết đồ thị, xử lý song song

- Sử dụng phương pháp phân tích, so sánh và đánh giá các thuật toán tìm đường đi ngắn nhất

-Tiến hành hướng dẫn cách cài đặt MPI và Hadoop

-Cách chạy một số bài tập liên quan

SVTH:Nguyên Duy Thang 3 Lớp:19CNTTD

Trang 10

Lập Trình Song Song GVHD:Nguyén Dinh Lau

CHUONG 1: MO DAU

I Lap Trinh Song Song

1 Lap trinh song song 1a gi?

- Những van đề về xử lý ngôn ngữ tự nhiên, nhận dạng, xử lý ảnh ba chiều, dự báo

thời tiết, mô hình và mô phỏng những hệ thống lớn trong thực tế đều đòi hỏi phải xử lý

dữ liệu với tốc độ rất cao và khối lượng đỡ liệu rất lớn

- Do đó, cần phải có những hệ thông máy tính thật mạnh mới thực hiện được

những yêu cầu trong thực tế một cách nhanh chóng và hiệu quả Điều này còn gặp nhiều khó khăn do khả năng giới hạn về vật lý Vì vậy, hướng xử lý song song là đùng các hệ thống máy tính đa bộ xử lý hoặc bộ xử lý đa nhân được lựa chọn đề giải quyết các bài

toán đặt ra

- Xử lý song song là quá trình xử lý gồm nhiều tiến trình được kích hoạt đồng thời

và cùng tham gia giải quyết một vấn đề, nói chung là thực hiện tính toán trên những hệ thông đa bộ xử lý

- Tính toán song song là một hình thức tính toán trong đó nhiều phép tính được thực hiện đồng thời, hoạt động trên nguyên tắc là những vấn đề lớn đều có thê chia thành nhiều phần nhỏ hơn đề giải quyết đồng thời trên các bộ xử lý

Một chương trình máy tính, về bản chất là một loạt những câu lệnh được thực hiện

bởi một bộ xử lý Những câu lệnh này sẽ được sắp xép lại và kết hợp thành các nhóm mà sau đó được thực hiện song song mà không thay đối kết quả của chương trình Đây được gọi là song song cấp câu lệnh

Một công việc phức tạp hơn so với lập trình tuần tự thông thường, người phát triển phải thực hiện một quá trình “song song hóa”, biến đôi các chương trình tuần tự thành chương trình song song có khả năng tận dụng tối đa sức mạnh của hệ thống

Lập trình song song bào gồm các bước :

-Phân hủy một thuật toán hay các dữ liệu đầu vào

-Phân chia nhiệm vụ cho các bộ phận để làm việc trong bộ vị xử lý cùng một lúc

-Phối hợp và trao đổi giữa các bộ vi xử lý

Trang 11

Lập Trình Song Song GVHD:Nguyén Dinh Lau

2 Kién tric may tinh song song

- Những van đề về xử lý ngôn ngữ tự nhiên, nhận dạng, xử lý ảnh ba chiều, dự báo

thời tiết, mô hình và mô phỏng những hệ thống lớn trong thực tế đều đòi hỏi phải xử lý

dữ liệu với tốc độ rất cao và khối lượng đỡ liệu rất lớn

- Do đó, cần phải có những hệ thông máy tính thật mạnh mới thực hiện được

những yêu cầu trong thực tế một cách nhanh chóng và hiệu quả Điều này còn gặp nhiều khó khăn do khả năng giới hạn về vật lý Vì vậy, hướng xử lý song song là đùng các hệ thống máy tính đa bộ xử lý hoặc bộ xử lý đa nhân được lựa chọn đề giải quyết các bài

toán đặt ra

3 Các mô hình lập trình song song

Việc đưa ra một mô hình máy tính chung cho việc lập trình giúp cho việc thiết kế giải thuật trở nên đơn giản hơn Lập trình song song đưa thêm những khó khăn mới vào mô hình lập trình tuần tự Nêu chương trình được thực hiện ở mức thấp nhất thì không những số lệnh thực hiện là rất lớn mà nó còn phải trực tiếp quản lý quá trình thực hiện song song của hàng nghìn bộ xử lý và kết hợp hàng triệu tương tác liên bộ

xử lý Bởi vậy khả năng trừu tượng và tính toán module là các đặc tính rất quan trọng trong lập trình song song Các mô hình thông dụng bao gồm:

- M6 hinh chia sẽ bộ nhớ

- - Mô hình luỗng

- _ Mô hình truyền thông điệp

- Mô hình song song đữ liệu

3.1 Mô hình chia sẽ bộ nhớ

Trong mô hình này, nhiệm vụ cùng chia sẽ một không gian địa chí chung có thê được truy cập đọc ghi theo phương thức không đồng bộ Các cơ chế khác nhau như khóa (locks) và semaphore được điều khiển đề truy cập đến bộ nhớ toàn cục

Nhược điểm của mô hình này là khó giữ lại được tính nguyên thủy của dữ liệu khi

mà nhiều bộ xử lý dùng cũng đữ liệu này

Lợi thế của mô hình là người lập trình không cần chỉ định việc truyền đữ liệu giữa

các task; chương trình được phát triển thường được đơn giản hóa

1.3.2 Mô hình luồng

Trong mô hình luồng chương trình chính được chia thành các nhiệm vụ Mỗi

nhiệm vụ được thực hiện bởi các luồng một cách đồng thời Mỗi một luồng có dữ liệu

SVTH:Nguyên Duy Thang 5 Lớp:19CNTTD

Trang 12

Lập Trình Song Song GVHD:Nguyén Dinh Lau

riêng của nó va chia sẽ dữ liệu toàn cục của chương trình chính Các nhiệm vụ đưa cho

mỗi luỗng là các thủ tục con của chương trình chính Bất kỳ luồng nào cũng có thê thực hiện bất kì thử tục con nào tại cùng thời điểm với các luồng khác Trong mô hình luồng các luồng kết nối với nhau thông qua bộ nhớ toàn cục với việc kết nối này thì chương trình phải được xây dựng một cách đồng bộ đề tránh cùng một lúc có nhiều luồng cùng

cập nhập một vị trí trong bộ nhớ toàn cục

3.2 Mô hình luống

Trong mô hình luồng chương trình chính được chia thành các nhiệm vụ Mỗi

nhiệm vụ được thực hiện bởi các luồng một cách đồng thời Mỗi một luồng có dữ liệu riêng của nó và chia sẽ dữ liệu toàn cục của chương trình chính Các nhiệm vụ đưa cho

mỗi luỗng là các thủ tục con của chương trình chính Bất kỳ luồng nào cũng có thê thực hiện bất kì thử tục con nào tại cùng thời điểm với các luồng khác Trong mô hình luồng các luồng kết nối với nhau thông qua bộ nhớ toàn cục với việc kết nối này thì chương trình phải được xây dựng một cách đồng bộ đề tránh cùng một lúc có nhiều luồng cùng

cập nhập một vị trí trong bộ nhớ toàn cục

3.3 Mô hình truyền thông điệp

Trong mô hình truyền thông điệp chương trình song song được chia thành các tác

nhiệm Mỗi tập các tác nhiệm sử dụng bộ nhớ cục bộ riêng của chúng trong quá trình tính

toán Nhiều tác nhiệm có thê năm trên cùng một máy cũng như năm trên nhiều máy

Tác vụ 0 Mane Tac vy |

Gửi dữ liệu Nhận dữ liệu

Các tác nhiệm trao đổi dữ liệu thông qua truyền thông bằng cách gửi và nhận các thông điệp

Có nhiều thư viện truyền thông điệp, nhưng chúng khác nhau đáng kẻ, gây khó khăn cho các nhà lập trình trong việc phát triển các ứng dụng di động MPI Forum được

SVTH:Nguyên Duy Thang 6 Lớp:19CNTTD

Trang 13

Lập Trình Song Song GVHD:Nguyén Dinh Lau

lập ra với mục đích thiết lập một chuẩn cho việc triển khai mô hình truyền thông điệp

Hiện nay, MPI là chuẩn mô hình truyền thông điệp

3.4 Mô hình phân hoạch dữ liệu

Mô hình lập trình song song dữ liệu giúp lập trình các chương trình song song được thực hiện trên một tập dữ liệu lớn Tập dữ liệu ở đây thường được sắp xếp theo một

cầu trúc nhất định như là máng hoặc theo khối Với mô hình này thì các nhiệm vụ của

chương trình làm việc với cùng một câu trúc dữ liệu Tuy nhiên mỗi nhiệm vụ sẽ làm việc trên từng phân vùng khác nhau của dữ liệu và các nhiệm vụ phải thực hiện các thao tác

A(i)}=B(i)* delta A(i)=B(i)*delta A(i)=B(i)*delta

end do end do end do

Tac vu | Tac vu 2 ese Tac vun

Trong kiến trúc chia sẽ bộ nhớ chung, tất cả các nhiệm vụ truy cập vào cầu trúc đữ

liệu thông qua bộ nhớ toàn cục Còn đối với kiến trúc bộ nhớ phân tán thi dữ liệu được

chia ra va lưu trữ trên các bộ nhớ cục bộ của các bộ xử lý

4 Thuật toán song song

4.1 Quy trình thiết kế thuật toán song song

Song song hóa thuật toán là chuyên một thuật toán tuần tự đã có thành một thuật

toán song song Quy trình thiết kề thuật toán song song thực hiện qua bốn công đoạn: phân rã (Partition), truyền thông (Communication), tích tụ (Agglomeration) và ánh xạ

(Mapping) [12]

- Phân rã: Khi bài toán được xác định, công việc tính toán và đữ liệu của bài toán

được phân rã thành nhiều tác vụ Ta cố găng chú trọng vào việc xác định được nhiều tác

vụ cảng nhiêu càng tôt nều có thê Sô lượng tác vụ có thê lớn hơn nhiêu so với sô lượng

SVTH:Nguyên Duy Thang 7 Lớp:19CNTTD

Trang 14

Lập Trình Song Song GVHD:Nguyén Dinh Lau

bộ xử lý đề linh hoạt hơn khi áp đụng vào mô hình thực tế Trong giai đoạn này ta chưa

dé cap đến vấn đề truyền thông, cầu trúc máy tính song song mà chỉ đề cập đến việc xác định được các khả năng thực hiện song song của bài toán Mục đích của công đoạn này là

ta tìm ra tập các tác vụ độc lập với nhau của bài toán và chú ý việc kết hợp dữ liệu, xác

định kết hợp tính toán với đữ liệu như thế nào

- Truyền thông: Công đoạn truyền thông được 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 sẽ được thực hiện đồng thời Tính toán thực hiện trong một tác vụ thường sẽ yêu cầu dữ liệu kết hợp với các dữ liệu khác Sau đó, đữ liệu phải được truyền giữa các tác vụ để cho phép thực hiện tính toán

- Tích tụ: Công đoạn này sẽ 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 sẽ giảm đi nhưng sẽ 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ụ sẽ được ấn định vào một bộ xử

ly nao do

4.2 Nguyên lý thiết kế thuật toán song song

Những thuật toán, trong đó có một số thao tac co thé thực hiện đồng thời được gọi

là thuật toán song song

Đề thiết kế được các thuật toán song song cần phải thực hiện:

- Phân chia dữ liệu cho các tác vụ

- Chỉ ra cách truy cập và chia sẻ dữ liệu

- Phân các tác vụ cho các tiến trình (bộ xử lý)

- Các tiền trình được đồng bộ ra sao

Có năm nguyên lý chính trong thiết kế thuật toán song song [l]:

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

Trang 15

Lập Trình Song Song GVHD:Nguyén Dinh Lau

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 đữ 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ê can 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 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

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

4.3 Các cách tiếp cận trong thiết kế

- Song song hóa các thuật toán tuần tự biến đổi những cầu trúc tuần tự đề tận

dụ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ý

- Thiết kế thuật toán song song hoàn toàn mới

- Thiết kế thuật toán song song từ những thuật toán song song đã được xây

dựng

4.4 Phân tích, đánh giá thuật toán song song

Trong thuật toán tuân tự chúng ta chỉ quan tâm đến độ phức tạp về thời gian và không gian, nhưng trong thuật toán song song thường có thêm một số đại lượng đo lường khác Độ phức tạp thời gian của thuật toán song song không

chỉ đơn giản là việc đếm số câu lệnh cơ bản như trong thuật toán tuần tự mà

thay vào đó nó phụ thuộc vào các phép toán cơ bản này có thê được thực hiện trên p bộ xử lý như thế nào Bên cạnh độ phức tạp thời gian độ phức tạp về số

bộ xử lý cũng là một đại lượng quan trọng trong phân tích thiết kế thuật toán song song

Thiết kế thuật toán song song hiệu quả bao gồm việc lựa chọn cấu trúc

đỡ liệu phù hợp, phân bố bộ xử lý và cudi cùng là thực hiện thuật toán Ba đại

lượng này tác động lẫn nhau như một tô chức tính toán

SVTH:Nguyên Duy Thang 9 Lớp:19CNTTD

Trang 16

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Đánh giá thuật toán song song

Độ phức tạp tính toán của thuật toán song song không chỉ phụ thuộc vào kích cỡ của đữ liệu đầu vào mà còn phụ thuộc vào kiến trúc máy tính song song

và sô lượng các bộ xử lý được phép sử dụng trong hệ thống Độ phức tạp thời gian là thước đo quan trọng nhất đánh giá mức độ hiệu quả của thuật toán song song Chúng ta giả thiết rằng mô hình tính toán có p bộ xử lý Nghĩa là mức độ song song có giới hạn Ngược lại, mức độ song song không bị giới hạn khi số các bộ xử lý là không bị chặn Độ phức tạp của thuật toán song song sử dụng p

bộ xử lý đề giải một bài toán có kích cỡ n là hàm f{n,p) xác định thời gian cực

đại trôi qua giữa thời điểm bắt đầu thực hiện thuật toán với một bộ xử lý và thời

điểm kết thúc của các bộ xử lý đối với bộ dữ liệu vào bất kỳ Có hai loại thao

tác khác nhau trong các thuật toán song song:

1 Các phép toán cơ sở nhu +,-,*,/,AND,OR

2 Các phép toán truyền dữ liệu trên các kênh truyền

Độ phức tạp thời gian của thuật toán song song được xác định bởi số các phép toán cơ sở và số các bước truyền tải đữ liệu giữa các bộ xử lý với nhau

Từ đó suy ra, độ phức tạp thời gian của thuật toán song song không chỉ phụ thuộc vào mô hình tính toán mà còn phụ thuộc vào số bộ xử lý được sử dụng Nói chung, chương trình tính toán song song thường bắt đầu bằng việc

nhập đữ liệu vào bộ nhớ và kích hoạt một phan tử xử lý Mỗi bước tính toán,

phần tử xử lý này có thể đọc một số dữ liệu từ bộ nhớ, thực hiện một số phép

toán cơ sở và ghi kết quả vào bộ nhớ riêng hoặc bộ nhớ chung Đồng thời mỗi

bước tính toán, một phần tử xử lý có thê kích hoạt một hay một số phân tử xử lý khác Thực tế thì các máy đều có số bộ xử lý là hữu hạn, nên những thuật toán song song không bị giới han chỉ có nghĩa sử dụng khi chúng có thê chuyến đổi

về thuật toán song song bị giới hạn

Thời gian tính toán song song

Trang 17

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Đề đánh giá được độ phức tạp tính toán của các thuật toán song song, ngoài số bước tính toán chúng ta còn cần đánh giá thời gian truyền thông của các tiền trình Trong một hệ thông truyền thông điệp, thời gian truyên thông điệp cũng phải được xem xét trong thời gian thực hiện của thuật toán

Thời gian thực hiện song song, ký hiệu là tp ¬gồm hai phan la tcomp va

tcomm

tp = tcomp + tcomm

Trong đó tcomp là thời gian tính toán và tcomm là thời gian truyền thông

dữ liệu Thời gian tính toán tcomp được xác định giồng như thuật toán tuân tự

Khi có nhiều tiến trình thực hiện đồng thời thì chỉ cần tính thời gian thực hiện

của tiên trình phức tạp nhất Trong phân tích độ phức tạp thuật toán, chúng ta luôn giả thiết rằng, tất cả các bộ xử lý là giống nhau và cùng một tốc độ xử lý như nhau Đối với những cụm máy tính không thuần nhất thì điều này không dam bảo nên việc đánh giá thời gian tính toán của những hệ như thế là rất phức

tạp

Thời gian truyền thông tcomm lại phụ thuộc và kích cỡ của các thông điệp, vào cầu hình kết nỗi mạng đường truyền và các cách thức truyền tải thông điệp Công thức ước lượng thời gian truyền thông điệp được xác định như sau:

tcomm = tstartup + n tdata Trong đó, tstartup là thời gian cần thiết để gửi những thông điệp

không phải là đữ liệu Nó bao gồm cả thời gian để đóng gói thông điệp ở nơi

gửi và thời gian mở gói ở nơi nhận Để đơn giản chúng ta giả thiết thời gian này

là hằng số

tdata là thời gian cần thiết để chuyển một mục đữ liệu (data word) từ

nơi gửi tới nơi nhận, được giả thiết là hằng số và n là số từ đữ liệu được trao đổi

trong hệ thống

SVTH:Nguyên Duy Thang 11 Lép:19CNTTD

Trang 18

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Chi phí cho một thuật toán song song được xác định bằng tích của

thời gian tính toán song song và số bộ xử lý được sử dụng Chi phí này phản ánh tông số thời gian mà một bộ xử lý dùng đề giải quyết bài toán

Hệ số tăng tốc cũng là yêu tô đáng chủ ý khi đánh giá thuật toán song

song được song song hoa từ một thuật toán tuần tự

Hệ số tăng tốc là tí lệ giữa thời gian thực hiện của thuật toán tuần tự ts

và thời gian thực hiện của thuật toán song song tp với p bộ xử lý

Sp =ts/tp Giả sử các bộ xử lý trong hệ thống song song hoàn toàn giống với bộ

xử lý sử dụng trong tính toán tuần tự và ts là thời gian thực hiện bài toán bằng tính toán tuần tự tối ưu nhất Hệ số tăng tốc lý tưởng đạt được khi Šp = p

Rõ ràng khả năng tăng tốc càng lớn thì giải thuật song song càng tốt Tuy nhiên, năm 1967 Amdahl đã đưa ra luật về giới hạn khả năng tăng tốc như sau:

Khi tăng số lượng bộ xử lý trong máy tính song song, khối lượng

công việc được phân phối với nhiều bộ xử lý thực hiện Mục tiêu chính là tìm được kết quả bài toán nhanh nhất có thê hay nói cách khác là giảm đến mức tối

đa thời gian tính toán

Luật Amdahl: luật này phát biểu rằng nếu P là tỉ lệ có thê song song hóa của thuật toán tuần tự thì hệ số tăng tốc lớn nhất có thê đạt được khi sử đụng N bộ xử lý là 1/((1-P)

+P/N) Ta có biểu đồ thể hiện luật Amdahl như hình 1.10

Trang 19

GVHD:Nguyén Dinh Lau

Lap Trinh Song Song

Hiệu suất của tính toán song song là tỉ sô giữa hệ sô tăng tôc và sô các phân tử xử

lý trong hệ thông song song

SVTH:Nguyên Duy Thang 13 Lép:19CNTTD

Trang 20

Lập Trình Song Song GVHD:Nguyén Dinh Lau

thi hành bao gồm một thư viện các thủ tục sao cho có thể gọi được từ các

chương trình Fortran, C, C++ hay Ada Lợi thế của MPI so với các thư viện cũ

là nó vừa thuận tiện (vì MPI thực thị cho hầu hết các kiến trúc bộ nhớ phân

phối) vừa nhanh (vì mỗi thủ tục được tôi ưu hóa cho phần cứng mà nó đang chạy) Thường được so sánh với PVM và có thê kết hợp nó đề tạo thành

Parallel Execution) là một hướng tiếp cận sử dụng kỹ thuật đánh dấu tiến trình

(Checkpointing) đề cài đặt OpenMP trên các kiến trúc sử đụng bộ nhớ phân tán Bài báo này đi sâu vào việc phân tích và đánh giá hiệu năng hoạt năng hoạt

động của CAPE thông qua việc so sánh mô hình hoạt động của nó với mô hình

của MPIL, từ đó đưa ra những nhận định cho việc sử dụng CAPE một cách hiệu

quả

Nhược điểm:

nhược điểm lớn nhất của MPI là chỉ có thể chạy trên các kiến trúc sử

dụng bộ nhớ chia sẻ

Trang 21

Lập Trình Song Song GVHD:Nguyén Dinh Lau III Hadoop

1 Hadoop la gi

Hadoop là một mã nguồn mở được viết bằng java, cho phép xử lý phân tan (distributed processing) các tập đữ liệu lớn trên các cum may tinh (clusters

of computers) thong qua mé hinh 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)

Hadoop gồm 4 module:

Hadoop Common: Day 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 ñle 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: Day la framework dé quán lý tiến trình và tài nguyên của cac cluster

Hadoop Distributed File System (HDFS): Day la hé thong file phan

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 đữ liệu lớn

SVTH:Nguyên Duy Thang 15 Lép:19CNTTD

Trang 22

Lập Trình Song Song GVHD:Nguyén Dinh Lau

MapReduce (Distributed Computation)

HDFS (Distributed Storage)

2 Ung Dung Hadoop

© - Xử lý và làm việc khối lượng dữ liệu không lỗ tính bang Petabyte

e - Xử lý trong môi trường phân tán, đữ liệu lưu trữ ở nhiều phần cứng khác nhau, yêu cầu xử lý đồng bộ

© Cac lỗi xuất hiện thường xuyên

® - Băng thông giữa các phần cứng vật lý chứa dữ liệu phân tán có giới

hạn

3 Ưu nhược điểm

Ưu điểm

Trang 23

Lập Trình Song Song GVHD:Nguyén Dinh Lau

-Khả năng mở rộng cao: Hadoop là một nền tảng lưu trữ có khả năng mở rộng cao bởi vì nó có thê lưu trữ và phân phối các bộ dữ liệu rất lớn trên hàng trăm máy chủ hoạt động song song Không giống như các hệ thông cơ sở đữ liệu quan hệ truyền thống (RDBMS) không thê mở rộng xử lý lượng lớn đữ liệu, Hadoop cho phép các doanh nghiệp chạy các ứng dụng trên hàng ngàn node liên quan tới hàng ngàn Terabyte dữ liệu

-Chi phí hiệu quả: Hadoop cũng cung cấp một giải pháp lưu trữ hiệu quả

về chỉ phí cho các dữ liệu của doanh nghiệp Vẫn đề với các hệ thống quản lý

cơ sở dữ liệu quan hệ truyền thống là nó được đầu tư tối đa chi phí để mở rộng

tới một mức độ đề xử lý khối lượng lớn đữ liệu Đề giảm chỉ phí, nhiều công ty

sẽ phải phân loại đữ liệu thành các dạng mẫu dựa trên một số gái định khi dữ liệu đó có giá trị nhất Các dữ liệu thô sẽ được xóa bỏ vì nó tạo nên gánh nặng

chi phí Thêm vào đó, phương pháp này chỉ có thể đáp ứng trong ngắn hạn

Điều đó có nghĩa khi các ưu tiên kinh doanh thay đổi, các dữ liệu thô hoản

chỉnh cần thiết không có sẵn vì nó quá đắt đề lưu trữ Ngược lại, Hadoop được thiết kế như một kiến trúc quy mô có chi phí thấp nhưng có thê lưu trữ tất cả các đữ liệu của công ty đề sử dụng sau Hadoop giúp tiết kiệm chỉ phí dang kinh ngạc: thay vi chi phsi hàng ngàn đến hàng chục ngàn $ mỗi Terabyte,

Hadoop cung cấp khả năng tính toán và lưu trữ mỗi Terabyte chỉ với vài trăn $ -Linh hoạt: Hadoop cho phép các doanh nghiệp để dàng tiếp cận các

nguồn dữ liệu mới và khai thác các loại dữ liệu khác nhau( cả hai đều có cầu

trúc và phsi cầu trúc) dé tao ra giá trị từ đữ liệu đó Điều này có nghĩa các

doanh nghiệp có thể sử dụng Hadoop đề thu được những hiểu biết kinh doanh

có giá trị từ đữ liệu đó Điều đó có nghĩa các doanh nghiệp có thê sử dụng

Hadoop đề thu được những hiểu kinh doanh có giá trị từ các nguồn đữ liệu như

phương tiện truyền thông xã hội, các cuộc hội thoại email hoặc dữ liệu kích

chuột, thống kê sở thích, hoạt động của người đùng Ngoài ra Hadoop có thê

được sử dụng cho nhiều mục đích, chăng hạn như xử lý đăng nhập, các hệ

SVTH:Nguyên Duy Thang 17 Lép:19CNTTD

Trang 24

Lập Trình Song Song GVHD:Nguyén Dinh Lau

thống được đề nghị, kho dữ liệu phân tích chiến dịch thị trường và phát hiện

gian lận

-Nhanh: Phương pháp lưu trữ độc đáo của Hadoop dựa trên một hệ thông tập tin phân phối theo các “bản đồ” dữ liệu Các công cụ xử lý dữ liệu thường nằm trên cùng một máy chủ với dữ liệu nên kết quả xử lý đữ liệu nhanh hơn nhiều Nếu chúng ta đang làm việc với khối dữ liệu lớn phi cấu trúc, Hadoop có thê xử lý hiệu quả mỗi tetabyte dữ liệu chỉ trong vài phút và mỗi petabye trong Vài ĐIỜ

-Khả năng chịu lỗi: Một điểm tuyệt vời của Hadoop nữa là khả năng chịu

lỗi của nó Khi dữ liệu được gửi đến một nút nào đó thì đữ liệu cũng được nhân

rộng đến các node khác trong cluster Vì vậy, trong trường hợp thất bại thì luôn

có một bản sao có sẵn đề sử dụng Kiến trúc của Hadoop cung cấp cơ chế bảo

vệ đữ liệu ở cả duy nhất một node và nhiều node Khi nói đến xử lý dữ liệu một

cách an toàn và chỉ phí hiệu quả Hadoop có lợi thế hơn các hệ thông quản lý cơ

sở dữ liệu quan hệ và giá trị của nó cho một doanh nghiệp sẽ tiếp tục tăng khi

dữ liệu phi cau trúc ngày càng nhiều thêm

Nhược điểm

-Hadoop không có mô hình bảo mật và tính phức tạp cao

-Hadoop không cung cấp lưu trữ hoặc mã hóa dữ liệu mức mạng, trong

khi đây là mối quan tâm rất lớn đối với dữ liệu ứng dụng đối tượng khách hàng

cần độ bảo mật thông tin như chính phủ, ngân hàng

-HDFS không hiệu quả đề xử lý các tap tin no

-MapReduce không thích hợp đề sử dụng các trường hợp có nhu cầu truy

cập đữ liệu thời gian thực

-MapReduce kho biểu diễn đữ liệu đầu ra theo nhu cầu cần sử dụng

Trang 25

Lập Trình Song Song GVHD:Nguyén Dinh Lau

CHUONG 2: CAI DAT

L Cai dat MPI

1 Cai dit Visual studio 2022

Bước l:Giải nén

Hors :

‘Se sWucturizr-5s0 14 |-ciagrams Chrome I11MIL Luôcu

{8B PhanTichThietKeDoiTuong (1)

“| Documents #

= Pictures z

{3 PhantichthietXeDoiTuong

Bi tadoop ‘Ge windews_10_cmeke_ Release graphviz-install-6.0 42

I hadoop 2.7.6 (i je-8u351 -windows-x64 at

7 lau 5) Huong dan cai dat Hadoop HDH Windows

)) MapReduceWorc {BB Hadoop bin files

kích chuột phải vào

Visual Studio Setup

{i} Documents VSCodeUserSetup-x64-1.7 2) File description: Visual Studio Insta =

D) Microsoft Teams {BB 29.07.2020-baigiai_lotrinh4| ¢ ‘ompany: Microsoft Corporation N ye

= Pictures BE bai tạo vong lap chuông 5| FÍl 2929.385, 4 PM 23 KB

2 11:15 PM

_ Têp trò chuyên c Last month (8)

we the PC i) 399671-cat black cats-black-daricselactive col G Fi

Bước 2:Vào thư mục đề cài đặt

e > VisualStudio2022

A

Of) VisualStudioSetup.exe 2/8/2022 10:11 AM Application 1,613 KB

Visual Studio Installer

Before you get started, we need to set up a few things so that you can configure your installation

To learn more about privacy, see the Microsoft Privacy Statement

By continuing, you agree to the Microsoft Software License Terms

Trang 26

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Bước 3: Bấm double click vao “VisualStudioSetup.exe”, néu co ctra s6

bé nhỏ nào đó hiển thị lên thì bấm “Continue”, sau đó chờ nhé

Visual Studio Installer

Trang 27

Lập Trình Song Song GVHD:Nguyễn Đình Lầu

Installing — Visval Studio Commurity 2022 — 17.0.5

Werkloads Individual components Languagepacks - Installation locations

Web & Cloud (4) i

Installation details ASPNET and web development Oo A Azure development Tad NET di lesktop development

@ Build web applications using ASP.NET Core, ASP.NET Azure SDKs, tools, and projects for Sen tact cloud apps P PF

HTMUJavaSeript and Containers including Dacker sup and creating resources using NET and NET Fi ~ Included

¥ .NET desktop development tools

S NET Framework £7.2 development tools

Y C# and Visual Base

Editing, deougging, interactive development and source Build scaleble network applications using Nodejs, an : l ›

convol ferPyben soynchrensue ant-diven lwafclpt roi Na

NET Framework 48 development teals

TG Blend tor Viewal Studio

EZ Entity Framework 6 tools

Mobile development with NET NET desktop developmen

Build cross-platform applications for iOS, Android or Build WPF Windows Farms, and console applications

Windows using Xemar using Ce, Visue! Basic, and F4 with NET end NET Prane

MLNET Model Builder

FR desktop language support

PreEmptive Protection -Dotfuscator

Desktop development with C++ Universal Windows Platform development NET Framework 46.2-47.1 development t Build modern C+ apes for Windows using toos of yo hoirr,incuding MSVC, Clang CMhke, or MSBuád 1B Create applications for Une Universal Windows Platform woth nally Coe INET Rirtetie Ulepey Sempetine sack

Location

CAPregrars File\Micraroft Vauat Studio\022\Community Change

By contang yeu agi tothe en or the Visual Stu eiton you sale i aloe the ability te dewrioad ther tan with Vie Total space required 6.15 GB Studio This software islicenzed separstey, a5 set ovtin the 3rd Party Notices ar in ts accompanying license By coniauts Bien oes ogre lMm se

Install while downlesding + | Install |

i

O trén Tui chon “Desktop development with NET”

OK, nhu vay xem nhu da lva chọn xong, phan nut “Install” & góc phải

phía đưới màn hình đề bắt đầu chờ nó tải và cài đặt (khá lâu tùy vào độ trâu của

Trang 28

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Visual Studio Installer

6@ Visual Studio Community 2022 Pause Sere Noe

DJ Visual Studio Build Tools 2019 (2

© Update available

04 Visual Studio Enterprise 2019

© Update available

View detail

Ban thay ở trên đó, nó đang tải, tải xong thì nó sẽ cài hãy chờ trong

niềm hoan hi, chờ đợi trong hạnh phúc vui vẻ không quạ, mặt đã già sẵn rồi,

đừng tạo thêm nếp nhãn vỉ sự quạ nữa

Visual Studio Installer

Trang 29

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Chờ nó hoàn tắt

Khi nó ra được màn hình Welcome dưới đây là đã thành công

HH Microsoft Visual Studio

II Cai dat Hadoop

1 Cai dat JDK (Bat Buộc)

SVTH:Nguyên Duy Thang 23 Lép:19CNTTD

Trang 30

Lập Trình Song Song

Nư nen hở TY Ee top

€ 2 @ G jdk

VÉ ANH ve ory

Products industries Resources Customers Partners Developers Events Company

GVHD:Nguyén Dinh Lau

WS 286 0AkhuE kAY - 32/08 ĐA otestatEtoororlcieygtviemsteayeetrtsrsrvolcomzroteeetve AT: oy

Solaris SPARC 64-bit (SVR4 package) 125.09 MB nã jdk-8u202-solaris-sparcv9,tat,Z

Windows x64 211.58 MB 4, idk-8u202-windows-x64.exe

Java SE Runtime Environment 8u202

This software is licensed under the Oracle Binary Code License Agreement for Java SE Platform Products

Bam vao link dé tai, chuong trinh xuất hiện như bên dưới:

Products Industries Resources Customers Partners Developers Events Company

Q @ View Accounts i: So Đo

Tick vao “I reviewed and accept the Oracle ”

R6i bam download

Chương trình yêu cầu đăng nhập:

iy Jre-8u202-änux-I586.rpm

SVTH:Nguyén Duy Thang 24 Lép:19CNTTD

Trang 31

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Nếu chưa có tài khoản thi ctr dang ky “Create Account”

Khi đăng nhập thành công, Oracle sẽ hỏi nơi lưu trữ file tải:

SVTH:Nguyên Duy Thang 25 Lép:19CNTTD

Trang 32

Lập Trình Song Song GVHD:Nguyén Dinh Lau

4ˆ » This PC > DATA (D:) > Hadoop » vy oO Search Hadoop

Organize - New folder ©

Save as type: Application (*.exe)

* Hide Folder Cancel

Ta chọn nơi lưu trữ rồi bam Save

| > This PC > DATA (D:) > Hadoop

Trang 33

Lập Trình Song Song GVHD:Nguyén Dinh Lau

Pava SE Development Kit 8 Update 201 (64-bit) - Setup x

Welcome to the Installation Wizard for Java SE Development Kit 8 Update 201

This wizard will guide you through the installation process for the Java SE

Development Kit 8 Update 201

The Java Mission Control profiling and diagnostics tools suite is now available art of the JDK

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