Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
1,46 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA DIỆP THANH ĐĂNG MƠ HÌNH HĨA QUAN HỆ SỰ KIỆN NHẰM PHÁT HIỆN CÁC LỖI NHẤT QUÁN BỘ NHỚ TRONG GIAO TIẾP TRUYỀN THÔNG ĐIỆP ĐƠN PHƯƠNG Ngành: Khoa Học Máy Tính Mã số: 60480101 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng năm 2018 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán hướng dẫn khoa học : PGS TS Thoại Nam (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : TS Nguyễn Lê Duy Lai (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : PGS TS Trần Công Hùng (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 18 tháng năm 2018 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) PGS TS Phạm Trần Vũ PGS TS Huỳnh Tường Nguyên TS Nguyễn Lê Duy Lai PGS TS Trần Công Hùng TS Nguyễn Minh Sơn Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOAKH&KTMT ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Diệp Thanh Đăng MSHV: 1670019 Ngày, tháng, năm sinh: 23/07/1993 Nơi sinh: Bình Định Ngành: Khoa Học Máy Tính Mã số : 60480101 I TÊN ĐỀ TÀI: Mơ hình hóa quan hệ kiện nhằm phát lỗi quán nhớ giao tiếp truyền thông điệp đơn phương (Modelling event relations to detect memory consistency errors in MPI one-sided communication) II NHIỆM VỤ VÀ NỘI DUNG: Đề tài tập trung vào việc mơ hình hóa quan hệ kiện để từ nhằm phát lỗi quán nhớ giao tiếp truyền thông điệp đơn phương III NGÀY GIAO NHIỆM VỤ: 10/07/2017 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 17/06/2018 V CÁN BỘ HƯỚNG DẪN: PGS TS Thoại Nam Tp HCM, ngày 18 tháng năm 2018 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) TRƯỞNG KHOA KH & KTMT (Họ tên chữ ký) LỜI CÁM ƠN Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập sau đại học trường đại học Bách Khoa – Đại Học Quốc Gia Thành Phố Hồ Chí Minh nay, tơi nhận nhiều quan tâm, giúp đỡ q thầy, cơ, gia đình bạn bè Với lịng biết ơn chân thành sâu sắc nhất, tơi xin gửi lời cảm ơn đến PGS TS Thoại Nam Thầy tạo điều kiện cho có hội tham gia thực hiện đề tài với chủ đề “Mơ hình hóa quan hệ kiện nhằm phát lỗi quán nhớ giao tiếp truyền thơng điệp đơn phương” Trong quá trình thực hiện, thầy thường xuyên trao đổi, hỗ trợ tài liệu giải đáp thắc mắc liên quan đến nội dung cần tìm hiểu Qua đó, tơi có thể trau dồi kiến thức kỹ giải vấn đề cũng định hướng các cơng việc quá trình thực hiện luận văn tốt nghiệp Bên cạnh đó, cũng gửi lời cảm ơn đến thành viên phịng thí nghiệm Tính Tốn Hiệu Năng Cao hết lịng hỗ trợ mặt máy móc, kỹ thuật suốt q trình làm luận văn tốt nghiệp Ngồi ra, cũng xin gửi lời cảm ơn chân thành đến các thầy, cô trường đại học Bách Khoa – Đại Học Quốc Gia Thành Phố Hồ Chí Minh nói chung cũng các thầy, cô khoa Khoa Học Kỹ Thuật Máy Tính nói riêng, cung cấp kiến thức tảng vô cùng quý giá để có thể áp dụng nó vào đề tài luận văn tốt nghiệp Báo cáo luận văn tốt nghiệp hoàn thành thời gian khoảng hai tuần Bước đầu vào lĩnh vực sáng tạo nghiên cứu khoa học, kiến thức tơi cịn nhiều hạn chế Do đó, không tránh khỏi thiếu sót điều chắn, mong nhận ý kiến đóng góp quý báu quý thầy, cô bạn học viên để tơi ngày hồn thiện Sau cùng, tơi xin kính chúc thầy, Khoa Khoa Học Kỹ Thuật Máy Tính nói chung, PGS TS Thoại Nam nói riêng thật dồi sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh truyền đạt kiến thức quý báu cho hệ sinh viên mai sau Xin chân thành cảm ơn! i TÓM TẮT LUẬN VĂN Cơ chế giao tiếp truyền thông điệp đơn phương làm tách biệt việc truyền liệu khỏi đồng bộ nhằm giảm thiểu chi phí từ việc đồng bợ khơng cần thiết giúp cho việc song song hóa chương trình hiệu quả Tính chất mợt mặt ưu điểm chế giao tiếp truyền thông điệp đơn phương mặt khác lại tạo nhiều thách thức lớn người lập trình việc trì đợ tin cậy chương trình Các lỗi qn bợ nhớ nổi tiếng việc làm suy giảm độ tin cậy cũng hiệu suất các chương trình truyền thơng điệp đơn phương Thậm chí cả mợt chun gia phát triển chế cũng có thể dễ dàng mắc phải lỗi Các lỗi quán bộ nhớ xảy ứng dụng kiểm thử lockopts bản hiện thực MPICH mợt ví dụ điển hình cho tình Do đó, việc phát hiện lỗi quán bộ nhớ vô thách thức MC-Checker công cụ truy lỗi hiện đại có thể phát hiện lỗi quán bộ nhớ hiệu quả MC-Checker giải lỗi dựa quan hệ happens-before truyền thống Việc sử dụng tất cả tính chất quan hệ làm cho MC-Checker khó có thể mở rợng tốt Do đó, MCChecker chấp nhận bỏ qua tính chất bắc cầu quan hệ happens-before nhằm trì khả mở rợng Hệ quả MC-Checker nhiều khả gây các false positives Để giải vấn đề trên, luận văn giới thiệu một hướng tiếp cận dựa clock gọi MC-CChecker với mục tiêu trì đầy đủ quan hệ happens-before nhờ vào việc sử dụng encoded vector clock MC-CChecker kế thừa các đặc tính ưu việt MC-Checker nhờ vào việc tái sử dụng ST-Analyzer Profiler mục đích nhằm tối ưu hóa DN-Analyzer MC-Checker Các kết quả thực nghiệm chứng minh MC-CChecker khơng có khả phát hiện hiệu quả lỗi quán bợ nhớ MC-Checker mà cịn có thể loại bỏ hoàn toàn khả false positives mà hạn chế MC-Checker trì hao phí chấp nhận mặt thời gian thực thi cũng độ tiêu hao bộ nhớ chương trình DN-Analyzer Đặc biệt, DN-Analyzer MC-CChecker có tính mở rợng tốt xử lý lượng lớn trace file tạo chạy lockopts lên đến 8192 trình ii ABSTRACT MPI one-sided communication decouples data movement from synchronization, which eliminates overhead from unneeded synchronization and allows for greater concurrency On the one hand this fact is the great advantage of MPI one-sided communication, but on the other, it poses enormous challenges for programmers in preversing the reliability of programs Memory consistency errors are notorious for degrading reliability as well as performance of MPI one-sided applications Even an MPI expert can easily make these mistakes The lockopts bug occurred in an RMA test case that is part of MPICH MPI implementation is an example for this situation Hence, detecting memory consistency errors is extremely challenging MC-Checker is the most cutting-edge debugger to address these errors effectively MC-Checker tackles the memory consistency errors based on the happened-before relation Taking full advantage of the relation makes DN-Analyzer of MC-Checker difficult to scale well For that reason, MC-Checker does ignore the transitive ordering of the happened-before relation to retain scalability of DN-Analyzer Consequently, MCChecker is highly able to impose a potential source of false positives In order to overcome this issue, the thesis presents a novel clock-based approach called MC-CChecker with the aim of fully preserving the happened-before relation by making use of an encoded vector clock MC-CChecker inherits distinguishing features from MC-Checker by reusing ST-Analyzer and Profiler while focusing mainly on the optimization of DN-Analyzer The experimental findings prove that MC-CChecker not only effectively detects memory consistency errors as MCChecker did, but also eliminates completely the potential source of false positives which is a major limitation of MC-Checker while still retaining acceptable overheads of execution time and memory usage for DN-Analyzer Especially, DN-Analyzer of MC-CChecker is fairly scalable when processing a large amount of trace files generated from running the lockopts up to 8192 processes iii LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu nhóm hướng dẫn khoa học PGS TS Thoại Nam Các nội dung nghiên cứu, kết quả đề tài trung thực chưa cơng bố hình thức trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá nhóm thu thập từ nguồn khác có ghi rõ phần tài liệu tham khảo Ngoài ra, luận văn cịn có sử dụng mợt số nhận xét, đánh giá cũng số liệu tác giả, quan tở chức khác có trích dẫn thích nguồn gốc Nếu phát hiện có gian lận nhóm xin hồn tồn chịu trách nhiệm mặt nội dung luận văn tốt nghiệp Trường đại học Bách Khoa – Đại Học Quốc Gia Thành Phố Hồ Chí Minh khơng liên quan đến vi phạm tác quyền, bản quyền nhóm gây q trình thực hiện (nếu có) TP Hồ Chí Minh, ngày 18 tháng năm 2018 iv MỤC LỤC LỜI CÁM ƠN i TÓM TẮT LUẬN VĂN ii ABSTRACT iii LỜI CAM ĐOAN iv MỤC LỤC v DANH MỤC TỪ VIẾT TẮT vii DANH MỤC BẢNG viii DANH MỤC HÌNH ix CHƯƠNG 1.1 TỔNG QUAN GIỚI THIỆU ĐỀ TÀI 1.1.1 CƠ SỞ HÌNH THÀNH ĐỀ TÀI .1 1.1.2 Ý NGHĨA CỦA ĐỀ TÀI 1.1.3 CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN 1.2 MỤC TIÊU, GIỚI HẠN VÀ ĐỐI TƯỢNG NGHIÊN CỨU 11 1.2.1 MỤC TIÊU NGHIÊN CỨU 11 1.2.2 GIỚI HẠN NGHIÊN CỨU 12 1.2.3 ĐỐI TƯỢNG NGHIÊN CỨU 12 1.3 PHƯƠNG PHÁP NGHIÊN CỨU .13 1.3.1 XÂY DỰNG GIẢI THUẬT CLOCK ĐỂ THỂ HIỆN MỐI QUAN HỆ GIỮA CÁC SỰ KIỆN VỀ MẶT THỜI GIAN .13 1.3.2 ĐỀ XUẤT PHƯƠNG PHÁP PHÁT HIỆN CÁC LỖI NHẤT QUÁN BỘ NHỚ DỰA TRÊN CLOCK 13 1.3.3 1.4 HIỆN THỰC VÀ ĐÁNH GIÁ PHƯƠNG PHÁP ĐỀ XUẤT 13 CẤU TRÚC LUẬN VĂN 13 CHƯƠNG KIẾN THỨC NỀN TẢNG 15 2.1 LỖI NHẤT QUÁN BỘ NHỚ 15 2.2 LOGICAL CLOCKS 16 2.2.1 LAMPORT CLOCK .16 2.2.2 VECTOR CLOCK 17 2.2.3 REDUCED CLOCK .17 2.2.4 ENCODED VECTOR CLOCK 17 CHƯƠNG HIỆN THỰC 19 v 3.1 MƠ HÌNH HĨA QUAN HỆ SỰ KIỆN TRONG GIAO TIẾP TRUYỀN THÔNG ĐIỆP ĐƠN PHƯƠNG 19 3.2 MC-CCHECKER – MỘT KỸ THUẬT DỰA TRÊN CLOCK NHẰM PHÁT HIỆN CÁC LỖI NHẤT QUÁN BỘ NHỚ TRONG CÁC ỨNG DỤNG TRUYỀN THÔNG ĐIỆP ĐƠN PHƯƠNG 22 CHƯƠNG ĐÁNH GIÁ 25 4.1 MÔI TRƯỜNG THỰC NGHIỆM 25 4.2 PHƯƠNG PHÁP ĐÁNH GIÁ 25 4.3 KẾT QUẢ THỰC NGHIỆM .26 4.3.1 ĐỘ CHÍNH XÁC 26 4.3.2 DUNG LƯỢNG TẬP TIN LƯU VẾT 27 4.3.3 THỜI GIAN THỰC THI 28 4.3.4 ĐỘ TIÊU HAO BỘ NHỚ 29 4.3.5 KHẢ NĂNG MỞ RỘNG .30 CHƯƠNG TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN .32 5.1 TỔNG KẾT 32 5.2 HƯỚNG PHÁT TRIỂN 32 TÀI LIỆU THAM KHẢO 33 DANH SÁCH CÔNG BỐ KHOA HỌC CỦA HỌC VIÊN .35 vi DANH MỤC TỪ VIẾT TẮT Số thứ tự 10 11 12 13 Từ viết tắt MPI RMA RDMA MPICH ADLB GFMC PMPI HPC DAG GMP LCM VC EVC Ý nghĩa Message Passing Interface Remote Memory Access Remote Direct Memory Access Message Passing Interface over CHameleon Asynchronous Dynamic Load Balancing Green’s Function Monte Carlo Profiling Message Passing Interface High Performance Computing Directed Acyclic Graph the GNU Multiple Precision Arithmetic Library Least Common Multiple Vector Clock Encoded Vector Clock vii ... CHƯƠNG HIỆN THỰC 19 v 3.1 MƠ HÌNH HĨA QUAN HỆ SỰ KIỆN TRONG GIAO TIẾP TRUYỀN THÔNG ĐIỆP ĐƠN PHƯƠNG 19 3.2 MC-CCHECKER – MỘT KỸ THUẬT DỰA TRÊN CLOCK NHẰM PHÁT HIỆN CÁC LỖI NHẤT... tập trung vào việc mơ hình hóa quan hệ kiện để từ nhằm phát lỗi quán nhớ giao tiếp truyền thông điệp đơn phương III NGÀY GIAO NHIỆM VỤ: 10/07/2017... Khoa Học Máy Tính Mã số : 60480101 I TÊN ĐỀ TÀI: Mơ hình hóa quan hệ kiện nhằm phát lỗi quán nhớ giao tiếp truyền thông điệp đơn phương (Modelling event relations to detect memory consistency