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

Kỹ thuật lưu ảnh trong truy lỗi chương trình mpi

93 14 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

Cấu trúc

  • 1 Giới thiệu

  • 2 Ứng dụng song song và truy lỗi chương trình song song

    • 2.1 Các ứng dụng trong tính toán hiệu năng cao

    • 2.2 Kiểm lỗi và truy lỗi

      • 2.2.1 Kiểm lỗi

      • 2.2.2 Truy lỗi

      • 2.2.3 Truy lỗi lặp

    • 2.3 Truy lỗi chương trình song song

      • 2.3.1 Tính bất định của chương trình song song

      • 2.3.2 Hiệu ứng phụ

    • 2.4 Phương pháp tái thực thi

    • 2.5 Kết chương

  • 3 Kỹ thuật lưu ảnh và khôi phục quá trình

    • 3.1 Đồ thị sự kiện

    • 3.2 Sơ lược lưu ảnh

    • 3.3 Ứng dụng của lưu ảnh

    • 3.4 Các cấp độ lưu ảnh

    • 3.5 Các kỹ thuật lưu ảnh chương trình song song

      • 3.5.1 Checkpoint-based

        • 3.5.1.1 Uncoordinated checkpointing

        • 3.5.1.2 Coordinated checkpointing

        • 3.5.1.3 Communication-induced checkpointing

      • 3.5.2 Log-based

    • 3.6 Kỹ thuật lưu ảnh trong truy lỗi

    • 3.7 Kết chương

  • 4 Các kỹ thuật hỗ trợ truy lỗi chương trình song song

    • 4.1 Kỹ thuật Shortcut Replay

      • 4.1.1 Tổng quan

      • 4.1.2 Khoảng cách quay lui (Rollback/Replay Distance)

      • 4.1.3 Khoảng cách quay lui và kỹ thuật lưu ảnh – khôi phục quá trình

      • 4.1.4 Shortcut Replay

    • 4.2 Kỹ thuật ROS

      • 4.2.1 Ghi nhận thông điệp trong truy lỗi

      • 4.2.2 ROS – Rollback-One-Step

    • 4.3 Kỹ thuật MRT

      • 4.3.1 Phương pháp lưu ảnh:

      • 4.3.2 Phương pháp ghi nhận thông điệp:

      • 4.3.3 Thời gian tái thực thi

    • 4.4 Phương pháp FPRM (Four-phase-replay method)

    • 4.5 Kết chương

  • 5 Giải pháp truy lỗi chương trình song song

    • 5.1 Phương pháp LiR (Light-weight-replay method)

    • 5.2 Công cụ hỗ trợ LiR

      • 5.2.1 Quá trình ghi nhận thông tin

      • 5.2.2 Quá trình phân tích

      • 5.2.3 Lưu nội dung chương trình

      • 5.2.4 Tái thực thi chương trình

      • 5.2.5 Thử nghiệm công cụ

    • 5.3 Phương pháp C2LiR (Coordinated Checkpointing and LiR)

      • 5.3.1 Khái quát vấn đề

      • 5.3.2 Kỹ thuật C2LiR

    • 5.4 Kết chương

  • 6 Các lớp bài toán song song phổ biến

    • 6.1 Trao đổi thông điệp

    • 6.2 Song song ngẫu nhiên

    • 6.3 Mô hình đường ống (Pipeline)

    • 6.4 Tính toán số (Numerical Analysis)

    • 6.5 Bài toán trao đổi thông điệp

    • 6.6 Bài toán song song ngẫu nhiên

    • 6.7 Ứng dụng Pipeline

    • 6.8 Các ứng dụng tính toán số

      • 6.8.1 Nhân hai ma trận

      • 6.8.2 Lặp Jacobi

    • 6.9 Kết chương

  • 7 Kết luận

  • 8 Phụ lục

    • 8.1 Thư viện Open MPI

    • 8.2 Kỹ thuật lưu ảnh được sử dụng trong Open MPI

  • Reference

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA Phạm Thanh Phương KỸ THUẬT LƯU ẢNH TRONG TRUY LỖI CHƯƠNG TRÌNH MPI Chuyên ngành: Khoa học máy tính LUẬN VĂN THẠC SĨ THÀNH PHỐ HỒ CHÍ MINH 6/2011 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: 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 1: TS Nguyễn Đức Thái (Ghi rõ họ tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: TS Nguyễn Quốc Minh (Ghi rõ họ tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ tại: HỘI ĐỒNG BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, Ngày 16 tháng năm 2011 Lời cảm ơn Báo cáo trình bày tóm lược kiến thức mà học kỹ thuật lưu ảnh cách ứng dụng vào truy lỗi chương trình song song Kỹ thuật lưu ảnh khơi phục cho chương trình song song tốn khó, cịn nhiều thách thức Tơi tìm hiểu kỹ thuật lưu ảnh khơi phục q trình đơn, song song từ lý thuyết thực thơng qua thư viện cụ thể libckpt, blcr, LAM/MPI, Open MPI Bên cạnh đó, tốn truy lỗi chương trình song song tốn phức tạp thú vị tiếp tục nghiên cứu tương lai Các kết đạt mặt lý thuyết đề tài thực thực tiễn Xuyên suốt trình học tập làm việc lĩnh vực nhận hướng dẫn, giúp đỡ thầy Thoại Nam Khi hồn tất báo cáo này, tơi muốn gửi lời cảm ơn đến thầy, người định hướng, hỗ trợ cho hiểu vấn đề cách đắn Đồng thời, gửi lời cảm ơn đến gia đình, người thân, bạn bè động viên giúp đỡ tơi hồn thành tốt cơng việc Lời cam đoan Kết đạt đề tài thể trình học tập làm việc nhiều nguồn tài liệu khác Các tài liệu sử dụng đề tài trình bày phần tham khảo báo cáo Tôi xin cam đoan kết trình bày báo cáo thực hiện, không chép từ luận văn hay báo cáo khoa học tác giả khác kết luận văn chưa trình bày để lấy cấp trường Abstract Cyclic debugging and breakpointing techniques are used frequently in debugging a sequential program but there are many significant aspects have to develop to apply those techniques in debugging parallel programs The main reason causes the limitation in debugging parallel programs is nondeterministic behavior, where a parallel program may run with different paths and produce different results in subsequent executions with the same input A corresponding solution is offered by combining checkpointing and debugging, which allows restarting an execution at specific points in a parallel program Although previous methods can ensure the replay time has an upper bound and solve the probe effect efficiently, the overhead of those methods remain at high cost The approach in this report called the light-weight replay technique (LiR) directs to reduce the overhead of monitoring the behavior of parallel programs and support to define a small area in a program called a debugging box for decreasing the logging cost during debugging process In addition, the C2LiR technique is developed which integrated checkpoint technique in Open MPI to LiR technique This result could helps a programmer debug a parallel program with light-weight overhead Tóm tắt Kỹ thuật đặt điểm dừng truy lỗi lặp thường sử dụng truy lỗi chương trình có nhiều trở ngại ứng dụng kỹ thuật vào truy lỗi chương trình song song Ngun nhân gây khó khăn cho việc truy lỗi chương trình song song hành vi bất định nó, mà chương trình song song thực thi theo đường hướng khác sinh kết khác lần thực thi riêng biệt với liệu đầu vào Vấn đề giải nhờ vào kỹ thuật “record&replay” kết hợp kỹ thuật lưu ảnh vào trình truy lỗi Dù kỹ thuật trước đảm bảo giới hạn thời gian giải hiệu ứng phụ cho q trình truy lỗi, phí tổn cho thực kỹ thuật vấn đề cần quan tâm Báo cáo đề xuất kỹ thuật LiR (Light Weight Replay Technique) giúp thu giảm phí tổn trình giám sát hành vi chương trình song song hỗ trợ người dùng thiết lập vùng không gian truy lỗi nhằm giảm thiểu chi phí cho việc lưu ảnh Thêm vào đó, kỹ thuật C2LiR phát triển, tích hợp với kỹ thuật lưu ảnh thư viện Open MPI với LiR nhằm ứng dụng kết đạt LiR vào thực tế Mục lục Giới thiệu 12 Ứng dụng song song truy lỗi chương trình song song 14 2.1 Các ứng dụng tính tốn hiệu cao 14 2.2 Kiểm lỗi truy lỗi 15 2.2.1 Kiểm lỗi 15 2.2.2 Truy lỗi 15 2.2.3 Truy lỗi lặp 16 2.3 Truy lỗi chương trình song song 17 2.3.1 Tính bất định chương trình song song 17 2.3.2 Hiệu ứng phụ 18 2.4 Phương pháp tái thực thi 18 2.5 Kết chương 20 Kỹ thuật lưu ảnh khơi phục q trình 21 3.1 Đồ thị kiện 21 3.2 Sơ lược lưu ảnh 23 3.3 Ứng dụng lưu ảnh 24 3.4 Các cấp độ lưu ảnh 24 3.5 Các kỹ thuật lưu ảnh chương trình song song 25 3.5.1 Checkpoint-based 25 3.5.2 Log-based 27 3.6 Kỹ thuật lưu ảnh truy lỗi 28 3.7 Kết chương 29 Các kỹ thuật hỗ trợ truy lỗi chương trình song song 30 4.1 Kỹ thuật Shortcut Replay 30 4.1.1 Tổng quan 30 4.1.2 Khoảng cách quay lui (Rollback/Replay Distance) 30 4.1.3 Khoảng cách quay lui kỹ thuật lưu ảnh – khơi phục q trình 31 4.1.4 Shortcut Replay 33 4.2 Kỹ thuật ROS 36 4.2.1 Ghi nhận thông điệp truy lỗi 37 4.2.2 ROS – Rollback-One-Step 38 4.3 Kỹ thuật MRT 41 4.3.1 Phương pháp lưu ảnh: 41 4.3.2 Phương pháp ghi nhận thông điệp: 41 4.3.3 Thời gian tái thực thi 42 4.4 Phương pháp FPRM (Four-phase-replay method) 45 4.5 Kết chương 46 Giải pháp truy lỗi chương trình song song 47 5.1 Phương pháp LiR (Light-weight-replay method) 47 5.2 Công cụ hỗ trợ LiR 49 5.2.1 Quá trình ghi nhận thông tin 49 5.2.2 Quá trình phân tích 50 5.2.3 Lưu nội dung chương trình 51 5.2.4 Tái thực thi chương trình 51 5.2.5 Thử nghiệm công cụ 52 5.3 5.3.1 Khái quát vấn đề 59 5.3.2 Kỹ thuật C2LiR 60 5.4 Phương pháp C2LiR (Coordinated Checkpointing and LiR) 58 Kết chương 64 Các lớp toán song song phổ biến 65 6.1 Trao đổi thông điệp 65 6.2 Song song ngẫu nhiên 66 6.3 Mơ hình đường ống (Pipeline) 68 6.4 Tính tốn số (Numerical Analysis) 70 6.5 Bài tốn trao đổi thơng điệp 75 6.6 Bài toán song song ngẫu nhiên 76 6.7 Ứng dụng Pipeline 77 6.8 Các ứng dụng tính toán số 78 6.8.1 Nhân hai ma trận 79 6.8.2 Lặp Jacobi 80 6.9 Kết chương 81 Kết luận 83 Phụ lục 84 8.1 Thư viện Open MPI 84 8.2 Kỹ thuật lưu ảnh sử dụng Open MPI 85 Reference 88 Danh mục hình Hình 2-1 Đặt điểm dừng truy lỗi 16 Hình 2-2 Tính bất định chương trình song song 17 Hình 3-1 Đồ thị kiện Sự kiện lưu ảnh [46] 22 Hình 3-2 Các ảnh lưu lấy định kì phục vụ kháng lỗi [32] 23 Hình 3-3 Các kiện không đơn định đơn định [14] 27 Hình 4-1 Khoảng cách quay lui (rollback/replay distance) 31 Hình 4-2 Đường khôi phục quán không quán 32 Hình 4-3 Hai giai đoạn trình tái thực thi 33 Hình 4-4 Phương pháp phát thơng điệp mồ côi 35 Hình 4-5 Tiến trình bị bắt buộc lưu ảnh trước nhận m 38 Hình 4-6 Ghi nhận thông điệp ROS [44] 39 Hình 4-7 Luật ghi nhận bổ sung cho ROS [44] 41 Hình 4-8 Khoảng cách quay lui MRT [46] 42 Hình 4-9 Sự phụ thuộc suốt trình tái thực thi [46] 43 Hình 4-10 Four-phase-replay method [46] 45 Hình 5-1 Light-weight-replay method 48 Hình 5-2 Hoạt động ghi nhận thông tin 50 Hình 5-3 Hoạt động phân tích 50 Hình 5-4 Quá trình tái thực thi để tìm lỗi 52 Hình 5-5 Giao diện cơng cụ truy lỗi 54 Hình 5-6 Biên dịch chương trình 55 Hình 5-7 Thiết lập vùng debugging box 56 Hình 5-8 Chương trình dừng điểm dừng phân bố 57 Hình 5-9 Kết thúc trình truy lỗi 57 Hình 5-10 Cấu trúc chương trình MPI 58 Hình 5-11 Lưu ảnh phối hợp 59 Hình 5-12 Các trường hợp điểm dừng phân bố 60 Hình 5-13 Quan hệ happen before kiện lưu ảnh 61 Hình 5-14 Điểm dừng phân bố nhân 62 Hình 5-15 Coordinated checkpointing & LiR 63 Hình 5-16 Lưu ảnh với Open MPI LiR 64 Hình 6-1 Chương trình Message Exchange 65 Hình 6-2 Bài tốn song song ngẫu nhiên [3] 66 Hình 6-3 Hiện thực toán song song ngẫu nhiên 66 Hình 6-4 Một thực Mandelbrot Set [3] 67 Hình 6-5 Mơ hình thơng điệp Mandelbrot Set 68 Hình 6-6 Xử lý pipeline [3] 68 Hình 6-7 Xử lý pipeline 10 phần tử [3] 69 Hình 6-8 Chuyển thơng tin tiến trình pipeline [3] 69 Hình 6-9 Giải hệ tuyến tính pipeline [3] 70 Hình 6-10 Mơ hình thơng điệp ứng dụng pipeline 70 Hình 6-11 Nhân hai ma trận 72 Trong khoa học kỹ thuật máy tính, từ toán xử lý ảnh, phim, thiết kế mạch ứng dụng lớn mô CAD/CAM, dự báo thời tiết v.v thường qui toán ma trận giải hệ phương trình tuyến tính 6.8.1 Nhân hai ma trận Hình 6-16 Nhân hai ma trận Hình 6-17 đồ thị kiện kiểm tra tốn nhân hai ma trận theo mơ hình master/slave Khơng tính tổng qt, giả sử vùng kiện mà người lập trình quan tâm cho hình điểm dừng chọn kiện 15 tiến trình P , tương tự tốn trao đổi thơng điệp ngẫu nhiên, cơng cụ xây dựng nên điểm dừng phân bố tương ứng cho chương trình tập điểm 39, 15, 12, 12 Với điểm dừng phân bố này, từ đồ thị kiện xác định điểm thực lưu ảnh phù hợp kiện 24 tiến trình P Như với điểm dừng phân bố cho, chúng tơi chọn điểm lưu ảnh phù hợp để thực lưu ảnh thư viện Open MPI Tương tự cho hình 6-18, trường hợp đặt điểm dừng khác cho toán nhân hai ma trận Từ kết đồ thị kiện dễ dàng xác định điểm lưu ảnh phù hợp cho chương trình 79 Hình 6-17 Nhân hai ma trận Từ trình khảo sát đề tài, chúng tơi nhận thấy lớp tốn thực tế thường có mơ hình thơng điệp lặp lại, phần lớn toán song song liệu liệu đầu vào thường lớn nhiều so với số xử lý hệ thống song song Điều đưa đến việc phân phối liệu theo nhiều giai đoạn nên mơ hình thơng điệp trao đổi qua lại tiến trình thường lặp lại toán nhân hai ma trận 6.8.2 Lặp Jacobi Phương pháp lặp Jacobi phương pháp giải hệ phương trình tuyến tính thường gặp tính tốn khoa học, để kiểm định giải pháp đề ra, chúng tơi thử nghiệm chương trình lặp theo phương pháp Jacobi Mã nguồn chương trình trình bày mục trên, bên đồ thị kiện thu 80 Hình 6-18 Phương pháp lặp Jacobi Từ đồ thị kiện phương pháp lặp jacobi nhận thấy việc chọn điểm lưu ảnh cho phù hợp với khả lưu ảnh cung cấp thư viện Open MPI tương tự ứng dụng khác Khi tiến trình thực trao đổi thơng điệp nhiều ứng dụng việc chọn điểm lưu ảnh phù hợp dễ dàng khả thu giảm khoảng cách quay lui hay thời gian đợi cho người lập trình lớn Đây điểm đóng góp đề tài việc ứng dụng kỹ thuật lưu ảnh Open MPI thực tế 6.9 Kết chương Trong chương này, đề tài giới thiệu lớp toán song song phổ biến khảo sát tốn trao đổi thơng điệp, tốn song song mang tính tự nhiên, tốn pipeline v.v với mơ hình thơng điệp tương ứng Nội dung chương nhằm giới thiệu lớp ứng dụng thực tế sử dụng cho q trình thử nghiệm cơng cụ đề xuất Việc xem xét nhiều lớp toán giúp đánh giá giải pháp đề tài cách khách quan động lực giúp phát triển kết đạt tương lai Báo cáo trình 81 bày ứng dụng thử nghiệm đề tài gồm: tốn trao đổi thơng điệp ngẫu nhiên, toán pipeline, nhân hai ma trận, giải hệ phương trình tuyến tính theo phương pháp lặp Jacobi Trong khả năng, phạm vi hạn hẹp đề tài, thử nghiệm số ứng dụng tiêu biểu Kết nhận phù hợp với lý thuyết tìm hiểu phù hợp với giải pháp đề Giải pháp ứng dụng truy lỗi cho chương trình MPI hỗ trợ tích hợp khả lưu ảnh thư viện Open MPI thực tế 82 Kết luận Đề tài tìm hiểu kỹ thuật lưu ảnh ứng dụng kỹ thuật lưu ảnh vào truy lỗi chương trình song song Có nhiều kỹ thuật lưu ảnh sử dụng thực tế coordinated checkpointing, uncoordinated checkpointing, communication-induced checkpointing v.v Mỗi kỹ thuật lưu ảnh có ưu điểm riêng việc sử dụng kỹ thuật lưu ảnh phụ thuộc nhu cầu thực tế loại ứng dụng Truy lỗi chương trình song song yêu cầu lưu trữ nhiều ảnh lưu chương trình người lập trình khơng xác định họ đặt điểm dừng đâu bắt đầu thực thi chương trình Đối với chương trình song song thực thi thời gian dài việc lưu lại nhiều ảnh lưu gây phí tổn lớn Đồng thời việc truy lỗi chương trình cần phải đảm bảo tính tương tác cho người sử dụng tính ổn định tái thực thi chúng Để truy lỗi chương trình song song, việc phải đặt điểm dừng cho cho chương trình nhằm đạt kỹ thuật truy lỗi lặp có Điểm dừng phân bố thiết lập nhờ vào kỹ thuật “casual distributed breakpoint” phát triển trước sử dụng đề tài Kế tiếp, nhằm giảm thiểu khoảng cách quay lui đảm bảo tính ổn định cho tốn truy lỗi, kỹ thuật Shortcut Replay khảo sát kỹ thuật hiệu việc thu giảm khoảng cách quay lui cho chương trình song song nhờ vào khả “by pass” thông điệp mồ côi phương pháp “record&replay” sử dụng Shortcut Replay nhằm đáp ứng tính ổn định cho việc tái thực thi chương trình song song Do phải lưu lại nhiều ảnh chương trình việc giảm thiểu chi phí cho ảnh lưu xác định thời điểm lưu ảnh thích hợp cần thiết Kỹ thuật MRT phát triển ứng dụng Shortcut Replay để thu giảm khoảng cách quay lui đồng thời đề xuất luật lưu trữ thông điệp nhằm giảm thiểu số lượng thơng điệp cần lưu Truy lỗi chương trình song song cịn địi hỏi q trình tương tác hỗ trợ trực quan Kỹ thuật LiR công cụ sử dụng LiR xây dựng đề tài nhằm đáp ứng nhu cầu LiR hỗ trợ người phát triển ứng dụng thiết lập vùng khơng gian nghi ngờ có chứa lỗi xây dựng đồ thị kiện giúp người lập trình thiết lập điểm dừng phân bố đánh giá phạm vi có lỗi cách trực quan Tuy nhiên, toán lý thuyết gặp khó khăn đến thực Việc ứng dụng LiR đòi hỏi thư viện lưu ảnh thực tế Open MPI phải thay đổi thực vốn có nó, điều hồn tồn trở ngại mặt khách quan làm giảm khả ứng dụng phương pháp Quá trình khảo sát thư viện Open MPI giúp đề xuất kỹ thuật C2LiR kết hợp kết sẵn có LiR kỹ thuật lưu ảnh thực Open MPI C2LiR giúp cho người lập trình chọn thời điểm lưu ảnh phù hợp từ triệu gọi hàm lưu ảnh Open MPI Như với kết đạt được, kỹ thuật C2LiR giúp người lập trình giảm thiểu phí tổn cho q trình truy lỗi chương trình song song sử dụng kỹ thuật lưu ảnh Open MPI Thư viện Open MPI có kiến trúc linh động, không ngừng phát triển phát triển tích hợp với cơng cụ truy lỗi q trình đơn sẵn có gdb, ddd v.v nhằm hỗ trợ phân tích trạng thái tiến trình Điều động lực cho phát triển đề tài tương lai nhằm sử dụng khả phân tích trạng thái chương trình gdb, ddd cơng cụ LiR từ truy lỗi chương trình song song cách đầy đủ 83 Phụ lục 8.1 Thư viện Open MPI Open MPI thực mơ hình truyền thơng điệp, bên cạnh cịn có thư viện thực MPI khác LAM, MPICH, MPICH2, MPICH-V v.v Các thư viện tích hợp kỹ thuật lưu ảnh thực chúng Nhưng cácyêu cầu ngày cao tính tốn song song như: điều khiển tiến trình, kháng lỗi, di dời ứng dụng, truy lỗi v.v đặt nhiều thách thức cho việc thực MPI Đề tài chọn Open MPI làm thư viện nhằm gắn kết trình truy lỗi với khả lưu ảnh sẵn có Open MPI đúc kết kinh nghiệm dự án LAM/MPI, LA-MPI, FT-MPI, kết hợp ưu điểm kiến trúc module, cung cấp tính linh động, giúp nhóm nghiên cứu phát triển tính cho thư viện Ngoài ra, Open MPI dự án lớn chứa nhiều hệ thống lượng lớn đoạn mã liên quan Cấu trúc Open MPI gồm lớp chính: • • • OPAL _ Open Portability Layer ORTE _ Open Run-Time Environment OMPI _ Open MPI Hình 8-1 Mơ hình tổng quan Open MPI [48] Thư viện Open MPI thiết kế dựa tảng kiến trúc gói (component architecture) gọi MPI Component Architecture (MCA) Việc áp dụng thiết kế component architecture nét mới, sử dụng rộng rãi gần tính tốn hiệu cao Thư viện Open MPI dựa tảng thiết kế MCA nên mã nguồn cấu trúc, tổ chức sáng rõ ràng nhiều so với thư viện chức khác Cụ thể thư viện Open MPI thiết kế gồm thành phần sau: 84 Hình 8-2 Kiến trúc MCA Open MPI [48] Với thiết kế này, Open MPI lựa chọn tiềm cho nhóm nghiên cứu muốn phát triển chức cần thiết cho ứng dụng họ thông qua việc thực thành phần (Component) tương ứng với lớp “Framework” bên trên, xem component “plug-in”, đoạn mã độc lập, chèn vào đoạn mã thư viện Open-MPI thời gian chạy hay thời gian dịch chương trình Nhờ tính độc lập component nên viết người lập trình thư viện Open-MPI tổ chức khác viết 8.2 Kỹ thuật lưu ảnh sử dụng Open MPI Nhiều kỹ thuật lưu ảnh chương trình song song đề xuất lý thuyết, kỹ thuật có ưu điểm riêng nhìn chung để có thực lưu ảnh hiệu cho chương trình song song vấn đề phức tạp Để lưu trọn vẹn trạng thái toàn cục, kỹ thuật lưu ảnh phải tích hợp thực thư viện truyền thông điệp, Open MPI thực kỹ thuật lưu ảnh phối hợp (coordinated checkpointing) kỹ thuật khả thi trình thực thư viện Nội dung kỹ thuật trình bày phần III báo cáo, giới thiệu cụ thể thực Open MPI Yêu cầu lưu ảnh ứng dụng MPI phát người dùng hay từ điều khiển tới tiến trình “mpirun” (tiến trình cung cấp Open MPI) Bộ điều khiến tổng quát mpirun chuyển yêu cầu đến điều khiển cục để bắt đầu trình lưu ảnh Quá trình lưu ảnh bắt đầu việc phối hợp tiến trình ứng dụng để tạo trạng thái quán Một trạng thái quán mô tả tập hợp trạng thái tiến trình trạng thái kênh truyền thơng tiến trình Mục đích thư viện đảm bảo cho tất kênh truyền thơng MPI tiến trình rỗng lưu ảnh Trong q trình khơi phục, tất tiến trình khơi phục lại hoạt động từ trạng thái lưu, với kênh truyền khôi phục trạng thái trước 85 Việc tương tác tiến trình để làm liệu kênh truyền sử dụng giải thuật “staggered all-to-all” Giải thuật bắt đầu với việc tiến trình chọn peer để trao đổi thông tin khối lượng liệu tiến trình gửi nhận từ peer Việc trao đổi tiếp tục với peer khác cách trao đổi theo vòng tiến trình trao đổi thơng tin với peer có rank (số nhận dạng – identity tiến trình) thấp Sau đó, dựa vào thơng tin trao đổi, tiến trình nhận phần liệu lại từ kênh truyền tất liệu truyền thu hết Giải thuật minh họa sau: Thư viện Open MPI tổ chức đặc biệt để xử lý yêu cầu lưu ảnh, gồm có ba lớp: OMPI, ORTE, OPAL Mỗi lớp có framework component tham gia vào việc lưu ảnh/khôi phục (checkpoint/restart.)Một yêu cầu lưu ảnh bên sinh công cụ hỗ trợ gửi yêu cầu tới lệnh mpirun Các yêu cầu lưu ảnh bên sinh mpirun để phân phối yêu cầu tới tiến trình thực thi song song Tất tiến trình xử lý yêu cầu cách tiến hành hàm ENTRYPOINT OPAL, Hình 5-12 Hình 8-3 Xử lý yêu cầu lưu ảnh Open MPI [48] 86 Khi tín hiệu lưu ảnh đến tiến trình, hàm ENTRYPOINT OPAL gọi hàm coord_callback() với trạng thái CHECKPOINT để lớp chuẩn bị cho ảnh tiến trình.Khi hàm coord_callback() hoàn thành, OPAL ENTRYPOINT bắt đầu việc lưu ảnh cách dùng hàm OPAL_CRS_CHECKPOINT Thông qua hệ thống component Open MPI, CHECKPOINT gọi back-end checkpoint/restart system chọn (hệ thống tiến hành việc lưu ảnh) để bắt đầu xử lý lưu ảnh Kết trả hàm từ back-end checkpoint tiến trình mà tín hiệu lưu ảnh bắt đầu (trạng thái CONTINUE) hay tiến trình tái thực thi (trạng thái RESTART) Đặc biệt, tiến trình khôi phục không bắt đầu hàm main() – chúng đơn giàn trở ( ‘return’) khỏi hàm back-end checkpoint Nếu yêu cầu lưu ảnh xác định tiến trình kết thúc sau lưu ảnh, hàm notification thay đổi trạng thái thành TERMINATE.Để cho lớp khơi phục lại từ ảnh tiến trình, hàm OPAL ENTRYPOINT gọi hàm coord_callbackmột lần đưa vào trạng thái trả hàm OPAL_CRS_CHECKPOINT Khi hàm OPAL ENTRYPOINT hoàn thành, ứng dụng người dùng tiếp tục hoạt động lại bình thường, yêu cầu lưu ảnh xác định ứng dụng kết thúc, khỏi ứng dụng Do Open MPI sử dụng giải thuật lưu ảnh theo kiểu phối hợp nên việc tích hợp vào truy lỗi chương trình song song cần số hỗ trợ khác nhằm giảm thiểu phí tổn cho q trình lưu ảnh, phục vụ tốt cho toán truy lỗi Chẳng hạn thời điểm lưu ảnh phù hợp, giới hạn thời gian đợi cho người sử dụng v.v Nhờ vào tìm hiểu lý thuyết cơng cụ xây dựng đề tài, đề xuất thêm giải pháp tích hợp khả lưu ảnh Open MPI vào LiR 87 Reference [1] A Bouteiller, F Cappello, G Krawezik, P Lemarinier Coordinated checkpoint versus message log for fault tolerant MPI, Cluster Computing, 2003 Proceedings 2003 IEEE International Conference on , vol., no., pp 242- 250, 1-4 Dec 2003 [2] B Randel System Structure for Software Fault Tolerance, IEEE Transactions on Software Engineering TSE, Vol 1, No 2, pp 221-232, June 1975 [3] B Wilkinson, M Allen, Parallel Programming – Techniques and Applications Using Networked Workstations and Parallel Computers, Second Edition, 2004 [4] C E McDowell, D P Helmbold, Debugging Concurrent Programs, ACM Computing Surveys , Vol 21, No 4, pp 593-622, December 1989 [5] Ch Schaubschläger, D Kranzlmüller, J Volkert, A Complete Monitor Overhead Removal Strategy, Proceedings of PDPTA ’99, International Conference on Parallel And Distributed Processing Techniques and Applications, CSREA Press, Vol 4, Las Vegas, Nevada, USA, pp 1894-1897, June 1999 [6] D Buntinas, C Coti, T Herault, P Lemarinier, L Pilard, A Rezmerita, E Rodriguez, F Cappello, Blocking vs Non-blocking Coordinated Checkpointing for Large-Scale Fault Tolerant MPI FCGS, February 2007 [7] D F Snelling, G -R Hoffmann, A Comparative Study of Libraries for Parallel Processing, Proceedings of International Conference on Vector and Parallel Processors, Computational Science III, Parallel Computing, Vol (1-3), pp.255-266, 1988 [8] D Kranzlmüller Event Graph Analysis for Debugging Massively Parallel Programs, PhD Thesis, GUP Linz, Johannes Kepler University Linz, Austria, http://www.gup.unilinz.ac.at/~dk/thesis/thesis.php , September 2000 [9] D Kranzlmüller Incremental Tracing and Process Isolation for Debugging Parallel Programs, Computers and Artificial Intelligence, Vol 19, pp 569-585, 2000 [10] D Kranzlmüller, N Thoai, J Volkert Error Detection in Large-Scale Parallel Programs with Long Runtimes, Tools for Programs Development and Analysis (Best papers from two Technical Sessions, at ICCS2001, San Francisco, CA, USA, and ICCS2002, Amsterdam, The Netherlands), Future Generation Computer Systems, Vol 19, No.5, pp 689-700 July 2003 [11] D Kranzlmüller, J Volkert NOPE: A Nondeterministic Program Evaluator, Proceedings of ACPC’99, LNCS, Springer-Verlag, Vol 1557, pp 490-499, February 1999 [12] E Gabriel, G E Fagg, G Bosilca, T Angskun, J J Dongarra, J M Squyres, V Sahay, P Kambadur, B Barrett, A Lumsdaine, R H Castain, D J Daniel, R L Graham, and T S Woodall, Open MPI: Goals, Concept, and Design of a Next Generation MPI implementation, 88 in Proceedings, 11th European PVM/MPI Users’ Group Meeting, Budapest, Hungary, pp 97– 104, September 2004 [13] E Leu, A Schiper, Execution Replay: A Mechanism for Integrating a Visualization Tool with a Symbolic Debugger, Proceedings of CONPAR 92 - VAPP V, LNCS, Springer-Verlag, Vol 634, 1992 [14] E N (Mootaz) Elnozahy, L Alvisi, Y.M Wang and D B Johnson A survey of rollbackrecovery protocols in message-passing systems, ACM Computing Surveys (CSUR), v.34 n.3, p.375-408, September 2002 [15] E Roman A Survey of Checkpoint/Restart Implementations Technical Report LBNL-54942, Lawrence Berkeley National Laboratory, July 2002 [16] F Teodorescu, J Chassin de Kergommeaux, On Correcting the Intrusion of Tracing Nondeterministic Programs by Software, Proceedings of EUROPAR’97 Parallel Processing, 3rd International Euro-Par Conference, LNCS, Springer-Verlag, Vol 1300, pp 94-101, August 1997 [17] F Zambonelli, R H B Netzer, Deadlock-Free Incremental Replay of Message-Passing Programs, Journal of Parallel and Distributed Computing 61, pp 667-678, 2001 [18] G Bosilca, A Bouteiller, F Cappello, S Djilali, G Fédak, C Germain, T Hérault, P Lemarinier, O Lodygensky, F Magniette, V Néri, and A Selikhov, MPICH-V: Toward a Scalable Fault Tolerant MPI for Volatile Nodes, in High Performance Networking and Computing (SC2002) Baltimore USA: IEEE/ACM, November 2002 [19] G Bronevetsky, D Marques, K Pingali, P Stodghill Automated application-level checkpointing of MPI programs, Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 11-13, 2003, San Diego, California, USA [20] G Burns, R Daoud, and J Vaigl LAM: An Open Cluster Environment for MPI Proceedings of Supercomputing Symposium, pp 379–386, 1994 [21] G Coulouris, J Dollimore and T Kindberg Distributed System Concepts and Design Addison-Wesley Publishing Company, 1994 [22] G E Fagg, J J Dongarra Building and Using a Fault-Tolerant MPI Implementation, International Journal of High Performance Computing Applications, v.18 n.3, p.353-361, August 2004 [23] G Stellner CoCheck: checkpointing and process migration for MPI, Parallel Processing Symposium, 19960, Proceedings of IPPS '96, The 10th International , vol., no., pp.526-531, 1519 April 1996 89 [24] H M Deitel An Introduction to Operating Systems Addison-Wesley Publishing Company, 1990 [25] J C Kergommeaux, M Ronsse, K D Bosschere, MPL*: Efficient Record/Replay of Nondeterminism Features of Message Passing Libraries, In J Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI99), LNCS, Springer-Verlag, Vol 1697, pp 141-148 September 1999 [26] J D Choi, B P Miller, R H B.Netzer, Techniques for Debugging Parallel Programs with Flowback Analysis, ACM Transactions on Programming Languages and Systems, Vol 13, No 4, pp 491-530 October 1991 [27] J Fowler, W Zwaenepoel, Causal Distributed Breakpoints, Proceedings of the 10th International Conference on Distributed Computing Systems (ICDCS), pp 134-141, 1990 [28] J Hursey, J M Squyres, T I Mattox, A Lumsdaine The Design and Implementation of Checkpoint/Restart Process Fault Tolerance for Open MPI Indiana University, Open Systems Laboratory Bloomington, IN USA Cisco Systems, Inc, Server Virtualization Business Unit San Jose, CA USA 2007 [29] J Hursey, J M Squyres, A Lumsdaine A Checkpoint and Restart Service Specification for Open MPI Indiana University, Department of Computer Science Technical Report TR635, 2006 [30] J M H´elary, A Mostefaoui, M Raynal, Communication-Induced Determination of Consistent Snapshot, IEEE Transaction on Parallel and Distributed Systems, Vol 10, No 9, September 1999 [31] J S Plank Efficient Checkpointing on MIMD Architectures A Dissertation presented to The Faculty of Princeton University in Candidacy for The Degree of Doctor of Philosophy, 1993 [32] J S Plank An Overview of Checkpointing in Uniprocessor and DistributedSystems, Focusing on Implementation and Performance, University of Tennessee, Knoxville, TN, 1997 [33] J S Plank, M Beck, G Kingsley, and K Li Libckpt: Transparent Checkpointing under Unix In Proceedings of Usenix Winter 1995 Technical Conference, New Orleans, LA, January, pages 213-223, 1995 [34] K M Chandy and L Lamport, “Distributed snapshots : Determining Global States of Distributed Systems”, in Transactions on Computer Systems, vol 3(1) ACM, pp 63–75, February 1985 [35] LAM/MPI Parallel Computing, http://www.lam-mpi.org/using/docs [36] L Lamport Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM, Vol 21, No 7, pp 558-565, July 1978 90 [37] M Mackey, Program Replay in PVM, Technical Report, Concurrent Computing Department, Hewlett-Packard Laboratories, May 1993 [38] Message Passing Interface Forum, MPI: A Message-Passing Interface Standard Version 1.1, http://www.mcs.anl.gov/mpi June 1995 [39] MPICH2 Home Page - http://www-unix.mcs.anl.gov/mpi/mpich2 [40] MPICHV Home Page - http://mpich-v.lri.fr [41] M Ronsse, K De Bosschere, J Chassin de Kergommeaux, Execution Replay and Debugging, Proceedings of the 4th International Workshop on Automated Debugging (AADEBUG2000) Aug 2000, pp 5-18, August 2000 [42] M Snir, S Otto, S H Lederman, D Walker, and J Dongarra, MPI: The Complete Reference The MIT Press, 1996 [43] N Thoại, D Kranzlmuler, J Volkert Using Checkpointing For Fault Tolerance and Parallel Program Debugging, Proceedings of Conference on Parallel and Distributed Computing and Networks, PDCN2004, Innsbruck, Austria, February 2004 [44] N Thoai, D Kranzlmüller, J Volkert, ROS: The Rollback-One-Step Method to Minimize the Waiting Time during Debugging Long-Running Parallel Programs, High Performance Computing for Computational Science, selected Papers and Invited Talks of VECPAR 2002, LNCS, Springer-Verlag, Vol 2565, Chapter 8, pp 664-678 [45] N Thoai, D Kranzlmüller, J Volkert, EROS: An Efficient Method for Minimizing the Replay Time based on the Replay Dependence Relation, Proceedings of the 11th Euromicro Conference on Parallel, Distributed and Network-Based Processing (EUROMICRO-PDP 2003), IEEE Computer Society, ISBN 0-7695-1875-3, Genova, Italy, pp.23-30, February 2003 [46] N Thoai, J Volkert, An Approach To Providing Small Waiting Time During Debugging Message Passing Programs, Journal of Scalable Computing: Practice and Experience, Vol 6, No 2, pp 1-12 [47] N Thoai, J Volkert, Shortcut Replay: A Replay Technique for Debugging Long-Runnining Parallel Programs, Proc of the Asian Computing Science Conference (ASIAN’02), Hanoi, Vietnam, LNCS, Springer-Verlag, Vol 2550, pp 34-36, December 2002 [48] Open MPI Homepage http://www.open-mpi.org [49] P H Hargrove, J C Duell Berkeley Lab Checkpoint/Restart (BLCR) for Linux Clusters Proceedings of SciDAC 2006, publication LBNL-60520, June 2006 [50] P Kacsuk Systematic Macrostep Debugging of Message Passing Parallel Programs, Distributed and Parallel Systems (DAP-SYS’98), Future Generation Computer Systems, NorthHolland, Vol 16, No 6, pp 597-607, April 2000 91 [51] Q Gao, W Yu, W Huang, D K Panda, Application-Transparent Checkpoint/Restart for MPI Programs over InfiniBand, Parallel Processing, 2006 ICPP 2006 International Conference on , vol., no., pp.471-478, 14-18 August 2006 [52] R H B Netzer, B Miller Optimal Tracing and Replay for Debugging Message-Passing Parallel Programs, Proceedings of Supercomputing’92, Minneapolis, MN (Nov 1992), pp 502511 Reprinted in: The Journal of Supercomputing , Vol 8, No 4, pp 371-388, 1994 [53] R L Graham, G M Shipman, B W Barrett, R H Castain, G Bosilca, and A Lumsdaine Open MPI: A High-Performance, Heterogeneous MPI Proceedings of the 5th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks, Spain, 2006 [54] R Strom, S Yemini, Optimistic Recovery in Distributed Systems, ACM Transactions on Computer Systems (Aug 1985), Vol 3, No 3, pp 204-226, August 1985 [55] R S Curtis, L D Wittie, BugNet: A Debugging System for Parallel Programming Environments, Proceedings of the 3rd International Conference on Distributed Computing Systems, Miami, FL, USA, pp 394-399 October 1982 [56] S Mishra, D Wang Journal of Parallel and Distributed Computing - Special issue: 18th International parallel and distributed processing symposium, vol 66, May 2006 [57] S Sankaran, J M Squyres, B Barrett, A Lumsdaine, J Duell, P Hargrove, E Roman, “The LAM/MPI Checkpoint/Restart Framework: System-initiated checkpointing”, in Proceedings, LACSI Symposium, Sante Fe, New Mexico, USA, October 2003 [58] S I Feldman, Ch B Brown, Igor: A System for Program Debugging via Reversible Execution, Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging, University of Wisconsin, Madison, Wisconsin, USA, SIGPLAN Notices (Jan 1989), Vol 24, No 1, pp 112-123 May 1988 [59] T J LeBlanc, J M Mellor-Crummey, Debugging Parallel Programs with Instant Replay, IEEE Transactions on Computers, Vol C-36, No 4, pp 471-481, April 1987 [60] W Gropp and E Lusk, “Fault Tolerance in MPI Programs”- Special issue of the Journal High Performance Computing Applications (IJHPCA), 2002 [61] W Gropp, E Lusk, N Doss, and A Skjellum, “High Performance, Portable Implementation of The MPI Message Passing Interface Standard,” Parallel Computing, vol 22, no 6, pp 789– 828, September 1996 92 LÝ LỊCH TRÍCH NGANG Họ tên: Phạm Thanh Phương Nơi sinh: Tp Hồ Chí Minh Ngày sinh: 12/03/1983 Địa chỉ:4/20 Xơ Viết Nghệ Tĩnh, P.19, Q Bình Thạnh, Tp Hồ Chí Minh Q TRÌNH ĐÀO TẠO 2001-2006: Học đại học Khoa Khoa học Kỹ thuật máy tính – Đại học Bách Khoa Tp Hồ Chí Minh 2009-2011: Học cao học Khoa Khoa học Kỹ thuật máy tính – Đại học Bách Khoa Tp Hồ Chí Minh Q TRÌNH CƠNG TÁC 2007-2011: Làm việc Khoa khoa học kỹ thuật máy tính – Đại học Bách Khoa Tp Hồ Chí Minh 93 ... sát kỹ thuật lưu ảnh có thư viện Open MPI đề xuất cách thức tích hợp khả LiR vào q trình lưu ảnh Open MPI nhằm tăng hiệu cho trình truy lỗi chương trình song song Kết q trình tích hợp kỹ thuật. .. đạt truy lỗi lặp với ý tưởng truy lỗi chương trình cho chương trình song song thách thức Phần báo cáo trình bày vấn đề gặp phải ứng dụng truy lỗi lặp chương trình song song 2.3 Truy lỗi chương trình. .. giảm phí tổn cho trình truy lỗi, cụ thể cho trình giám sát hành vi chương trình nguồn 20 Kỹ thuật lưu ảnh khơi phục q trình Trước vào truy lỗi, báo cáo giới thiệu kỹ thuật lưu ảnh yêu cầu cần

Ngày đăng: 03/02/2021, 22:57

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w