Giải pháp Hiệu quả Độ tin cậy Hệ thống Tình nguyện

38 295 0
Giải pháp Hiệu quả Độ tin cậy Hệ thống Tình nguyện

Đ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

1 LỜI CAM ĐOAN BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Tôi xin cam đoan Luận văn công trình nghiên cứu riêng Các liệu kết nêu Luận văn hoàn toàn trung thực có nguồn gốc rõ ràng TÁC GIẢ LUẬN VĂN THẠC SĨ KHOA HỌC (Ký tên) GIẢI PHÁP NÂNG CAO HIỆU QUẢ CỦA GIẢN ĐỒ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY TRONG CÁC HỆ THỐNG TÍNH TOÁN TÌNH NGUYỆN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: ……………………………… Nguyễn Quang Hòa Người hướng dẫn khoa học: TS NGÔ HỒNG SƠN Hà Nội – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Chương MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN .1 Trước hết, xin chân thành cảm ơn TS Ngô Hồng Sơn tận tình LỜI CẢM ƠN .2 hướng dẫn, cung cấp tài liệu kiến thức cần thiết giúp hoàn thành Luận văn tốt MỤC LỤC nghiệp DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ .5 Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy, cô giáo Khoa Công nghệ thông tin thầy, cô giáo trường Đại học Bách Khoa Hà Nội truyền đạt cho kiến thức quan trọng suốt thời gian học tập nghiên cứu trường Cuối cùng, xin nói lời cảm ơn đến gia đình bạn bè, người bên tôi, cổ vũ động viên suốt thời gian học tập làm luận văn tốt nghiệp MỞ ĐẦU Chương 1.1 Tính toán lưới 1.2 Tính toán ngang hàng 12 1.3 Tính toán tình nguyện 14 1.3.1 Khái niệm 14 1.3.2 BOINC 15 Trong trình hoàn thành luận văn, thiếu kinh nghiệm, ràng buộc thời gian hạn chế kiến thức nên chắn không tránh khỏi thiếu sót Vì mong nhận đóng góp ý kiến giúp đỡ thầy, cô bạn TỔNG QUAN .8 1.3.2.1 Khái niệm .15 1.3.2.2 Các đặc trưng BOINC [23] 16 1.3.2.3 Kiến trúc BOINC 18 1.3.3 Hà Nội, ngày 20 tháng 11 năm 2008 Người thực luận văn Lập lịch tính toán tình nguyện 19 1.3.3.1 Lập lịch phía máy trạm 20 1.3.3.2 Lập lịch phía máy chủ 20 1.3.3.3 Lập lịch chịu lỗi dựa độ tin cậy 21 1.3.4 So sánh với tính toán lưới tính toán ngang hàng .23 1.3.4.1 1.3.4.2 Chương Tính toán lưới .23 Tính toán ngang hàng 23 LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY 25 2.1 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Mô hình giả định 25 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 2.2 Các kĩ thuật chịu lỗi truyền thống 28 2.2.1 Biểu theo số đông 29 2.2.2 Kiểm tra điểm .30 2.3 2.2.2.1 Kiểm tra điểm dùng danh sách đen 31 2.2.2.2 Kiểm tra điểm không dùng danh sách đen 32 Chịu lỗi dựa độ tin cậy 33 5.3 Hướng phát triển tương lai .73 TÀI LIỆU THAM KHẢO .74 DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Hình 1-1 Minh họa tính toán lưới Hình 1-2 Tổ chức ảo .11 2.3.1 Tổng quan .33 2.3.2 Tính toán độ tin cậy 35 Hình 1-4 Mô hình tính toán tình nguyện 15 2.3.3 Ứng dụng tin cậy 36 Hình 1-5 Mô hình BOINC .16 2.4 2.3.3.1 Kết hợp biểu kiểm tra điểm 36 2.3.3.2 Kiểm tra điểm biểu 37 Khảo sát số giản đồ lập lịch 38 Hình 1-3 Mô hình mạng ngang hàng .12 Hình 1-6 Kiến trúc BOINC 18 Hình 1-7 Sự tương tác máy trạm máy chủ 19 Hình 2-1 Mô hình chủ khách 26 Hình 2-2 Hàng đợi công việc lập lịch tham lam với biểu m 28 2.4.1 Lập lịch Round Robin 39 2.4.2 Lập lịch Round Robin dựa ưu tiên khả tính toán 41 Hình 2-4 Hàng đợi công việc lập lịch tham lam nâng cao độ tin cậy [8] 33 GIẢN ĐỒ LẬP LỊCH ROUND ROBIN DỰA TRÊN ĐỘ TIN CẬY Hình 3-1 Mô tả hệ thống tính toán tình nguyện .45 Chương 44 3.1 Giản đồ lập lịch Round Robin dựa ưu tiên độ tin cậy 44 3.2 Giản đồ lập lịch Round Robin dựa kiểm thử độ tin cậy .55 Chương KẾT QUẢ THỰC NGHIỆM 65 Hình 2-3 Tỉ lệ lỗi biểu số đông với nhiều giá trị m f [8] 30 Hình 3-2 Sơ đồ hình vẽ bước giản đồ lập lịch Round Robin dựa ưu tiên độ tin cậy .46 Hình 3-3 Sơ đồ hình vẽ bước giản đồ lập lịch kiểm thử dựa độ tin cậy 57 Hình 4-1 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.25,N >P67 4.1 Chương trình mô .65 Hình 4-2 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.5,N >P 68 4.2 Kịch mô 65 Hình 4-3 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.75,N >P.68 4.3 Kết .66 Chương KẾT LUẬN .72 Hình 4-4 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 1,N >P 69 Hình 4-5 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.25,N< P69 Hình 4-6 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.5,N< P 70 5.1 Những kết đạt .72 Hình 4-7 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.75,N< P70 5.2 Những công việc chưa làm .72 Hình 4-8 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 1,N< P 71 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 MỞ ĐẦU Tính toán tình nguyện mô hình tính toán song song hấp dẫn để xây dựng lên hệ thống tính toán có phạm vi rộng lớn từ số lượng lớn máy tính tình nguyện mạng Trong năm gần đây, có quan tâm tăng lên nhanh chóng hệ thống tính toán tình nguyện Hệ thống tính toán tình nguyện cho phép người sử dụng từ nơi mạng, đóng góp thời gian tính toán nhàn rỗi máy tính để hướng vào giải toán có thời gian tính toán lớn Tính toán tình nguyện giúp cho xây dựng mạng tính toán toàn cầu lớn nhanh, điều chứng thành công dự án SETI@home[2], dự án triển khai hàng trăm nghìn máy tính tình nguyện để tìm kiếm số lượng cậy hệ thống tính toán tình nguyện Các kĩ thuật đưa tiêu chí để chọn máy trạm phù hợp để thực thi nhiệm vụ Kĩ thuật quan tâm đến chọn máy trạm có khả có độ tin cậy cao khả thực tốt Kĩ thuật thứ hai chọn máy trạm cho nhiệm vụ thực độ tin cậy nhiệm vụ tăng lên, Bằng việc sử dụng mô VCSIM để thực mô thuật toán lập lịch, kĩ thuật đưa giúp giảm bớt thời gian thực thi toàn hệ thống so với kĩ thuật lập lịch Round Robin tương ứng Phần lại luận văn tổ chức sau: • Chương Giới thiệu tổng quan: Trình bày hệ thống tính toán phân tán, tính toán lưới, tính toán ngang hàng, tính toán tình nguyện, BOINC, lớn liệu đàm thoại radio cho tín hiệu sống bên trái đất, Einstein@Home [6] tìm kiếm neutron xoay nhanh dùng liệu từ nhà dò tìm sóng hấp dẫn LIGO GEO hay Climateprediction.net@Home [7] dùng khảo sát qua thuật toán lập lịch tính toán tình nguyện • Chương Lý thuyết lập lịch dựa độ tin: Trình bày mô hình hệ thống giả định, kĩ thuật chịu lỗi chuyền thống, để dự đoán khí hậu trái đất … chịu lỗi dựa độ tin cậy khảo sát số giản đồ lập lịch chịu lỗi dựa Trong hệ thống tính toán tình nguyện, khả chịu đựng lỗi vấn đề quan trọng có nhiều người dùng ác ý mạng phá hoại hệ thống việc cố ý đệ trình kết sai Để giải yêu cầu đưa kết tốt độ tin cậy • Chương Giản đồ lập lịch dựa độ tin cậy: Mô tả đề xuất giản đồ lập lịch dựa độ tin cậy hệ thống tính toán tình nguyện mà có người dùng ác ý tham gia hệ thống lập lịch máy chủ phải thực thi sách lập lịch chịu lỗi Do luận • văn này, quan tâm đến vấn đề lập lịch nhiệm vụ phía máy chủ hệ thống tính toán tình nguyện thực thi kĩ thuật chịu đựng lỗi Mặc dù số kĩ thuật chịu lỗi tồn biểu theo số đông, kiểm tra điểm, kết hợp biểu quyêt Chương Kết thực nghiệm: Giới thiệu kịch mô thảo luận kết mô • Chương Kết luận: Tóm tắt lại công việc đạt được, công việc chưa làm hướng phát triển tương lai kiểm tra điểm, kiêm tra điểm biểu [8], hay giản đồ lập lịch Round Robin dựa ưu tiên khả tính toán [10] đảm bảo yêu cầu độ tin cậy cho kết tính toán, nhiên, kĩ thuật luôn nguyên nhân làm cho hiệu giảm giới hạn toàn thời gian tính toán Trong luận văn đề xuất hai kĩ thuật lập lịch hiệu cho máy chủ gọi lập lịch Round Robin dựa ưu tiên độ tin cậy lập lịch Round Robin dựa kiểm thử độ tin cậy nhằm nâng cao hiệu giản đồ lập lịch dựa độ tin Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 lưới Như vậy, tính toán lưới, hiểu cách đơn giản dạng tính toán Chương TỔNG QUAN phân tán Mục đích tạo máy tính ảo lớn mạnh từ tập lớn hệ thống không đồng nhằm nâng cao khả tính toán, chia sẻ tài nguyên khác Ngày nay, với phát triển vượt bậc khoa học kỹ thuật công nghệ, xuất toán nhiều lĩnh vực đòi hỏi sức mạnh tính toán mà máy Một ví dụ dự án tính toán lưới dự án Avian Flu Grid[24], dự án nhằm sử tính riêng lẻ đảm trách Xuất phát từ nhu cầu đó, kỹ thuật tính dụng lưới PRAGMA[25] sở hạ tầng tính toán hiệu cao để phát triển toán song song, tính toán phân tán đề xuất phần đáp ứng mô hình cho hợp tác toàn cầu đấu tranh chống lại đe dọa dịch lớn cúm yêu cầu Tuy nhiên, tham vọng người không dừng lại Họ avian bệnh dịch lây nhiễm nghiêm trọng khác Hệ thống lưới PRAGMA, mà muốn sức mạnh tính toán lớn hơn, với khả chia sẻ tài nguyên trung tâm HPCC-HUT (Trung tâm tính toán hiệu cao trường Đại Học người phạm vi toàn cầu, khả tận dụng phần mềm tài nguyên Bách Khoa Hà Nội) thành viên, tạo nhằm trì hoạt động cộng vật lý phân tán mặt địa lý Các tổ chức giải vấn đề hai cách: tác thúc đẩy sử dụng kĩ thuật lưới ứng dụng khoa học tiên tiến • Đầu tư thêm trang thiết bị, sở hạ tầng tính toán (mua thêm máy chủ, máy viện hàng đầu nước có đường biên giới nằm biển thái bình trạm, siêu máy tính, cluster ) Tuy nhiên cách làm tốn dương • Có cách làm khác hiệu phân bố lại hợp lý nguồn tài nguyên tổ chức thuê thêm nguồn tài nguyên từ bên (tất nhiên với chi phí rẻ nhiều so với việc đầu tư cho sở hạ tầng tính toán) Thực tế cho thấy có phần lớn nguồn tài nguyên sử dụng lãng phí: máy để bàn công sở thường hoạt động khoảng 5% công suất, máy chủ phải hoạt động với 20% công suất Việc tận dụng hiệu nguồn tài nguyên mang lại sức mạnh tính toán khổng lồ Cách giải thứ hai mục tiêu tính toán lưới tính toán tình nguyện 1.1 Tính toán lưới Tính toán lưới hướng đến việc chia sẻ sử dụng hiệu nguồn tài nguyên thuộc nhiều tổ chức quy mô rộng lớn (thậm chí quy mô toàn cầu) Chính công nghệ mạng truyền thông phát triển mạnh mẽ năm Hình 1-1 Minh họa tính toán lưới qua biến khả dần trở thành thực Các nghiên cứu tính Hình 1-1 ví dụ lưới, mạng liên kết tài nguyên phân tán toán lưới tiến hành nhằm tạo sở hạ tầng lưới cho phép mặt địa lý, tài nguyên phong phú, đa dạng, bao gồm tập siêu máy tính, dễ dàng chia sẻ quản lý tài nguyên đa dạng phân tán môi trường thiết bị truyền thông vệ tinh, kho lưu trữ, cluster tính toán hiệu cao Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 10 11 , tổ chức ảo liên kết lưới Người dùng lưới đa dạng, từ Riêng điểm thứ điểm đáng lưu ý Vì lưới môi trường thu hút người dùng thông thường, người dùng chuyên dụng, có kiến thức nhiều tổ chức tham gia nên coi nhẹ vai trò chuẩn mở giao sâu chuyên môn nhà nghiên cứu, nhà khoa học Và lưới thức mở, giống việc sử dụng chuẩn giúp cho mạng Internet tập hợp, chia sẻ, chọn lựa nguồn tài nguyên thông qua sách thống bùng nổ mạnh mẽ năm 90 kỉ trước nhất, phân phối siêu máy tính hệ cluster để đạt hiệu tốt Khái niệm tổ chức ảo khái niệm quan trọng tính toán lưới Tổ Các thách thức mà công nghệ tính toán lưới phải giải bao gồm: chức ảo tổ chức lập động để giải vấn đề Thành • Các tài nguyên đa dạng, không đồng Tài nguyên hiểu phần tổ chức ảo bao gồm nhiều tài nguyên thuộc nhiều tổ chức (thực) theo nghĩa tổng quát Đó tài nguyên phần cứng: tài nguyên khác môi trường lưới hoạt động mục tiêu chung Tùy tính toán, tài nguyên lưu trữ, thiết bị đặc biệt khác ; tài nguyên phần theo mức độ vấn đề cần giải mà tổ chức ảo khác mềm: CSDL, phần mềm đặc biệt đắt giá ; đường truyền mạng quy mô, phạm vi hoạt động, thời gian sống Hình 1.2 minh họa Các tài nguyên khác mặt kiến trúc, giao diện, khả xử tổ chức ảo Có người dùng cần giải toán lớn dự báo thời tiết, lý Việc tạo giao diện thống cho phép khai thác sử dụng hiệu thành lập l tổ chức ảo cách thuê số nguồn tài nguyên khác từ vài nguồn tài nguyên hoàn toàn không dễ dàng Ban đầu tính toán tổ chức khác Tương tự vậy, người dùng cần giải toán dự lưới đặt chủ yếu để tận dụng nguồn tài nguyên tính toán báo tài chính, thành lập tổ chức ảo để giải toán mục tiêu mở rộng sang nhiều nguồn tài nguyên khác kể • Các tài nguyên không thuộc tổ chức mà thuộc nhiều tổ chức tham gia lưới Các tổ chức phải tuân thủ số quy định chung tham gia vào lưới nhìn chung hoạt động độc tài nguyên có quyền tự trị Các tổ chức khác thường có sách sử dụng hay cho thuê tài nguyên họ khác gây khó khăn cho việc quản lý • Các tài nguyên phân tán rộng khắp mặt địa lý phải có chế quản lý phân tán • Đảm bảo an toàn thông tin cho môi trường phức tạp môi trường lưới khó khăn trong điểm ưu tiên hàng đầu Theo Ian Foster, hệ thống lưới hệ thống có đặc điểm sau: • Phối hợp tài nguyên phân tán từ nhiều miền quản trị khác • Sử dụng giao diện giao thức chuẩn mở • Mang lại cho người dùng chất lượng dịch vụ không tầm thường Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Hình 1-2 Tổ chức ảo Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 12 1.2 Tính toán ngang hàng 13 Trong tính toán ngang hàng, ứng dụng phân tách vào ba loại là: Mạng ngang hàng mô hình truyền thông nút mạng thực • Tính toán phân tán giống Đối nghịch với mô hình chủ khác, nút cung cấp dịch vụ • Chia sẻ file nút khác sử dụng dịch vụ • Các ứng dụng cộng tác Ba loại phục vụ mục đích khác chúng có yêu cầu phát triển riêng Các ứng dụng tính toán phân tán thường yêu cầu phân tích vấn đề lớn vào vấn đề song song nhỏ, ứng dụng chia sẻ file yêu cầu tìm kiếm hiệu theo mạng diện rộng ứng dụng cộng tác yêu cầu cập nhập kĩ thuật để cung cấp tính quán môi trường đa người dung Các ứng dụng phổ biến tính toán ngang hàng [22] chia sẻ nội dung Hình 1-3 Mô hình mạng ngang hàng file điển Napster, Gnutella, Mojo Nation, eDonkey and Freenet Napster Tính toán ngang hàng dạng tính toán phân tán, bao gồm số lớn hệ thống lớn trao đổi hướng chia sẻ nội dung Trong trao nút tịnh toán tự trị (các máy ngang hàng) hoạt động chia sẻ tài nguyên đổi nội dung thực tế Napster máy tính ngang hàng việc khám dịch vụ [2] Tính toán ngang hàng chia sẻ tài nguyên dịch vụ điều phá máy tính ngang hàng tập trung (như lưu trữ thư mục trung tâm) hướng chuyển đổi hệ thống Những tài nguyên dịch vụ bao gồm Gnutella cung cấp giải pháp chia sẻ file phân tán rõ ràng không sử dụng nút chuyển đổi thông tin, chu kì xử lý, lưu trữ đệm, lưu trữ đĩa cho file trung tâm Hạn chế Gentella ứng dụng mà giao thức Tính toán ngang hàng sử dụng tốt sức mạnh tính toán máy tính để bàn dùng để tìm kiếm chia sẻ file Để tìm nội dung máy ngang hàng khác tồn kết nối mạng Các máy ngang hàng có trách nhiệm đồng thời có người dùng phải biết địa IP nút Gnutella khác Một nút đưa chức vừa máy chủ vừa máy khách cho dịch vụ chia xẻ tài nguyên câu truy vấn cho file việc gửi đến tất nút khác biết Nếu Lợi ích việc sử dụng tính toán ngang hàng là: Giảm cân tải máy nút không phục vụ yêu cầu truyền đến nút khác Câu truy chủ, cho phép máy chủ thực thi dịch vụ đặc biệt hiệu hơn, giảm vấn hết nút mạng Gnutella file tìm thấy thời yêu cầu cho tổ chức IT để tăng phần sở hạ tằng họ để hỗ trợ gian sống hết Kĩ thuật khám phá làm lụt mạng dịch vụ lưu trữ lưu, tạo sức mạng tính toán không tốn nhiều chi phí, nguyên nhân cho vấn đề quy mô mạng Một vấn đề khác Gnutella băng thông, lưu trữ … người điều khiển tự do, ví dụ người không phân bố nội dung Một số thuận lợi tính toán ngang hàng điểm trung tâm lỗi, khả lại lấy nội dung từ người dùng khác Mojo Nation ứng dụng trao đổi nội dung mở rộng lớn máy ngang hàng giống thêm nhiều ngang hàng, giới thiệu lưu hành ảo để đếm người điều khiển tự máy ngang hàng đến hệ thống Điểm không thận lợi tính toán ngang hàng Sư lưu hành ảo dùng để khuyến phân bố tài nguyên (như không gian lưu điều phối không tập trung, tất nút tạo không giống trữ nội dung) Các máy trạm mạn Mojo Nation có vai trò khác sức mạng tính toán, băng thông … Nội dung phân tách vào thành khối phân bố toàn Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 14 15 mạng Mojo Do đó, máy chủ lưu giữ phần nội dung host không công dự án SETI@home với tổng số host 2,138,226 tổng số lượng người dùng phải toàn file Một hệ thống chia sẻ file phổ biến khác eDonkey Đặc điểm đặc 904,956 với tổng 252 quốc gia tham gia, phép toán trỏ động trung bình cho biệt eDonkey xác minh file sử dụng thuật toán MD4 dựa giá trị giây 51,103.68 GigaFLOPS (51.104 TeraFLOPS) mảng băm kích cỡ file Phương thức cho phép xác định file với nội dung Một hệ thống tình nguyện điển hình bao gồm hàng trăm đến hàng nghìn máy tính giống tên file khác Nó tải nội dung từ file nguồn tình nguyện trung tâm tính toán (trung tâm bao gồm nhiều khác tăng tỉ lệ tải mạng Freenet hệ thống chia sẻ nội dung/ máy chủ trung tâm cho cân tải) Các máy chủ trung tâm tính toán quản lý file Mục đích Freenet làm cho sử dụng với người vô danh công việc tính toán song song yêu cầu, phân chia chúng vào nhiệm vụ Các yêu cầu người dùng Freenet file đặc nhỏ đặt chúng đến máy tính tình nguyện để thực thi Mỗi máy tính tình nơi khác Freenet xác định Xa hơn, người điều nguyện thực thi nhiệm vụ định gửi kết quay trở lại đến khiển nút Freenet xác minh liệu lưu trữ đĩa cục máy chủ trung tâm Các máy chủ trung tâm tập hợp kết làm Freenet phân tán hoàn chỉnh biểu diễn mạng ngang hàng theo mẫu vài công việc thêm kiểm tra kết trả kết cuối đến riêng người dùng cuối hệ thống 1.3 Tính toán tình nguyện 1.3.1 Khái niệm Tính toán tình nguyện mô hình tính toán song song cho phép người dùng tình nguyện toàn mạng phân bổ tài nguyên tính toán nhàn rỗi họ để hỗ trợ cho tính toán song song có phạm vi rộng lớn [1], [2], [3], [20] Không giống hệ thống tính toán lưới phổ biến [4], [5], hệ thống tính toán tình nguyện chứa đựng nhiều máy tính từ cá nhân (được gọi người tình nguyện) người mà muốn chia sẻ tài nguyên họ cho dự án nghiên cứu mang tính cộng đống SETI@home [2] tìm kiếm sống bên trái đất, Einstein@Home[6] tìm kiếm neutron xoay nhanh dùng liệu từ nhà dò tìm sóng hấp dẫn LIGO GEO, Climateprediction.net@Home [7] dùng để dự đoán khí hậu trái đất Khi tham gia vào dự án, người tình nguyện giữ bí mật tên tuổi thông tin cá nhân khác Mặc dù đăng ký tham gia dự án họ phải cung cấp email số thông tin, nhiên dự án làm ảnh hưởng đến đời sống thực họ Và thế, họ chịu trách nhiệm dự án Tính toán tình nguyện giúp cho xây dựng Hình 1-4 Mô hình tính toán tình nguyện 1.3.2 BOINC 1.3.2.1Khái niệm BOINC (Berkeley Open Infrastructure for Network Computing) hệ thống phần mềm trung gian cho tính toán tình nguyện BOINC sử dụng số dự án bao gồm: SETI@home [2], Einstein@Home [6], Climateprediction.net@Home [7] Những người tình nguyện tham gia hệ thống cách chạy phần mềm khách BOINC máy tính họ (hoặc máy trạm) mạng tính toán toàn cầu lớn nhanh, điều chứng thành Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 16 17 Họ tham gia máy trạm đến tập dự án, điều khiển • Linh hoạt phát triển: Các ứng dụng viết C, C++ hay Fortran định tài nguyên dự án Một dự án dựa BOINC cung cấp máy chủ Các máy trạm tải chương trình thực thi ứng dụng file liệu từ máy chủ, thực nhiệm vụ (bằng cách chạy ứng dụng theo file liệu đặc tả), tải lên file đầu đến máy chủ Phần mềm BOINC bao gồm thành phần phía máy chủ, chương trình lập lịch tiến trình để quản lý phấn bố tập hợp nhiệm vụ [12], giao diện dựa web cho người tình nguyện nhà quản trị dự án chạy ứng dụng BOINC mà không cần cải biên hay cải biên Một ứng dụng bao gồm nhiều file (đa chương trình) Những phiên ứng dụng tự động triển khai, cập nhật • Tính bảo mật: BOINC bảo vệ để chống lại kiểu công xảy Ví dụ chữ ký số dựa mã hoá khoá công khai chống lại phân phối virus… • Tính thực thi khả chuyển: Phần mềm máy chủ BOINC vô hiệu Vì thế, máy chủ trung tâm gửi điều khiển hàng triệu công việc ngày Kiến trúc máy chủ có khả biến đổi cao, làm cho dễ dàng tăng khả máy chủ sẵn sàng tăng thêm nhiều máy • Mã nguồn mở: Bản thân BOINC cung cấp dạng mã nguồn mở, BOINC máy chủ BOINC khách Tuy ứng dụng BOINC không thiết phải nguồn mở • Khả tính toán với lượng liệu lớn: BOINC hỗ trợ ứng dụng tạo hay sử dụng số lượng lớn liệu, cần dùng nhiều nhớ Sự phân phối tập hợp liệu chia nhiều máy chủ Những người Hình 1-5 Mô hình BOINC 1.3.2.2Các đặc trưng BOINC [23] • Tính độc lập dự án: Có nhiều dự án khác sử dụng BOINC, nhiên dự án độc lập hoàn toàn với Mỗi dự án có máy chủ sở liệu riêng, thư mục trung tâm cho tất dự án Điểm chung chúng lấy BOINC làm phần mềm • Tính linh hoạt sử dụng: Những người tình nguyện tham gia vào nhiều dự án; họ kiểm soát dự án ấy, quản lý phân chia tài nguyên cho dự án Khi dự án kết thúc hay không làm việc, tài nguyên dành cho thu hồi phân chia cho dự án khác tham gia trao đổi lượng liệu lớn cách kín đáo Những người sử dụng rõ giới hạn nhớ hay băng thông Công việc gửi đến máy có khả hoàn thành • Platform đa dạng: phiên BOINC dành cho máy trạm có sẵn cho hầu hết platform thông dụng (Mac OS X, Windows, Linux hệ thống Unix khác Ubuntu, Fedora, Redhat…) Máy trạm sử dụng nhiều CPU • Kiến trúc phần mềm dễ mở rộng: Những thành phần quan trọng BOINC tài liệu hoá công bố rộng rãi; nhờ nhà phát triển hãng thứ dễ dàng tạo phần mềm website mở rộng BOINC • Tính cộng đồng người tình nguyện: BOINC cung cấp công cụ web bảng tin nhắn, thông tin cá nhân người tình nguyện tin nhắn riêng; Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 18 19 điều giúp người tình nguyện dễ dàng hình thành cộng đồng trực bao gồm danh sách công việc mới(mỗi công việc miêu tả tuyến để trao đổi, giúp đỡ lẫn thành phân XML mà liệt kê ứng dụng, file đầu vào đầu ra, bao gồm vị trí 1.3.2.3Kiến trúc BOINC BOINC bao gồm thành phần chủ khách (Xem hình 1.5) BOINC khách chạy ứng dụng dự án Các ứng dụng liên kết với hệ thống thời gian chạy, máy chủ liệu từ file tải về) Đôi máy khách có kết nối vật lý bị trục trặc Như cách máy tính kết nối hàng ngày Trong khoảng thời gian kết nối mạng, BOINC cố gắng tải đủ công việc để giữ cho máy chức hệ thống bao gồm điều khiển xử lý, điều khiển điểm kiểm tính bận lần kết nối Hình vẽ bên định trình tự thực tra, đồ thị [13] Máy khách thực thi lập lịch CPU(được thực thi đỉnh máy trạm máy chủ lập lịch hệ điều hành cục bộ, mức hệ điều hành, BOINC chạy ứng dụng mức độ ưu tiên 0) Nó chiếm giữ ứng dụng cách trì hoãn chúng(và rời chúng vào nhớ) cách dẫn chúng để thoát BOINC chủ thực việc cung cấp ứng dụng đơn vị công việc, xử lý kết tính toán, quản lý phân phối tập hợp liệu Hình 1-7 Sự tương tác máy trạm máy chủ 1.3.3 Lập lịch tính toán tình nguyện Theo khái niệm hệ thống tính toán tình nguyện hệ thống tính toán tình nguyện bao gồm nhiều máy trạm kết nối đến máy chủ, máy trạm kết nối đến máy chủ để lấy công việc thực trả kết cho máy chủ, máy chủ thực thi lựa chọn máy trạn để gán nhiệm vụ Vì trình xử lý lấy thực thi công việc bao gồm bốn sách liên quan [14], [15]: • Lập lịch CPU : Của việc chạy nay, công việc chạy Hình 1-6 Kiến trúc BOINC Tất kết nối mạng BOINC khởi tạo máy khách Một máy khách giao tiếp với máy chủ gán nhiệm vụ dự án [12] theo HTTP Yêu cầu file liệu XML bao gồm miêu tả phần cứng khả thực hiện, danh sách công việc hoàn thành, yêu cầu cho số lượng chắn (diễn tả giới hạn thời gian CPU) công việc thêm Thông điệp phản hồi Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 • Lấy công việc : Khi để nghị dự án cho nhiều công việc, dự án đề nghị đề nghị công việc • Gửi công việc : Khi dự án nhận yêu cầu công việc, lên gửi công việc nào.nó lên gửi công việc • Ước lượng thời gian hoàn thành : Ước lượng thời gian CPU trì công việc Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 46 47 Hình 3-2 Sơ đồ hình vẽ bước giản đồ lập lịch Round Robin dựa ưu tiên độ tin cậy Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 48 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 49 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 50 51 Công việc chưa làm tiếp 10 Hoàn thành Hoàn thành Crw = 0.99902 Crw = 0.92753 Crw = 0.99992 Crw = 0.94117 Crw = 0.94117 Công việc Công việc Công việc Công việc Công việc SLOWDOWN = Crc = 0.99902 Crc = 0.92753 Crc = 0.99992 Crc = 0.94117 Crc = 0.94117 pid Crg pid Crg pid Crg pid Crg pid Crg P1 0.80000 P3 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P2 0.94117 P4 0.94117 P6 0.44445 P8 0.94117 P10 0.94117 P1 0.98461 P3 0.76190 P1 0.76190 P5 - P1 - P2 0.99610 P4 0.92753 P2 0.99605 P6 - P2 - P1 P2 0.99902 P3 - P1 0.99992 P4 Worker P1 Worker P2 Worker P3 Worker P4 Worker P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 K 23 K 14 K K K K K K K K Cr 0.99166 Cr 0.98666 Cr 0.8 Cr 0.8 Cr 0.95999 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T Danh sách máy trạm có khả P1 P2 P7 P8 P9 P10 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 P7 P8 P1 P1 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 52 53 Mã giả lập giản đồ lập lịch định sau Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 54 55 Mã giả lập giản đồ Round Robin dựa độ tin cậy Đẩy nhiệm vụ vào hàng đợi nhiệm vụ; Đẩy máy trạm vào hàng đợi máy trạm; Elseif End Trong sơ đồ hình vẽ bước giản đồ lập lịch dựa độ tin cậy hình 4.2, ta Làm song song (Kiểm tra điểm): nhận thấy độ tin cậy công việc bị giảm máy phá hoại trả While (không dừng) kết sai bước bước 7, độ tin cậy thực thể Kiểm tra điểm máy trạm với tỉ lệ s; công việc độ tin cậy nhóm có độ tin cậy lớn Trong bước sau If (máy trạm vượt qua kiểm tra điểm) máy trạm thực xong nhiệm vụ máy 2, độ tin cậy nhiệm vụ Quay lại tính độ tin cậy máy trạm theo phương chưa đạt tới ngưỡng tin cậy chấp nhận quay lại gán cho số trình 4.2 hoặc4.3; máy trạm thực Ở bước giản đồ lập lịch nhiệm vụ thực lại hai máy trạm tiếp máy cho kết giả mạo Else Lưu vào danh sách đen máy trạm; làm cho độ tin cậy nhiệm vụ tiếp tục giảm xuống lại tăng lên máy trạm thực xong nhiệm vụ Ta nhận thấy thay máy EndIf EndWhile; máy trạm tin cậy khác để tăng độ tin cậy nhiệm vụ ví dụ máy trạm Làm song song (Gán nhiệm vụ): tình từ giảm thời gian tính toán nhiệm vụ từ While (không dừng) dẫn đến giảm thời gian tính toán toàn hệ thống Từ quan sát này, Lấy nhiệm vụ máy trạm có độ tin cậy cao nghiên cứu đề xuất thuật toán gọi giản đồ lập lịch kiểm thử dựa nhất; độ tin cậy để chọn máy trạm tốt để thực thi công việc Bằng cách Gán nhiệm vụ đến máy trạm; kết hợp độ ưu tiên độ tin cậy khả thực Giản đồ lấy EndWhile máy tính có khả tính toán độ tin cậy tốt để giảm thời gian thực thi Làm song song (Kiểm tra độ tin cậy): toàn hệ thống On (Nhận kết quả) Begin Đẩy máy trạm đến hàng đợi máy trạm ; Tính độ tin cậy kết Cr theo phương trình 4.4, 4.5, 4.6; If (Cr > ) Đánh dấu nhiệm vụ hoàn thành; Else Đẩy nhiệm vụ lại hàng đợi nhiệm vụ; Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 3.2 Giản đồ lập lịch Round Robin dựa kiểm thử độ tin cậy Vì độ tin cậy thực thể công việc độ tin cậy nhóm có độ tin cậy lớn việc chọn máy tính để tiếp tục thực thực thể công việc để giúp cho tăng độ tin cậy nhóm vô quan trọng Trong giản đồ lập lịch Round Robin dựa ưu tiên độ tin cậy thực thể công việc chưa đạt tới ngưỡng tin cậy lấy máy trạm có khả có độ tin cậy lớn để thực thi công việc có vấn đề máy trạm có độ tin cậy lớn lại cho kết giả mạo làm giảm độ tin cậy thực thể công việc, từ nhận xét mà đề xuất giản đồ lập lịch Round Robin dựa Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 56 57 kiểm thử độ tin cậy Ý tưởng giản đồ chọn máy trạm phù Vì hợp để thực thi nhiệm vụ cho tăng độ tin cậy nhiệm vụ Trong giản đồ Do trình tính toán này, với nhiệm vụ cho T ta có Cr độ tin cậy nhiệm vụ, ta có phụ thuộc vào kết thực nhiệm vụ máy trạm i hay sai , với máy phá hoại i máy chủ cần phải ước đoán kết trả máy trạm i Để ước đoán kết trả máy phá độ tin cậy ước lượng nhiệm vụ T máy tính i (0 ≤ i < P ) thực hoại i hay sai, máy chủ dựa vào tỉ lệ lỗi s máy trạm i để giả định kết nhiệm vụ, Av(i) khả thực nhiệm vụ máy i Tại thời điểm ban đầu, Nếu s ≥ 0.5 máy chủ coi máy phá hoại i trả kết sai, trường hợp máy trạm i có độ tin cậy 1− f (phương trình 3) Khi nhiệm vụ cần lại kết Nếu trường hợp thực tế nút mạng lần đầu thực thi, với nhiệm vụ ta chọn máy trạm phù hợp để thực tham gia vào hệ thống tình nguyện chưa rõ giá trị s máy chủ coi kết thi, không chọn máy trạm phù hợp ta đẩy nhiệm vụ vào lại trả máy trạm thực nhiệm vụ T xác để thực hiên tính hàng đợi nhiệm vụ để trờ thêm số máy trạm khác nhàn rỗi để lựa chọn, lấy Dưới minh họa cho thuật toán ví dụ phần 4.1 với hệ nhiệm vụ khác hàng đợi để tìm máy trạm phù hợp Với máy trạm, máy thống tính toán tình nguyện cho hinh 4.1 Các bước 1, 2, 3, 4, 5, 6, chủ tiếp tục cho điểm kiểm tra với tỉ lệ q Ngay máy chủ nhận kết tương tự hình 3.2 quả, tính toán độ tin cậy kết Nếu độ tin cậy không lớn Hình 3-3 Sơ đồ hình vẽ bước giản đồ lập lịch kiểm thử dựa độ tin cậy ngưỡng định nghĩa trước nhiệm vụ sau gửi quay trở lại hàng đợi để thực lại Mặt khác, nhiệm vụ hoàn thành Xử lý tiếp tục không nhiệm vụ hàng đợi công việc Theo thời gian, tất nhiệm vụ có kết vượt qua ngưỡng trình tính toán kết thúc Để thực lấy máy trạm phù hợp để thực nhiệm vụ, máy chủ thực so sánh độ tin khả tính toán Trước tiên máy chủ lấy máy trạm có Cri > Cr (*) Trong số máy tram lấy tồn nhóm máy trạm có (**) máy chủ lấy máy trạm số Trong số máy trạm thỏa mãn (**) máy chủ lấy máy trạm có khả thực nhiệm vụ tốt Trong trường hợp không tồn máy trạm i thỏa mãn (**) máy chủ lấy máy trạm nhóm thỏa mãn (*) không thỏa mãn (**) Việc lấy máy trạm nhóm phụ thuộc vào tiêu chí lấy, máy chủ lấy máy trạm có gần máy trạm có khả tính toán tốt số máy trạm Nếu trường hợp máy trạm thỏa mãn (*) máy chủ không chọn máy trạm mà đợi thêm số máy trạm để chọn Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 58 59 Công việc chưa làm tiếp Hoàn thành Công việc chưa làm tiếp 11 Hoàn thành Hoàn thành Hoàn thành Hoàn thành Crw = 0.99902 Crw = 0.92753 Crw = 0.99992 Crw = 0.94117 Crw = 0.80000 Crw = 0.99902 Crw = 0.92753 Crw = 0.99992 Crw = 0.94117 Crw = 0.99947 Công việc Công việc Công việc Công việc Công việc Công việc Công việc Công việc Công việc Công việc SLOWDOWN = 4.5 Crc = 0.99902 Crc = 0.92753 SLOWDOWN = 5.5 Crc = 0.99992 Crc = 0.94117 Crc = 0.80000 Crc = 0.99902 Crc = 0.92753 Crc = 0.99992 Crc = 0.94117 Crc = 0.99947 pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg P1 0.80000 P3 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P1 0.80000 P3 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P2 0.94117 P4 0.94117 P6 0.44445 P8 0.94117 P10 P2 0.94117 P4 0.94117 P6 0.44445 P8 0.94117 P10 0.94117 P1 0.98461 P3 0.76190 P1 0.76190 P7 - P1 0.98461 P3 0.76190 P1 0.76190 P7 - P1 0.99947 P2 0.99610 P4 0.92753 P2 0.99605 P8 - P2 0.99610 P4 0.92753 P2 0.99605 P8 - P2 - P1 P2 0.99902 P4 - P1 0.99992 P1 P2 0.99902 P4 - P1 0.99992 P5 Worker P1 Worker P2 Worker P3 - P2 Worker P4 Worker P5 P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 Worker P1 Worker P2 Worker P3 Worker P4 Worker P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 K 23 K 14 K K K K K K K K K 26 K 14 K K K K K K K K Cr 0.99166 Cr 0.98666 Cr 0.8 Cr 0.8 Cr 0.95999 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.99259 Cr 0.98666 Cr 0.8 Cr 0.8 Cr 0.95999 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T Danh sách máy trạm có khả P3 P6 P1 P9 P5 P6 P7 P8 Danh sách máy trạm có khả P1 P1 P3 P6 P1 P9 P10 P10 Công việc chưa làm tiếp 10 Hoàn thành Hoàn thành Crw = 0.99902 Crw = 0.92753 Crw = 0.99992 Crw = 0.94117 Crw = 0.94117 Công việc Công việc Công việc Công việc Công việc SLOWDOWN = Crc = 0.99902 Crc = 0.92753 Crc = 0.99992 Crc = 0.94117 Crc = 0.94117 pid Crg pid Crg pid Crg pid Crg pid Crg P1 0.80000 P3 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P2 0.94117 P4 0.94117 P6 0.44445 P8 0.94117 P10 0.94117 P1 0.98461 P3 0.76190 P1 0.76190 P7 - P1 - P2 0.99610 P4 0.92753 P2 0.99605 P8 - P2 - P1 P2 0.99902 P4 - P1 0.99992 P5 - Worker P1 Worker P2 Worker P3 Worker P4 Worker P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 K 23 K 14 K K K K K K K K Cr 0.99166 Cr 0.98666 Cr 0.8 Cr 0.8 Cr 0.95999 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T Danh sách máy trạm có khả P3 P6 P1 P9 P2 P10 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 P7 P8 P1 P1 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 P7 P8 P1 P1 60 61 Công việc chưa làm tiếp 13 Hoàn thành Hoàn thành Hoàn thành Hoàn thành Crw = 0.99902 Crw = 0.99979 Crw = 0.99992 Crw = 0.94117 Công việc Công việc Công việc Công việc Công việc chưa làm tiếp 15 Hoàn thành Hoàn thành Hoàn thành Hoàn thành Hoàn thành Crw = 0.99947 Crw = 0.99902 Crw = 0.99514 Crw = 0.99992 Crw = 0.99997 Crw = 0.99947 Công việc Công việc Công việc Công việc Công việc Công việc SLOWDOWN = Crc = 0.99902 Crc = 0.99979 SLOWDOWN = Crc = 0.99992 Crc = 0.94117 Crc = 0.99947 Crc = 0.99902 Crc = 0.99979 Crc = 0.99992 Crc = 0.99997 Crc = 0.99947 pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg pid Crg P1 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P1 0.80000 P5 0.80000 P7 0.80000 P9 0.80000 P2 0.94117 P4 0.98084 P6 0.44445 P8 0.94117 P10 0.94117 P2 0.94117 P4 0.98084 P6 0.44445 P8 0.94117 P10 0.94117 P1 0.98461 P5 0.99514 P1 0.76190 P7 - P1 0.99947 P1 0.98461 P5 0.99514 P1 0.76190 P7 0.98461 P1 0.99947 P2 0.99610 P1 0.99979 P2 0.99605 P8 - P2 0.99610 P1 0.99979 P2 0.99605 P8 0.99610 P1 P2 0.99902 P2 - P1 0.99992 P1 P2 0.99902 P1 0.99992 P1 0.99997 P2 - Worker P1 Worker P2 Worker P3 Worker P4 Worker P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 Worker P1 Worker P2 Worker P3 Worker P4 Worker P5 Worker P6 Worker P7 Worker P8 Worker P9 Worker P10 K 32 K 14 K K 18 K 10 K K K K K K 37 K 14 K K 18 K 10 K K 10 K 10 K K Cr 0.99393 Cr 0.98666 Cr 0.8 Cr 0.98947 Cr 0.98181 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.99473 Cr 0.98666 Cr 0.8 Cr 0.98947 Cr 0.98181 Cr 0.8 Cr 0.98181 Cr 0.98181 Cr 0.8 Cr 0.8 T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T Danh sách máy trạm có khả P3 P6 P1 P9 P10 P2 P4 P5 Danh sách máy trạm có khả P1 P1 P3 Công việc chưa làm tiếp 14 Hoàn thành Hoàn thành Hoàn thành Crw = 0.99902 Crw = 0.99514 Crw = 0.99992 Crw = 0.99610 Crw = 0.99947 Hoàn thành Công việc Công việc Công việc Công việc Công việc Crc = 0.99979 Crc = 0.99992 Crc = 0.99610 pid Crg pid Crg pid Crg pid Crg P5 0.80000 P7 0.80000 P9 0.80000 P2 0.94117 P4 0.98084 P6 0.44445 P8 0.94117 P10 0.94117 P1 0.98461 P5 0.99514 P1 0.76190 P7 0.98461 P1 0.99947 P2 0.99610 P1 0.99979 P2 0.99605 P8 0.99610 P1 P2 0.99902 P1 0.99992 P1 - P2 - Worker P4 Worker P5 Worker P6 Worker P7 Worker P9 K 18 K 10 K K K K K Cr 0.99393 Cr 0.98666 Cr 0.8 Cr 0.98947 Cr 0.98181 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 Cr 0.8 T 0.5 T T 1.5 T T 2.5 T T 3.5 T T 4.5 T Danh sách máy trạm có khả P8 Dưới mã mô giản đồ P4 P5 P1 P1 trình 2.2 2.3; Worker P10 K P10 Else Lưu vào danh sách đen máy trạm; EndIf EndWhile; Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 P1 Quay lại tính độ tin cậy máy trạm theo phương Worker P8 14 P9 P1 Kiểm tra điểm máy trạm với tỉ lệ s; K P7 P5 If (Máy trạm vượt qua kiểm tra điểm) 32 P6 P4 While (Không dừng) K P3 P8 Làm song song (Kiểm tra điểm): Crc = 0.99947 Crg 0.80000 Worker P3 P10 Đẩy máy trạm vào hàng đợi máy trạm; P1 Worker P2 P9 Đẩy nhiệm vụ vào hàng đợi nhiệm vụ; pid Worker P1 P7 Mã giả lập giản đồ lập lịch Round Robin dựa kiểm thử độ tin cậy SLOWDOWN = Crc = 0.99902 P6 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 62 63 Lấy máy có thời gian thực ngắn nhất; Làm song song (Gán nhiệm vụ): Trả máy lấy được; While (Không dừng) Lấy nhiệm vụ; Lấy máy trạm có khả năng; EndIf //Thiết lập máy trạm tốt lấy trường hợp If (không lấy máy trạm) Đẩy nhiệm vụ lại vào hàng đợi nhiệm vụ; Else // với Cri lại độ tin cậy nhiệm vụ có thêm máy trạm i Thiết lập bWorker; Gán nhiệm vụ đến máy trạm; // Thiết lập máy trạm tốt lấy trường hợp EndIf EndWhile Thiết lập gWorker; Làm song song (Kiểm tra độ tin cậy): Lấy độ tin cậy ban đầu nhiệm vụ Cr; On (Nhận kết quả) For (i = 0; i < P; i++) Ước lượng kết thực máy trạm i với nhiệm Begin Đẩy máy trạm đến hàng đợi máy trạm ; vụ; Tính lại độ tin cậy nhiệm vụ có thêm máy trạm i Tính độ tin cậy kết Cr theo phương trình 4, 5, 6; If ( ) ( ); If ( Đánh dấu nhiệm vụ hoàn thành; Else >= Cr) ) If ( Đẩy nhiệm vụ lại hàng đợi nhiệm vụ; EndIf End Mã giả lập lấy máy trạm có khả Đầu vào: Nhiệm vụ muốn thực T, Tiêu chí lấy máy trạm Type Đầu : Trả máy trạm có khả thực If (Không có máy trạm) Return NULL; // Khả thực máy trạm i Av(i) If bWorker = i; EndIf ElseIf (Tồn bWorker) //Ưu tiên độ tin cậy If (Type ) If If (Nhiệm vụ thực lần đâu tiên) Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 64 65 (( Chương KẾT QUẢ THỰC NGHIỆM gWorker = i; EndIf Trong phần giới thiệu chương trình mô phỏng, kịch mô thảo luận kết mô Else //Ưu tiên theo khả tính toán If 4.1 Chương trình mô Trong phần này, xin trình bày chương trình mô dùng luận văn tôi, chương trình mô VCSIM VCSIM xây dựng mô hình hướng kiện Đây mô hình sử dụng BOINC VCSIM mô việc tạo gWorker = i; EndIf EndIf Endif Endif EndFor If (Tồn bWorker) return bWorker; phân bố nhiệm vụ thực thi môi trường có thay đổi cao, không đồng phân tán Thêm vào tập hợp đánh giá hiệu nhiệm vụ hoàn thành VCSIM viết ngôn ngữ lập trình C VCSIM thiết kế gồm mô đun là: Mô đun quản lý máy trạm, mô đun quản lý công việc, mô đun mô Mô đun quản lý máy trạm thực nhiệm vụ tạo danh sách máy trạm có độ tin cậy ban đầu giống giau, có thời gian tính toán khác nhau, tạo máy giả mạo, quản lý máy trạm lấy máy trạm từ hàng đợi theo tiêu chí lập lịch, đẩy máy trạm vào hàng đợi …Mô đun quản lý công việc thực nhiệm vụ tạo danh sách nhiệm vụ, gán nhiệm vụ cho EndIf If (Tồn gWorker) return gWorker; máy trạm, quản lý hàng đợi công việc, tính độ tin cậy nhiệm vụ…Mô đun mô thực nhiệm vụ quản lý danh sách tham số mô số lần EndIf mô phỏng, số máy trạm thực hiện, số công việc thực hiện, phân số lỗi, tỉ lệ lỗi Return NULL; chấp nhận được, số lần thực lại nhiệm vụ, tỉ lệ phá hoại, giản đồ lập Tiếp theo xác định lại tính khả dụng giản đồ lập lịch dựa độ tin lịch thực hiện, tỉ lệ kiểm tra điểm, tham số hỗ trợ danh sách đen hay không, tham số cậy kết mô phần hỗ trợ kiểm tra điểm theo biểu hay không … Thực mô phỏng, hỗ trợ hàm hiển thị đưa kết 4.2 Kịch mô Trong phần này, xác định hiêu giản đồ lập lịch đề xuất mô Trong mô tôi, tính toán chứa đựng danh sách N Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 66 67 nhiệm vụ độc lập có kích cỡ giống danh sách P máy tính tình tương ứng Đặc biệt trường hợp nguyện (các máy trạm) Để mô phá hoại máy xấu, phân số f = P giản đồ lập lịch CRR giảm từ 40% - 60% so với giản đồ lập lịch RR tương hai trường hợp N > P hay N < 0.2 máy trạm lựa chọn ngẫu nhiên phá hoại Có hai trường hợp tứng Còn trường hợp số lượng nhiệm vụ máy trạm quan tâm giản đồ lập lịch CRR giảm xấp xỉ 60% - 80% so với giản đồ lập lịch RR tương Trong trường hợp thứ (N > P), có 1500 nhiệm vụ 500 máy trạm, tứng Trong trường hợp N > P, N < P giản giản đồ lập lịch CRR hiệu trường hợp thừ hai (N < P ), có 500 1500 máy trạm Giả sử sách danh sách đen không áp dụng (ví dụ máy trạm đệ trình kết chí sau dò tìm kẻ phá hoại), kĩ thuật kiểm tra điểm dựa biểu sử dụng trình mô Bởi hiệu giản đồ lập lịch dựa hai trường hợp N > P hay N < P PRR(Cr) PRR(Av) ngoại trừ trường hợp N < P và tỉ lệ lỗi kết nhỏ 0.001 Còn giản đồ lập lịch PRR(Cr) hiệu chút so với PRR(Av) tỉ lệ lỗi nhỏ 0.001 Còn lai gần tương đương độ tin cậy đánh giá theo tham số chậm chễ (ví dụ tỉ số thời gian Sở dĩ giản đồ có kết tốt giản đồ quan tâm đến việc chạy trình tính toán với không dùng kĩ thuật chịu đựng lỗi), chọn máy trạm cho nâng cao độ tin cậy nhiệm vụ sau lần tính giả sử thời gian thực thi nhiệm vụ máy trạm số ngẫu toán máy trạm độ tin cậy nhiệm vụ nhanh hướng tới ngưỡng nhiên đến đơn vị thời gian Mục đích mô so sánh tin cậy hiệu giản đồ lập lịch: Round Robin RR, lập lịch Round Robin dựa ưu tiên khả thực PRR(Av), lập lịch Round Robin dựa ưu tiên độ tin cậy PRR(Cr), Lập lịch Round Robin dựa kiểm thử tin cậy với tiêu chí ưu tiên độ tin cậy CRR(Cr) ưu tiên khả thực CRR(Av) Để đảm bảo độ tin cậy kết mô thực mô trường hợp lần lấy giá trị trung bình 4.3 Kết Hình 4-1, 4-2, 4-3, 4-4, định kết thí nghiệm ứng với trường hợp tỉ lệ lỗi khác số lượng công việc lớn số máy Hình 4-5, 4-6, 4-7, 4-8 định kết thí nghiệm ứng với trường hợp tỉ lệ lỗi khác số lượng công việc nhỏ số máy trạm, lấy từ mô cho đồng thời giản đồ lập lịch, vẽ biểu đồ giá trị tham số chậm chễ (slowdown) so với tham số khác tham số hiệu quan trọng chấp nhận giản đồ chịu lỗi dựa độ tin cậy hệ thống tính toán tình nguyện Nhìn vào kết biều đồ so sánh nhận thấy giản đồ lập lịch Hình 4-1 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.25,N >P đề xuất giảm đáng kể thời gian thực thi so với giản đồ lập lịch Round Robin Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 68 69 Hình 4-2 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.5,N >P Hình 4-4 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 1,N >P Hình 4-3 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.75,N >P Hình 4-5 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.25,N< P Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 70 71 Hình 4-6 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.5,N< P Hình 4-8 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 1,N< P Hình 4-7 Biểu đồ so sánh chậm chễ giản đồ lập lịch với s= 0.75,N< P Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 72 73 5.3 Hướng phát triển tương lai Chương KẾT LUẬN Trong luận văn này, thảo luận vấn đề lập lịch cho hệ thống tính toán tình nguyện sử dụng kĩ thuật chịu lỗi dựa độ tin cậy Như hệ thống yêu cầu quay lại thực thi nhiệm vụ máy tính tình nguyện để đảm bảo tin cậy kết bảo vệ hệ thống tử công máy phá hoại Trong tương lai tiếp tục tích hợp giản đồ lập lịch vào hệ thống BOINC Và tiếp tục nghiên cứu đưa vài giản đồ chịu lỗi dựa độ tin cậy cho vấn đề lập lịch động tập trung vào độ tin cậy, khả thực tính sãn sàng máy tính tình nguyện hay độ tin cậy nhiệm vụ thực thi Phát triển hệ thống tính toán tình nguyện Việt Nam: VN@Home 5.1 Những kết đạt Về mặt lý thuyết: Đã tìm hiểu tổng quan hệ thống tính toán phân tán, tính toán lươi, tính toán ngang hàng tính toán tình nguyện Đã tìm hiểu vấn đề lập lịch tính toán tình nguyện Tìm hiểu kĩ thuật chịu lỗi truyền thống biểu theo số đông, kiểm tra điểm Tìm hiểu chịu lỗi dựa độ tin cậy Khảo sát số giản đồ lập lịch dành cho máy chủ hệ thống tính toán tình nguyện giản đồ lập lịch Round Robin giản đồ lập dựa độ ưu tiên khả tính toán Đặc biệt đề xuất hai giản đồ lập lịch dựa độ tin cậy là: Giản đồ lập lịch Round Robin dựa tin cậy giản đồ lập lịch Round Robin dựa kiểm thử độ tin cậy Về mặt thực nghiệm, luân văn mô thành công giản đồ lập lịch đề xuất đưa kịch mô Các kết mô việc áp dụng kĩ thuật lập lịch đề xuất giảm đáng kể thời gian tính toán hệ thống so với lập Round Robin thông thường hai trường hợp 5.2 Những công việc chưa làm Tuy đưa giản đồ lập lịch mô thành công giản đồ lập lịch thời gian hạn chế nên chưa tích hợp vào hệ thống BOINC Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 74 75 13 Anderson, D.P., C Christensen, and B Allen."Designing a Runtime System for TÀI LIỆU THAM KHẢO Sarmenta, L.F.G., Hirano, S.: Bayanihan: Building and studying volunteer computing systems using java Future Generation Computer Systems 15 (1999) 675–686 (SETI@home, http://setiathome.berkeley.edu) Volunteer Computing", to appear in Supercomputing – 4, 14 David P Anderson, John McLeod: “Local Scheduling for Volunteer Computing” 1-3 15 Derrick Kondo, David P Anderson, John McLeod:” Performance Evaluation of Scheduling Policies for Volunteer Computing” 1-2 Anderson, D.P.: Boinc: A system for public-resource computing and storage 16 M Taufer, A Kerstens, T P Estrada, D A Flores, R Zamudio, In:Fifth IEEE/ACM International Workshop on Grid Computing (2004) 4–10 P J Teller, R Armen, and C L Brooks: “Moving Volunteer Computing towards Foster, I.: The grid: A new infrastructure for 21st century science Physics Today Knowledge-Constructed, Dynamically-Adaptive Modeling and Scheduling” (2002) 42–47 17 Jason Sonnek, Mukesh Nathan, Abhishek Chandra, and Jon Weissman” Foster, I., Iamnitchi, A.: On death, taxes, and the convergence of peer-to-peer and Reputation-Based Scheduling on Unreliable Distributed Infrastructures” November grid computing In: 2nd International Workshop on Peer-to-Peer Systems 21, 2005 4-7 (IPTPS’03), Berkeley, CA (2003) 18 Gheorghe Cosmin Silaghi, Alvaro E Arenas, Luis Moura Silva: “Reputation- (Enstein@home, http://einstein.phys.uwm.edu) based trust management systems and their applicability to grids” (Climateprediction.net, http://climateprediction.net) 19 “The Effectiveness of Threshold-based Scheduling Policies in BOINC Projects” Sarmenta, L.F.G.: Sabotage-tolerance mechanisms for volunteer computing Trilce Estrada, David A Flores, Michela Taufer, Patricia J Teller, Andre Kerstens, systems Future Generation Computer Systems 18 (2002) 561–572 David P Anderson 3-4 Anderson, D.P., Fedak, G.: The computational and storage potential of volunteer 20 “Volunteer Computing” by Luis F G Sarmenta computing In: Sixth IEEE International Symposium on Cluster Computing and 21 A L Beberg, J Lawson, D McNett, distributed.net, http://www.distributed.net the Grid (2006) 73–80 22 “Peer-to-Peer Computing: Systems, Concepts and Characteristics” Andreas 10 Son Hong Ngo, Ph.D: Priority Round Robin Scheduling Scheme for Reliable Volunteer Computing Systems 4-8 11 L.F.G Sarmenta, Volunteer Computing, Ph.D thesis.Dept of Electrical Engineering and Computer Science, MIT, Cambridge, MA, Dec., 2000 111 - 130 12 Anderson, D.P., E Korpela, and R Walton "HighPerformance Task Mauthe, David Hutchison Computing Department Lancaster University Lancaster LA1 4YR UK 2-4 23 BOINC: http://boinc.berkeley.edu 24 http://avianflugrid.pragma-grid.net 25 http://www.pragma-grid.net Distribution for Volunteer Computing" 1st IEEE International Conference on eScience and Grid Computing, Melbourne, Dec 2005, pp 196-203 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 [...]... đã vượt qua Độ tin cậy của một kết quả thì bằng độ tin mức độ quan tâm mong đợi, nhưng không nhiều Điều này làm cho chịu lỗi dựa trên cậy của máy trạm trả về kết quả đó Độ tin cậy của một nhóm các kết quả là xác độ tin cậy rất hiệu quả, và được chỉ trong phần 4.3, cho phép nó đạt được tỉ lệ lỗi rất suất có điều kiện để kết quả là chính xác Cuối cùng độ tin cậy của một thực thể thấp với độ dư thừa ít... Robin dựa trên kiểm thử độ tin cậy Vì độ tin cậy của một thực thể công việc là độ tin cậy của nhóm có độ tin cậy lớn nhất vì vậy việc chọn một máy tính để tiếp tục thực hiện một thực thể công việc để giúp cho tăng độ tin cậy của nhóm là vô cùng quan trọng Trong giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy khi một thực thể công việc chưa đạt tới ngưỡng tin cậy thì nó sẽ lấy một máy... độ dư thừa ít công việc là độ tin cậy của nhóm tốt nhất được xác minh qua quá trình xử lý biểu 2.3.2 Tính toán độ tin cậy quyết Quyết định chính trong kĩ thuật này là tính toán các giá trị độ tin cậy là chính xác Trong suốt quá trình chạy một lô song song, độ tin cậy của các đối tượng trong hệ Thông thường, có nhiều các giá trị độ tin cậy có thể, tương ứng đối với các cách thống thay đổi hoặc là: (1)... phải quả, độ tin cậy của một nhóm kết quả (một nhóm chứa đựng các kết quả giống quay lại làm một thực thể công việc nhiều lần (hoặc tất cả) nếu kết quả của nó được nhau) và độ tin cậy của một thực thể công việc Độ tin cậy của một máy trạm phụ làm bởi một máy trạm đã được kiểm tra điểm nhiều lần và vì vậy có một độ tin cậy thuộc vào các hành vi quan sát được của nó như là tính chính xác của kết quả, ... điểm để làm cho các độ tin cậy cảu các kết quả Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Độ tin cậy của một máy trạm có kiểm tra điểm và danh sách đen, giả sử nó đã qua k Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 36 37 lần kiểm tra là: nhau Trong trường hợp này, chúng ta bắt đầu với tất cả các máy trạm hiệu quả có một độ tin cậy và bắt đầu tập hợp các kết quả Nếu ngưỡng độ tin cậy là đủ thấp, và các... dụng độ tin cậy của mỗi máy trạm khi thực thi Từ nhận xét Quay lại tính độ tin cậy của máy trạm theo phương trên tôi đã nghiên cứu và đề xuất ra một số thuật toán chịu lỗi dựa trên độ tin cậy trình 2.2 hoặc 2.3; bằng cách kết hợp giưa độ tin cậy Else Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 và khả năng tính toán 44 45 thực hiện bởi hệ thống Biết rằng hệ thống. .. thể bị bắt (vì các kết quả chúng không hợp lệ, và giảm độ tin thấy là hiệu quả cậy của nhóm các kết quả liên quan đến chúng ) Giả sử có đủ các máy trạm tốt, độ Độ tin cậy của một máy trạm không có kiểm tra điểm là: tin cậy của mỗi thực thể công việc W thậm chí hướng đến ngưỡng như máy chủ thu thập đủ kết quả ánh xạ cho một thực thể công việc W, hoặc các máy phân giải các kết quả trong W đủ qua các... Ở đây độ tin cậy của một vài đối như biểu quyết ngoại trừ rằng ở đây, m không được xác minh trước, nhưng được tượng X, được viết là xác minh động, bằng làm điều chỉnh lớn như là nó yêu cầu cho một thực thể công , được định nghĩa là xác suất điều kiện để X cho một kết quả tốt Có bốn loại độ tin cậy: Độ tin cậy của một máy trạm, độ tin cậy của kết việc Tuy nhiên không giống như biểu quyết truyền thống, ... thời điểm bắt đầu, mọi máy trạm có độ tin cậy là 1− f (phương trình 4.1) Ngay khi máy chủ nhận một kết quả, nó sẽ tính toán độ tin cậy của kết quả đó Nếu độ tin cậy không lớn hơn ngưỡng được định nghĩa trước thì nhiệm vụ sau đó sẽ được gửi quay trở lại hàng đợi để thực hiện lại Ngược lại, nhiều hơn trước Điều này muốn chỉ ra rằng tỉ lệ lỗi tỉ lệ nghịch với độ tin cậy của nhiệm vụ được hoàn thành Xử... toán tình nguyện giống nhau ở chỗ cùng sử dụng nhiều máy nguyên dư thừa Nhận thấy rằng các kĩ thuật chịu lỗi dựa trên độ tin cậy đang tồn tại không hiệu quả cho các ứng dụng song song loại này bởi vì chúng không quan tâm đến trường hợp một nhiệm vụ giống nhau được thực hiện lại trên nhiều máy tình nguyện tại cùng một thời điểm Dẫn đến kết quả, thuật toán dựa trên độ tin cậy đang tồn tại đạt được hiệu

Ngày đăng: 04/08/2016, 20:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan