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

Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN SONG SONG

38 368 0

Đ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 38
Dung lượng 308,04 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MPICH-V tập trung vào 2 vấn đề hiệu năng căn bản: thứ nhất, khi nghiên cứu hiệu năng khôi phục của giao thức ghi lại thông điệp cho thấy giao thức này thường không đảm bảo giảm lượng chi

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP.HCM

KHOA: KHOA HỌC MÁY TÍNH

BÀI THU HOẠCH MÔN: ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY

Trang 2

LỜI CẢM ƠN

Đầu tiên, người thực hiện xin chân thành cảm ơn PGS.TS Nguyễn Phi Khứ, Thầy đã tận tình giảng dạy và truyền đạt những kiến thức vô cùng bổ ích giúp bài thu hoạch này được hoàn thành đúng thời hạn Thầy đã giới thiệu đến học viên những kiến thức bổ ích về Grid computing, Cloud computing, qua đó học viên đã nắm bắt được những kiến thức nền tảng và áp dụng xây dựng những ứng dụng cụ thể vào công việc hiện tại.

Xin chân thành cảm ơn quý thầy cô ở phòng đào tạo Sau đại học đã tạo những điều kiện thuận lợi nhất trong học tập cũng như công tác đào tạo giúp hoàn thành bài thu hoạch này.

Cảm ơn các anh chị học viên cùng khóa và các anh chị học viên những khóa trước đã cung cấp những nguồn tài liệu phong phú góp phần quan trọng trong việc hoàn thành bài thu hoạch này.

Về bài thu hoạch, người thực hiện đã cố gắng vận dụng những kiến thức đã học được ở lớp, cái tài liệu liên quan do thầy và các bạn cung cấp cũng như những tài liệu đã tìm kiếm được để tìm hiểu môi trường chống lỗi MPICH-V trong hệ thống tính toán song song Kính mong thầy cô cùng các bạn góp ý thẳng thắn giúp bài thu hoạch được hoàn thiện hơn.

Trang 3

LỜI NÓI ĐẦU

Giao thức phục hồi lỗi dùng ghi lại thông điệp là giải pháp tốt cho việc xây dựng các ứng dụng có khả năng chống lỗi Nhiều giao thức kiểu này được

sử dụng trong thực tiễn cho các ứng dụng đòi hỏi độ tin cậy cao Giao thức này tồn tại 2 vấn đề sau: thứ nhất, giao thức khôi phục đã có chỉ hỗ trợ các giao thức phục hồi đơn tiến trình; thứ hai, hiệu năng giao thức này trong thực

tế không cao.

Để giải quyết vấn đề trên môi trường truyền thông chống lỗi MPICH-V

sẽ được sử dụng Môi trường này được phát triển tại trung tâm nghiên cứu tại truờng đại học LRI Kiến trúc MPICH-V dựa trên nền điều khiển thống nhất các sự kiện không xác định (các sự kiện không xác định -theo định nghĩa là các sự kiện chuyển giao thông điệp giữa các tiến trình) Kiến trúc này cho phép mô tả giao thức phục hồi như một chương trình điều khiển sự kiện MPICH-V cài đặt dễ dàng, tính mở đối với các hệ thống khác với chi phí lập trình cho việc tích hợp không lớn.

MPICH-V tập trung vào 2 vấn đề hiệu năng căn bản: thứ nhất, khi nghiên cứu hiệu năng khôi phục của giao thức ghi lại thông điệp cho thấy giao thức này thường không đảm bảo giảm lượng chi phí trong quá trình giải phóng lỗi, khôi phục nhanh và ngừa lỗi (đây là nhược điểm lớn trong các hệ thống chống lỗi); thứ hai, việc đánh giá hiệu năng của giao thức lưu ảnh tiến trình (vấn đề truyền thông gây ra bởi việc lưu trữ các ảnh tiến trình - checkpointing induce communication- CIC) cho thấy các giao thức CIC trong thực tế hiệu quả thấp Môi trường chống lỗi MPICH-V đang phát triển các giao thức mới có khả năng giảm chi phí kể trên

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

LỜI NÓI ĐẦU 2

DANH MỤC HÌNH 4

NỘI DUNG 1

I Giới thiệu 1

I.1 Tổng quan về kỹ thuật chống lỗi 2

I.2 Tổng quan nghiên cứu môi trường chống lỗi MPICH-V 3

II Phân tích môđun chống lỗi 4

II.1 Mô hình chống lỗi 5

II.2 Phân tích giao thức chống lỗi bằng cách ghi lại thông điệp 7

II.3 Kiến trúc của MPICH-V 9

II.3.1 Giới thiệu kiến trúc 10

II.3.2 Chức năng các khối cơ bản 12

II.3.2.1 Môi trường truyền thông chống lỗi theo chuẩn MPI 12

II.3.2.2 Thư viện truyền thông dựa trên chuẩn MPI 14

II.3.3 Giao thức truyền thông giữa các khối 16

II.3.3.1 Giao thức truyền thông điệp 16

II.3.3.2 Giao thức chống lỗi 21

KẾT LUẬN 33

TÀI LIỆU THAM KHẢO 34

Trang 5

DANH MỤC HÌNH

Hình 1: Mô hình môi trường truyền thông chống lỗi 5

Hình 2: Tiến trình p trong pha thực thi bình thường 7

Hình 3: Tiến trình p trong pha khôi phục 8

Hình 4: Kiến trúc chống lỗi MPICH-V 10

Hình 5 Giao thức giữa Bộ điều phối và Daemon truyền thông 17

Hình 6 Mô phỏng khởi tạo giữa Daemon rank 0 và rank 1 19

Hình 7 Truyền thông giữa Daemon truyền thông với tiến trình MPI 20

Hình 8: Bộ điều phối thăm dò lỗi tiến trình MPI 22

Hình 9: Giao thức phục hồi Daemon lỗi 23

Hình 10: Giao thức phục hồi sự kiện giữa Daemon truyền thông và Bộ ghi sự kiện 24

Hình 11: Giao thức khôi phục tiến trình MPI 25

Hình 12: Tiến trình MPI thực hiện đổ ảnh tiến trình và lưu 27

Hình 13: Giao thức gửi ảnh tiến trình tới Bộ lưu trữ ảnh 29

Hình 14: Giao thức nhận ảnh từ Bộ lưu trữ ảnh tiến trình 31

Trang 6

NỘI DUNG

I Giới thiệu

Cuộc cách mạng tính toán những năm 90 coi các bó máy trạm tính toándùng thay thế cho các máy mainframe như là tư tưởng cơ bản cho hạ tầng tínhtoán Với môi trường này, ta có thể dễ dàng phát triển các thế hệ ứng dụngphân tán trong nhiều lĩnh vực như: vũ trụ học (mô phỏng các vụ va chạm trongdải ngân hà); hoá học (xác định thành phần cấu trúc điện tử trong hạt nhân);vật lý (tính toán độ linh động của chất lỏng); bảo mật máy tính (bẻ hệ thống

mã hoá RSA); và khí tượng học (dự báo thời tiết) Các ứng dụng này yêu cầuchạy dài ngày, tính toán lượng lớn các công việc, được cấu trúc thành nhómtiến trình trao đổi với nhau để thực thi trên các máy tính khác nhau nằm trongtrạm tính toán

Để chống lỗi cho ứng dụng, các giao thức khôi phục như lấy ảnh tiếntrình (checkpointing) và ghi lại thông điệp (message logging) đem lại nhiềutriển vọng Các giao thức khôi phục cũng tương đối dễ cài đặt Chúng tuântheo mô hình lập trình theo kiểu gửi/nhận (send/receive) Đây là mô hìnhchung cho các ứng dụng phân tán theo kiểu truyền thông điệp Do phải cài đặtnhiều, các giao thức khôi phục này rất ít được sử dụng để xây dựng các ứngdụng yêu cầu độ tin cậy cao Điều này do 2 nguyên nhân sau:

 Tích hợp hiệu quả các giao thức khôi phục với một ứng dụng sẽ rấtphức tạp Một vài giao thức cài đặt hiện nay chỉ hỗ trợ giao thức phụchồi đơn tiến trình Bên cạnh đó là giới hạn tương thích của các giaothức với các nhu cầu cần thiết trong các ứng dụng khác nhau Vì vậy,các nhà phát triển ứng dụng phải lo lắng về sự phức tạp trong việc xâydựng các ứng dụng của họ Họ cũng sẽ phải hiểu thế nào là chống lỗitrong môi trường phân tán

 Hiệu năng các giao thức phục hồi trong thực tế không được đánh giácặn kẽ Đề xuất cho các giao thức mới chủ yếu tập trung thiết kế giaothức, trong khi cung cấp rất ít đánh giá để thể hiện ưu việt do cách tiếp

Trang 7

cận mới mang lại Nên nhà phát triển ứng dụng có rất ít các đề xuất lựachọn từ các giao thức khôi phục, để tìm ra giao thức tốt nhất phù hợpvới các đặc điểm riêng của từng ứng dụng chuyên biệt.

Đồ án này sử dụng MPICH-V Ưu điểm của môi trường này là tính mở

để cài đặt giao thức chống lỗi Bên cạnh đó, MPICH-V sử dụng với một vàiứng dụng để nghiên cứu hiệu năng của giao thức trong thực tế

I.1 Tổng quan về kỹ thuật chống lỗi

Việc chống lỗi cho một tiến trình yêu cầu vài bản sao tiến trình cả vềthời gian và không gian:

 Kĩ thuật dựa trên bản sao theo không gian lỗi bằng cách nhân bản tiếntrình để ít nhất một trong các bản sao vẫn có giá trị khi xảy ra lỗi, vàbằng cách cùng điều phối sự thực thi các bản sao này Kĩ thuật này càiđặt trên giao thức checkpoint các tiến trình

 Kĩ thuật dựa trên bản sao theo thời gian, chống lỗi bằng cách khôi phụccác thực thi mất kiểm soát của tiến trình lỗi Trong suốt thời gian giảiphóng lỗi, một tiến trình ghi lại các thông tin về các sự kiện nó thựchiện Các thông tin được ghi lại này được sử dụng trong suốt quá trìnhkhôi phục để chạy lại các thực thi đã mất Kĩ thuật này cài đặt trên giaothức ghi lại thông điệp

Hai lớp kĩ thuật này đòi hỏi chi phí rất nhiều trong quá trình thực hiện

Kĩ thuật dựa trên bản sao không gian mang lại sự thực thi liên tục, nhưng gây

ra chi phí cao về hiệu năng Cần điều phối sự thực thi của các bản sao và yêucầu sử dụng một số lượng lớn tài nguyên Trái lại, kĩ thuật dựa trên các bảnsao thời gian gây ra chi phí thấp trong giải phóng lỗi và sử dụng ít tài nguyênhơn Tuy nhiên, tốc độ khôi phục lại chậm Lựa chọn một trong hai kĩ thuậtnày để chống lỗi phải dựa vào yêu cầu của ứng dụng Trong phần mềm điềukhiển quỹ đạo vệ tinh, chỉ một lỗi cũng có thể dẫn đến tai nạn thảm khốc Việcchống lỗi một cách tuỳ biến và cung cấp môi trường thực hiện liên tục là yêucầu cần thiết Ứng dụng này nên chọn phương pháp bản sao không gian Tuy

Trang 8

nhiên, các ứng dụng khẩn cấp lại không nên chọn kĩ thuật này Với những ứngdụng đó, việc tối thiểu hoá chi phí cho chống lỗi được đưa lên hàng đầu Vìvậy, nên chọn kĩ thuật bản sao thời gian.

Các ứng dụng phân tán theo mô hình yêu cầu-phục vụ (client-server),

để giảm chi phí chống lỗi có thể sử dụng cách tiếp cận theo bản sao thời gian.Tuy nhiên, để khai thác tiềm năng tính toán cluster, các ứng dụng trực tuyến(online) thường theo mô hình yêu cầu-phục vụ Ứng dụng này sử dụng mộtnhóm các tiến trình trao đổi dữ liệu theo mô hình điểm-điểm Với kiến trúcnhư vậy, để giảm chi phí sao lưu nên sử dụng các giao thức phục hồi ghi lạithông điệp

I.2 Tổng quan nghiên cứu môi trường chống lỗi MPICH-V

Chống lỗi là vấn đề rất cần thiết cho các ứng dụng phân tán chạy vôhạn Môi trường truyền thông MPICH-V xây dựng trên các giao thức khôiphục sẵn có với 2 mục đích:

 Phát triển môi trường dễ dàng cài đặt bất cứ giao thức phục hồi nào

 Xác định và chỉ ra hạn chế về hiệu năng của các giao thức khi chúngđược sử dụng trong thực tế

Để đạt được các tiêu chí này, MPICH-V được thiết kế thành môitrường có tính mở cho việc phát triển và hoàn thiện các giao thức phục hồi,sau đó dùng MPICH-V để nghiên cứu về hiệu năng của các giao thức chốnglỗi

MPICH-V được phát triển nền đặc tả thống nhất các giao thức phụchồi Nó cho phép xác định tập các chức năng mà các giao thức cần có Môitrường xây dựng dựa trên các giao thức phục hồi Các giao thức này rất đadạng, chia sẻ cùng cấu trúc điều khiển sự kiện và tập trung vào cùng một tậpcác sự kiện liên quan Các giao thức là các điều khiển sự kiện, tương ứng vớicác xử lí khác nhau mỗi khi có sự kiện liên quan xảy ra (giống hoạt động củacác máy trạng thái) Có 5 kiểu sự kiện liên quan tới các giao thức khôi phục:

Trang 9

 Các sự kiện không xác định

 Các sự kiện sinh ra sự phụ thuộc

 Các sự kiện chuyển giao đầu ra

 Các sự kiện checkpoint

 Các sự kiện phát hiện lỗi

Các sự kiện được ánh xạ vào không gian 5 chiều và các giao thức đượcánh xạ vào các điểm trong không gian này Chỉ cần thay đổi nhỏ các giá trịtrên từng trục tọa độ, có thể dịch chuyển trạng thái của hệ thống từ 1 điểm tớimột điểm khác, từ một giao thức này đến một giao thức khác MPICH-V càiđặt các giao thức khôi phục dựa trên sự dịch chuyển trạng thái của hệ thốngtrong không gian này Cách tiếp cận này cho phép phát triển các giao thức mớibằng cách kết hợp sự chuyển dịch trạng thái theo các cách khác nhau Đâycũng chính là mục tiêu phát triển và hoàn thiện tiếp công cụ này

Hiện nay MPICH-V đang được tích hợp MPICH (chuẩn MPI) Vì vậy

mà các ứng dụng MPI có thể chạy ngay trên MPICH-V mà không cần phảichỉnh sửa gì ngoài việc sử dụng chương trình dịch mpicc sau khi được tíchhợp Hiệu năng của các giao thức phục hồi hiện nay có thể được đánh giá quacác ứng dụng có đòi hỏi cao về tài nguyên như các tải đo hiệu năng của NPB.Tính ưu việt của MPICH-V thể hiện trong 2 vấn đề hiệu năng cơ bản sau:

 Hiệu năng phục hồi của giao thức ghi lại thông điệp

 Sự tiêu tốn tài nguyên mạng của giao thức lưu trữ ảnh tiến trình

Nghiên cứu trước đây về chống lỗi chỉ ra cách thiết kế các giao thứcchống lỗi như checkpointing, pessimistic, optimistic và causal Các giao thứctrên đem lại nhiều lựa chọn cho các nhà phát triển ứng dụng chấp nhận mộtgiao thức phù hợp với mỗi ứng dụng Các nghiên cứu cho thấy, với các ứngdụng không thường xuyên tương tác với môi trường ngoài, để chống lỗi tiếntrình có thể dùng checkpointing và optimistic Pessimistic và causal phù hợp

Trang 10

Daemon truyền thông + nút tính toán

hơn với các ứng dụng trao đổi nhiều với môi trường và không chấp nhận chạylại Nếu yêu cầu khôi phục tiến trình đơn giản và nhanh chóng thì pessimistic

là phù hợp Các ứng dụng yêu cầu tối thiểu hóa chi phí trong quá trình giảiphóng lỗi nên dùng causal hay optimistic

II.1 Mô hình chống lỗi

Hình 1: Mô hình môi trường truyền thông chống lỗi

Môi trường chống lỗi MPICH-V được xây dựng từ các thành phần khácnhau Các thành phần này trao đổi với nhau trong môi trường thống nhất Dựavào hình 1, ta phân chia các thành phần này làm 3 loại:

Thành phần điều phối: thành phần này chỉ duy nhất một chương trình

gọi là Bộ điều phối Chức năng chính của Bộ điều phối là nhận đặc tả

Trang 11

job gửi tới, sau đó khởi tạo toàn bộ môi trường truyền thông phục vụcho việc chạy job.

Các thành phần phụ phục vụ chống lỗi:

o Bộ lập lịch lấy ảnh tiến trình (Checkpoint Scheduler) Thành phầnnày có chức năng điều phối việc lấy ảnh của các tiến trình MPItrong lúc thực thi

o Bộ ghi sự kiện (Event Logger) Thành phần này là bộ chứa tin cậydùng lưu các thông tin sự kiện trao đổi thông điệp giữa các tiếntrình

o Bộ lưu ảnh tiến trình (Checkpoint Server) Thành phần này dùng đểlưu trữ các ảnh tiến trình phục vụ chạy lại các tiến trình lỗi Cácthành phần này phải được chạy trên các máy có độ ổn định cao

Các thành phần tính toán:

o Daemon truyền thông (Communication Daemon) Các Daemon này

là các tiến trình trung gian phục vụ cho trao đổi thông điệp của tiếntrình MPI Có nghĩa là các tiến trình MPI không trực tiếp trao đổithông điệp mà qua các Daemon trung gian Mỗi Daemon quản límột tiến trình MPI, mỗi tiến trình MPI thuộc về một Daemon truyềnthông

o Các nút tính toán (Computing Node) Nút tính toán chính là các tiếntrình MPI chạy song song Các tiến trình này được chạy từ cácchương trình MPI đã biên dịch trên các máy trạm

II.2 Phân tích giao thức chống lỗi bằng cách ghi lại thông điệp

Môi trường chống lỗi MPICH-V cài đặt giao thức ghi lại thông điệpbên phía tiến trình gửi Theo giao thức này, khi một thông điệp được gửi đi,một bản sao của thông điệp được lưu lại trong bộ nhớ ở phía tiến trình gửi (bộnhớ lưu trữ này nằm trong Daemon truyền thông), còn các thông tin liên quanđến trao đổi được ghi lại trong một phương tiện lưu trữ tin cậy (MPICH-V sử

Trang 12

dụng Bộ ghi sự kiện để lưu trữ các thông tin này) Sau đây là hình vẽ biểu diễntruyền thông giữa các tiến trình trong lúc thực thi.

Hình 1: Tiến trình p trong pha thực thi bình thường

Các tiến trình thực thi sử dụng đồng hồ cục bộ để sắp xếp thứ tự cácthông điệp (đồng hồ này có thể hiểu là bộ đếm các sự kiện trao đổi thông điệp-

Bộ đếm này đặt trên Daemon truyền thông) Khi một tiến trình gửi hoặc nhậnmột thông điệp nó tự tăng bộ đếm logic cục bộ của nó lên (chính bộ đếm nàygán giá trị SSN -Send Serial Number- và RSN –Receive Serial Number- chocác tiến trình) Mỗi thông điệp được gửi từ tiến trình q cho tiến trình p đều cómột id riêng (xem hình 2) Bản sao của thông điệp gửi được lưu giữ trong bộnhớ của q Khi p nhận được thông điệp m, nó chuyển thông điệp đó cho tiếntrình MPI xử lý, sau đó nó ghi thông tin (id, l) vào Bộ ghi sự kiện, trong đó, l

là giá trị hiện thời của bộ đếm logic cục bộ của tiến trình p (chính là giá trịRSN hiện thời của nó) Trong quá trình thực hiện giao thức trên, tiến trình pkhông được gửi bất kỳ một thông điệp nào cho các tiến trình khác trước khi sựkiện nhận thông điệp được ghi lại hoàn toàn Các thông điệp gửi đi đều đượcđóng gói kèm theo các thông tin như đã trình bày ở trên như: SSN của tiếntrình gửi, id của tiến trình gửi Hình 3 biểu diễn tiến trình p trong trường hợptiến trình bị lỗi

Trang 13

Hình 2: Tiến trình p trong pha khôi phục

Khi tiến trình p bị lỗi, nó được thực hiện lại từ trạng thái trước đó (lưutrong ảnh tiến trình nằm trên Bộ lưu trữ ảnh tiến trình) (xem hình 3) Sau đó,danh sách các cặp (id, l) của các thông điệp mà p đã nhận sẽ được Bộ ghi sựkiện gửi lại cho p (pha A) Tiếp theo, tiến trình p gửi yêu cầu đến tất cả cáctiến trình khác, yêu cầu các tiến trình này gửi lại các thông điệp cho nó kể từthông điệp có l nhỏ nhất (pha B) Các tiến trình khác không cần chạy lại màchúng gửi lại các bản sao thông điệp mà chúng đã ghi trong bộ nhớ tạm dànhcho tiến trình p Giống như chúng đang thực hiện bình thường Cặp thông tin(id, l) và bộ đếm logic cục bộ (local logic clock) được sử dụng để xác địnhchính xác thông điệp nào được gửi và nhận lại theo đúng thứ tự trước đây.Nếu không đúng thứ tự thì thông điệp đó sẽ bị loại bỏ và phát lại từ đầu (phaC) Sau khi nhận hết lại các thông điệp thì tiến trình p sẽ tiến tới điểm ngaytrước khi bị lỗi và lại tiếp tục hoạt động bình thường Vì lí do hiệu năng, việclưu bản sao của mọi thông điệp trong toàn bộ quá trình thực thi là không hợp lí

về mặt lưu trữ Nên ngay sau khi tiến trình được lấy checkpoint trạng thái hiệntại của nó, tiến trình này không cần các tiến trình khác gửi lại các thông điệp

đã nhận trước lần checkpoint này Để giảm số lượng thông điệp lưu trữ, cần sửdụng thêm một thành phần dọn rác để giải phóng cho các thiết bị lưu trữ cácbản sao thông điệp này

II.3 Kiến trúc của MPICH-V

Mục này sẽ trình bày 3 vấn đề:

Giới thiệu kiến trúc môi trường chống lỗi MPICH-V.

Các chức năng của các khối cơ bản.

Các giao thức truyền thông giữa các khối.

Trang 14

may2.parallel may3.parallel may4.parallel may5.parallel

maytest.parallel

Bộ điều phối

tiến trình truyền thông

Bộ lưu trữ ảnh checkpoint

tiến trình truyền thông

tiến trình truyền thông

II.3.1 Giới thiệu kiến trúc

Hình 3: Kiến trúc chống lỗi MPICH-V

Các thành phần được bố trí cụ thể lên các máy trạm như sau:

maytest.parallel

Trang 15

Bộ điều phối được bố trí trên máy maytest là máy khởi tạo việc chạy

job Máy maytest là server có độ tin cậy cao, vì thế Bộ điều phối đượcđặt trên máy này Trong trường hợp xấu nhất, máy maytest chết thì coinhư job thực thi phải chấm dứt Bộ điều phối sẽ triệu gọi từ xa khởi tạocác thành phần phụ và các tiến trình tính toán như hình vẽ

Bộ lưu trữ ảnh tiến trình cũng bố trí trên máy server tin cậy là máy maytest Thành phần này do Bộ điều phối khởi tạo Với chức năng lưu trữ các ảnh tiến trình, nó sẽ kết nối với các Daemon truyền thông để

nhận và gửi ảnh tiến trình Trên hình vẽ, nó kết nối với 4 Daemontruyền thông trên 4 máy

Bộ lập lịch lấy ảnh tiến trình cũng chạy trên máy maytest Vì các thành

phần phụ này yêu cầu chạy trên các máy tin cậy cao Bộ lập lịch này cóchức năng điều phối việc lấy ảnh của các tiến trình MPI Sự điều phối

này thông qua kết nối với 4 Daemon truyền thông tương ứng 4 tiến trình MPI

Bộ ghi sự kiện chạy cùng máy với hai thành phần phụ kia Trong quá

trình phục vụ, Bộ ghi sự kiện sử dụng các kết nối tới các Daemontruyền thông để đón nhận các thông tin về các sự kiện gửi nhận thôngđiệp từ mỗi Daemon truyền thông Theo lý thuyết, thông tin này là cặp(id, l) của từng thông điệp đã nghiên cứu trong phần trước

Daemon truyền thông : Với job chạy 4 tiến trình MPI, Bộ điều phối sẽ khởi tạo 4 Daemon truyền thông lên từng máy trạm tính toán Sau khi

khởi tạo, các Daemon truyền thông sẽ kết nối với các thành phần phụ(xem hình 4) Tiếp theo mỗi Daemon khởi tạo tiến trình MPI do nóquản lí Cuối cùng, khi các tiến trình MPI bắt đầu hoạt động, cácDaemon truyền thông trở thành các tiến trình trung gian gửi nhận thôngđiệp Trong quá trình gửi nhận, mỗi Daemon sẽ lưu các bản sao thôngđiệp trước khi gửi vào bộ nhớ, gửi thông tin về sự kiện gửi nhận lên cho

Bộ ghi sự kiện

Trang 16

Tiến trình MPI được khởi tạo từ các Daemon truyền thông trên mỗi

máy Mỗi tiến trình MPI là một thể hiện của file chạy do người lập trìnhbiên dịch đặt trên mỗi máy Sau khi khởi tạo, các tiến trình MPI traođổi thông điệp gián tiếp thông qua Daemon truyền thông của nó

II.3.2 Chức năng các khối cơ bản

Để có thể chạy được các ứng dụng MPI đã lập trình trước đây màkhông phải sửa đổi, MPICH-V ngoài việc cung cấp môi trường thực thi nhưtrình bày phần trên, nó còn cung cấp một thư viện truyền thông điệp dựa trênchuẩn MPI Do vậy môi trường này được chia làm 2 khối cơ bản:

Môi trường truyền thông chống lỗi: gồm các thành phần nêu ở trên

Thư viện truyền thông điệp theo chuẩn MPI: thư viện này được cài đặt

qua giao diện ADI (Abtract Device Interface)

II.3.2.1 Môi trường truyền thông chống lỗi theo chuẩn MPI

Các thành phần cơ bản trong môi trường chống lỗi MPICH-V gồm:

đặc tả cho job đó Dựa vào các file đặc tả này, Bộ điều phối sẽ sinh các thành

phần phụ phục vụ cho việc chạy job như thành phần lưu trữ ảnh tiến trình, thành phần ghi sự kiện, thành phần điều khiển việc lấy ảnh tiến trình và các Daemon truyền thông cho từng tiến trình MPI Ngoài ra Bộ điều phối còn sử

dụng các socket kết nối với các Daemon truyền thông để phát hiện lỗi của cáctiến trình MPI Đồng thời dựa trên các số hiệu (rank) của tiến trình MPI bị lỗi,

Trang 17

Bộ điều phối phục hồi Daemon truyền thông, Daemon sẽ chạy lại tiến trình

MPI lỗi dựa trên ảnh tiến trình đã lưu trên thành phần lưu trữ ảnh tiến trình.

b Bộ lưu trữ ảnh tiến trình

Được chia làm 2 phần:

 Thành phần Server dùng để lưu trữ các ảnh tiến trình

 Thành phần bộ lập lịch điều phối sự kiện checkpoint cho các tiến trìnhchạy job Server lưu ảnh tiến trình được đặt trên các máy tin cậy caodùng để lưu trữ ảnh các tiến trình MPI và bộ nhớ lưu trữ các bản saothông điệp trên Daemon truyền thông (gắn các bản sao thông điệp vàoảnh tiến trình lưu trữ để phục vụ chống lỗi đa tiến trình) Việc thực hiệnlấy ảnh, tiến trình MPI sử dụng bộ thư viện chuẩn Condor Cơ chế lấyảnh như sau: khi tiến trình MPI nhận một yêu cầu checkpoint từDaemon truyền thông của nó, tiến trình này sẽ dùng cơ chế fork để sinh

ra 2 tiến trình Tiến trình gốc tiếp tục thực thi tính toán bình thường.Đồng thời, tiến trình bản sao được fork ra (gọi là tiến trình con) sửdụng thư viện Condor gửi ảnh tiến trình qua pipe về cho Daemontruyền thông của nó Khi sự kiện lấy ảnh được kích hoạt bởi Daemontruyền thông, tiến trình MPI phải đảm bảo không có các hoạt độngtruyền thông vào thời điểm fork thêm tiến trình

Trang 18

 Giao thức ghi lại thông điệp bên phía tiến trình gửi khiến bộ nhớ sửdụng trong các Daemon truyền thông rất lớn và cả ở trong Bộ lưu trữảnh tiến trình Bởi vì, các thông điệp sau khi lưu vào vùng nhớ trên cácDaemon bên gửi thì sau khi lấy ảnh checkpoint của tiến trình MPI, cácthông điệp này cũng được gắn vào ảnh tiến trình và lưu vào thiết bị lưutrữ do Bộ lưu ảnh tiến trình quản lí Điều phối kích hoạt checkpointkhông chỉ cần thiết để tránh ảnh hưởng tới thời gian tính toán mà cònphải đảm bảo tối ưu không gian lưu trữ các thông điệp được ghi lại.

 lấy trạng thái Daemon truyền thông (tức là chuyển danh sách các thôngđiệp lưu về cho Bộ lưu trữ ảnh) gây ra giao vận trên mạng tương ứngbằng kích cỡ các thông điệp được phát đi Giao vận này sẽ cạnh tranhvới giao vận truyền thông ứng dụng trên băng thông mạng, vì vậy cànggiảm được số lần checkpoint càng tốt

II.3.2.2 Thư viện truyền thông dựa trên chuẩn MPI

MPICH là một tầng cài đặt của chuẩn MPI MPI API (giao diện lậptrình ứng dụng MPI) trong MPICH được cài đặt bởi tầng giao diện ADI(Abstract Device Interface) dùng phổ biến trong các môi trường tính toán songsong Giao diện ADI lại được cài đặt trên các tầng khác: tầng giao thức nhưshort, eager, rendez-vous protocols Cuối cùng, các tầng giao thức này lại càiđặt trên tầng nguyên thuỷ: giao diện kênh truyền thông (channel interface).Môi trường chống lỗi MPICH-V phải xây dựng thư viện truyền thông ở tầngnguyên thuỷ này

Cũng giống như kênh truyền thông P4 (truyền thông chuẩn của MPICHdùng qua giao thức TCP/IP ), các tiến trình MPI sẽ không kết nối trực tiếp vớinhau trên các nút mạng khác nhau Việc liên hệ giữa các tiến trình trên các núttính toán là nhiệm vụ các Daemon truyền thông chạy trên cùng máy có tiếntrình MPI thực thi Các Daemon truyền thông này kết nối với tiến trình MPIđịa phương do nó quản lí, đồng thời nó điều khiển sự không đồng bộ trongmạng Daemon truyền thông này thiết lập một UNIX socket đón nhận phục vụ

Trang 19

cho tiến trình MPI địa phương của nó và sau đó sẽ sinh ra (spawn) tiến trìnhMPI địa phương do Daemon này quản lí Trong UNIX socket này, có hai loạithông điệp được trao đổi: (1) thông điệp điều khiển (control messages) dùngcho khởi tạo, kết thúc và thăm dò; (2) thông điệp giao thức (protocol message)dùng cho việc gửi và nhận thông điệp (bsend, breceive).

Cài đặt các Daemon này dựa trên một vòng lặp dùng select Nó điềukhiển một socket cho mọi nút tính toán và các socket dành cho các dịch vụkhác như (phục vụ lưu sự kiện, phục vụ lưu trữ ảnh tiến trình, và bộ lập lịchlấy ảnh tiến trình) Các socket này sử dụng truyền thông TCP/IP và mọi thaotác gửi hay nhận thông điệp là không đồng bộ Vì vậy, một sự truyền thông sẽkhông bị ngưng lại bởi một truyền thông khác chẳng may bị chậm hơn, điềunay sẽ tốt cho hiệu năng của hệ thống Mặt khác, sự truyền thông dùng UNIXsocket tới các tiến trình MPI địa phương thì lại là đồng bộ

Sau đây giới thiệu 6 hàm nguyên thủy định nghĩa lại từ giao diện ADI

Hàm V2_Init( ): Hàm này sử dụng tham số đầu vào truyền từ hàm chuẩn MPI_Init( ) khởi các giá trị định danh tiến trình (MyWorldRank)

và số tiến trình (MyWorldSize) Sau đó kết nối với Daemon truyềnthông qua socket UNIX

Hàm _v2bsend( ): Hàm này sử dụng các tham số truyền từ hàm chuẩn MPI_Send( ) đóng gói dữ liệu và gửi cho Daemon của tiến trình.

Daemon sẽ tiếp tục gửi thông điệp cho các Daemon khác Đồng thờiDaemon sẽ sao lưu các thông điệp tiến trình khác đã nhận

Hàm _v2probe( ): Hàm này sử dụng trong cơ chế không đồng bộ Nó

hỗ trợ cho hàm chuẩn MPI_Irecv( ) để thăm dò thông điệp nằm trong

hàng đợi của Daemon truyền thông Khi có thông điệp trong hàng đợi,các hàm nhận thông điệp không đồng bộ của chuẩn MPI sẽ thực hiệnnhận thông điệp

Hàm _v2brecv( ): Hàm này vừa sử dụng trong cơ chế nhận đồng bộ và

không đồng bộ của hàm chuẩn MPI Trong cơ chế nhận không đồng bộ

theo chuẩn MPI, nó được sử dụng kết hợp với hàm _v2probe( ).

Ngày đăng: 19/05/2015, 20:43

HÌNH ẢNH LIÊN QUAN

Hình  1: Mô hình môi trường truyền thông chống lỗi - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
nh 1: Mô hình môi trường truyền thông chống lỗi (Trang 10)
Hình  1: Tiến trình p trong pha thực thi bình thường - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
nh 1: Tiến trình p trong pha thực thi bình thường (Trang 12)
Hình  2: Tiến trình p trong pha khôi phục - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
nh 2: Tiến trình p trong pha khôi phục (Trang 12)
Hình 3: Kiến trúc chống lỗi MPICH-V - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 3 Kiến trúc chống lỗi MPICH-V (Trang 14)
Hình 4 Giao thức giữa Bộ điều phối và Daemon truyền thông - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 4 Giao thức giữa Bộ điều phối và Daemon truyền thông (Trang 21)
Hình  5  Mô phỏng khởi tạo giữa Daemon rank 0 và rank 1 - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
nh 5 Mô phỏng khởi tạo giữa Daemon rank 0 và rank 1 (Trang 23)
Hình 7 mô tả kết nối giữa Daemon và tiến trình MPI rank 0 và các thông điệp trao đổi giữa chúng trên may2. - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 7 mô tả kết nối giữa Daemon và tiến trình MPI rank 0 và các thông điệp trao đổi giữa chúng trên may2 (Trang 24)
Hình 7: Bộ điều phối thăm dò lỗi tiến trình MPI - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 7 Bộ điều phối thăm dò lỗi tiến trình MPI (Trang 26)
Hình 9: Giao thức phục hồi sự kiện giữa Daemon truyền thông và Bộ ghi sự kiện - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 9 Giao thức phục hồi sự kiện giữa Daemon truyền thông và Bộ ghi sự kiện (Trang 28)
Hình 10: Giao thức khôi phục tiến trình MPI - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 10 Giao thức khôi phục tiến trình MPI (Trang 29)
Hình 12: Giao thức gửi ảnh tiến trình tới Bộ lưu trữ ảnh - Tiểu luận môn điện toán đám mây NGHIÊN CỨU MÔI TRƯỜNG CHỐNG LỖI MPICH-V TRONG HỆ THỐNG TÍNH TOÁN  SONG SONG
Hình 12 Giao thức gửi ảnh tiến trình tới Bộ lưu trữ ảnh (Trang 32)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w