Luận vă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 pot

76 514 0
Luận vă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 pot

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ KHOA HỌC 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 1 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 LỜI CAM ĐOAN Tôi xin cam đoan bản Luận văn này là công trình nghiên cứu của riêng tôi. Các dữ liệu và kết quả nêu trong Luận văn là hoàn toàn trung thực và có nguồn gốc rõ ràng. TÁC GIẢ (Ký tên) 2 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Chương 1. LỜI CẢM ƠN Trước hết, tôi xin được chân thành cảm ơn TS. Ngô Hồng Sơn đã tận tình hướng dẫn, cung cấp tài liệu và kiến thức cần thiết giúp tôi hoàn thành Luận văn tốt nghiệp này. Tôi xin bày tỏ lòng biết ơn sâu sắc tới các thầy, cô giáo trong Khoa Công nghệ thông tin cũng như các thầy, cô giáo trong trường Đại học Bách Khoa Hà Nội đã truyền đạt cho tôi những kiến thức quan trọng trong suốt thời gian tôi học tập và nghiên cứu tạ i trường. Cuối cùng, tôi xin được nói lời cảm ơn đến gia đình và bạn bè, những người luôn ở bên tôi, cổ vũ và động viên tôi trong suốt thời gian học tập và làm luận văn tốt nghiệp. Trong quá trình hoàn thành luận văn, do còn thiếu kinh nghiệm, sự ràng buộc về thời gian và sự hạn chế về kiến thức nên chắc chắn không tránh khỏi những thiếu sót. Vì vậy tôi rất mong nhận được sự đóng góp ý kiến và giúp đỡ của các thầy, các cô và các bạn. Hà Nội, ngày 20 tháng 11 năm 2008 Người thực hiện luận văn 3 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 MỤC LỤC LỜI CAM ĐOAN 1 LỜI CẢM ƠN 2 MỤC LỤC 3 DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ 5 MỞ ĐẦU 6 Chương 1. TỔNG QUAN 8 1.1 Tính toán lưới 8 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 1.3.2.1 Khái niệm 15 1.3.2.2 Các đặc trưng cơ bản của BOINC [23] 16 1.3.2.3 Kiến trúc BOINC 18 1.3.3 Lập lịch trong 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 trên độ tin cậy 21 1.3.4 So sánh với tính toán lưới và tính toán ngang hàng 23 1.3.4.1 Tính toán lưới 23 1.3.4.2 Tính toán ngang hàng 23 Chương 2. LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY 25 2.1 Mô hình cơ bản và các giả định 25 4 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 quyết theo số đông 29 2.2.2 Kiểm tra điểm 30 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 2.3 Chịu lỗi dựa trên độ tin cậy 33 2.3.1 Tổng quan 33 2.3.2 Tính toán độ tin cậy 35 2.3.3 Ứng dụng sự tin cậy 36 2.3.3.1 Kết hợp biểu quyết và kiểm tra điểm 36 2.3.3.2 Kiểm tra điểm bằng biểu quyết 37 2.4 Khảo sát một số giản đồ lập lịch. 38 2.4.1 Lập lịch Round Robin 39 2.4.2 Lập lịch Round Robin dựa trên sự ưu tiên về khả năng tính toán 41 Chương 3. GIẢN ĐỒ LẬP LỊCH ROUND ROBIN DỰA TRÊN ĐỘ TIN CẬY 44 3.1 Giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy 44 3.2 Giản đồ lập lịch Round Robin dựa trên kiểm thử độ tin cậy 55 Chương 4. KẾT QUẢ THỰC NGHIỆM 65 4.1 Chương trình mô phỏng 65 4.2 Kịch bản mô phỏng 65 4.3 Kết quả 66 Chương 5. KẾT LUẬN 72 5.1 Những kết quả đạt được 72 5.2 Những công việc chưa làm được 72 5 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 5.3 Hướng phát triển trong 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 về tính toán lưới 9 Hình 1-2. Tổ chức ảo 11 Hình 1-3. Mô hình mạng ngang hàng 12 Hình 1-4. Mô hình tính toán tình nguyện 15 Hình 1-5. Mô hình cơ bản của BOINC 16 Hình 1-6. Kiến trúc BOINC 18 Hình 1-7. Sự tương tác giữa máy trạm và 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 quyết m đầu tiên 28 Hình 2-3. Tỉ lệ lỗi của biểu quyết số đông với nhiều các giá trị m và f [8] 30 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 Hình 3-1. Mô tả hệ thống tính toán tình nguyện 45 Hình 3-2. Sơ đồ hình vẽ các bước của giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy 46 Hình 3-3. Sơ đồ hình vẽ các bước của giản đồ lập lịch kiểm thử dựa trên độ tin cậy 57 Hình 4-1. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N >P67 Hình 4-2. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N >P 68 Hình 4-3 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N >P.68 Hình 4-4. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N >P 69 Hình 4-5. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N< P69 Hình 4-6. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N< P 70 Hình 4-7. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N< P70 Hình 4-8. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N< P 71 6 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 MỞ ĐẦU Tính toán tình nguyện là một mô hình tính toán song song hấp dẫn để xây dựng lên các hệ thống tính toán có phạm vi rộng lớn từ số lượng lớn các máy tính tình nguyện trên mạng. Trong những năm gần đây, đã có sự quan tâm tăng lên và nhanh chóng trong các 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ừ bất cứ nơi nào trên mạng, đóng góp thời gian tính toán nhàn rỗi của máy tính để hướng vào giải quyết các bài toán có thời gian tính toán lớ n. Tính toán tình nguyện giúp cho có thể xây dựng các mạng tính toán toàn cầu lớn rất nhanh, điều này được chứng mình bởi sự thành công của dự án SETI@home[2], dự án này đang triển khai hàng trăm nghìn máy tính tình nguyện để tìm kiếm số lượng lớn dữ liệu đàm thoại radio cho tín hiệu của sự sống bên ngoài trái đất, Einstein@Home [6] tìm kiếm các sao neutron xoay rất nhanh dùng dữ liệu từ các nhà tìm sóng hấp dẫn LIGO và GEO hay Climateprediction.net@Home [7] dùng để dự đoán khí hậu trên trái đất … Trong hệ thống tính toán tình nguyện, khả năng chịu đựng lỗi là một vấn đề quan trọng bởi vì có thể có nhiều những người dùng ác ý trên mạng phá hoại hệ thống bằng việc cố ý đệ trình các kết quả sai. Để giải quyết yêu cầu đưa ra kết quả tốt trong hệ thống tính toán tình nguyện mà có người dùng ác ý tham gia thì hệ thống lập lịch tại máy chủ phải thực thi các chính sách lập lịch ch ịu lỗi. Do đó trong luận văn này, tôi quan tâm đến vấn đề lập lịch nhiệm vụ phía máy chủ của hệ thống tính toán tình nguyện thực thi các kĩ thuật chịu đựng lỗi. Mặc dù một số kĩ thuật chịu lỗi đang tồn tại như là biểu quyết theo số đông, kiểm tra điểm, kết hợp biểu quyêt và kiểm tra điểm, kiêm tra điểm b ằng biểu quyết [8], hay giản đồ lập lịch Round Robin dựa trên sự ưu tiên về khả năng tính toán [10] có thể đảm bảo các yêu cầu về độ tin cậy cho các kết quả tính toán, tuy nhiên, các kĩ thuật này luôn luôn là nguyên nhân làm cho hiệu năng giảm đi trong giới hạn của toàn bộ thời gian tính toán. Trong luận văn này tôi đề xuất hai kĩ thuật lập lịch hiệu quả cho máy chủ được gọi là lập lịch Round Robin d ựa trên sự ưu tiên về độ tin cậylập lịch Round Robin dựa trên kiểm thử độ tin cậy nhằm nâng cao hiệu quả của giản đồ lập lịch dựa trên độ tin 7 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 cậy trong các hệ thống tính toán tình nguyện. Các kĩ thuật này đều đưa ra các tiêu chí để chọn một máy trạm phù hợp nhất để thực thi một nhiệm vụ. Kĩ thuật đầu tiên quan tâm đến chọn một máy trạm đang có khả năngđộ tin cậy cao nhất và khả năng thực hiện tốt nhất. Kĩ thuật thứ hai thì chọn máy trạm sao cho khi nhiệm vụ được thực hiện bở i nó thì độ tin cậy của nhiệm vụ sẽ tăng lên, Bằng việc sử dụng bộ mô phỏng VCSIM để thực hiện mô phỏng các thuật toán lập lịch, tôi đã chỉ ra rằng kĩ thuật được đưa ra có thể giúp giảm bớt thời gian thực thi của toàn bộ hệ thống so với kĩ thuật lập lịch Round Robin tương ứng. Phần còn lại của luận văn này được tổ chức như sau: • Chương 1. Giới thiệu tổng quan: Trình bày về các 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, và khảo sát qua các thuật toán lập lịch trong tính toán tình nguyện. • Chương 2. Lý thuyết cơ bản lập lịch dựa trên độ tin: Trình bày về các mô hình cơ bản của hệ thốngcác giả định, các kĩ thuật chịu lỗi chuyền thống, chịu lỗi dựa trên độ tin cậy và khả o sát một số giản đồ lập lịch chịu lỗi dựa trên độ tin cậy. • Chương 3. Giản đồ lập lịch dựa trên độ tin cậy: Mô tả các đề xuất của chúng tôi về giản đồ lập lịch dựa trên độ tin cậy. • Chương 4. Kết quả thực nghiệm: Giới thiệu kịch bản mô phỏng và thảo luận về các kết quả mô phỏng. • Chương 5. Kết luận: Tóm tắt lại những công việc đã đạt được, những công việc chưa làm được và hướng phát triển trong tương lai. 8 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Chương 1. TỔNG QUAN Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật và công nghệ, đã xuất hiện những bài toán trong nhiều lĩnh vực đòi hỏi sức mạnh tính toán mà một máy tính riêng lẻ không thể đảm trách. Xuất phát từ những nhu cầu đó, các kỹ thuật tính toán song song, tính toán phân tán đã được đề xuất và đã phần nào đáp ứng được các yêu cầu này. Tuy nhiên, tham vọng của con người không dừng lại ở đó. Họ muốn một sức mạnh tính toán lớn hơn, với khả năng chia sẻ tài nguyên giữa mọi người trên phạm vi toàn cầu, khả năng tận dụng các phần mềm cũng như tài nguyên vật lý phân tán cả về mặt địa lý. Các tổ chức giải quyết vấn đề này bằng hai cách: • Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán (mua thêm máy chủ, máy trạm, siêu máy tính, cluster ). Tuy nhiên cách làm này hế t sức tốn kém. • Có một cách làm khác hiệu quả hơn đó là phân bố lại hợp lý các nguồn tài nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (tất nhiên là với chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán). Thực tế cho thấy có một phần lớn các nguồn tài nguyên của chúng ta đang được sử dụng lãng phí: các máy để bàn công sở thường chỉ hoạt độ ng khoảng 5% công suất, ngay cả các máy chủ cũng có thể chỉ phải hoạt động với 20% công suất. Việc tận dụng hiệu quả các nguồn tài nguyên này có thể mang lại một sức mạnh tính toán khổng lồ. Cách giải quyết thứ hai này chính là mục tiêu của tính toán lưới và 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ẻ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy mô toàn cầu). Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm qua đã biến những khả năng này dần trở thành hiện thực. Các nghiên cứu về tính toán lưới đã và đang được tiến hành là nhằm tạo ra một cơ s ở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường 9 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 lưới. Như vậy, tính toán lưới, hiểu một cách đơn giản là một dạng của tính toán phân tán. Mục đích là tạo ra một máy tính ảo lớn mạnh từ một tập lớn các hệ thống không đồng nhất nhằm nâng cao khả năng tính toán, chia sẻ các tài nguyên khác nhau. Một ví dụ về dự án tính toán lưới là dự án Avian Flu Grid[24], dự án này nhằm sử dụng lưới PRAGMA[25] và các cơ sở hạ tầng tính toán hiệ u năng cao để phát triển một mô hình cho hợp tác toàn cầu đấu tranh chống lại sự đe dọa dịch lớn của cúm avian và các bệnh dịch lây nhiễm nghiêm trọng khác. Hệ thống lưới PRAGMA, mà trung tâm HPCC-HUT (Trung tâm tính toán hiệu năng cao của trường Đại Học Bách Khoa Hà Nội) là một thành viên, được tạo ra nhằm duy trì các hoạt động cộng tác và thúc đẩy sử dụng các kĩ thuật lưới trong các ứng dụng khoa học tiên tiến giữa các viện hàng đầu trong các nước có đường biên giới nằm trên biển thái bình dương. Hình 1-1. Minh họa về tính toán lưới Hình 1-1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán về mặt địa lý, các tài nguyên rất phong phú, đa dạng, bao gồm tập các siêu máy tính, các thiết bị truyền thông vệ tinh, các kho lưu trữ, các cluster tính toán hiệu năng cao [...]... chúng ta thêm các giá trị tin cậy đến các đối tượng khác nhau trong hệ thống, được chỉ trong hình 2-1 Ở đây độ tin cậy của một vài đối tượng X, được viết là , đượ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 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 nhau) và độ tin cậy của một thực... cải thiện toàn bộ hiệu năng trong giới hạn thời gian thực thi trong khi vẫn đảm bảo được yêu cầu độ tin cậy và đề xuất ra một thuật toán lập lịch hiệu quả được gọi là Lập lịch Round Robin dựa trên độ ưu tiên về độ tin cậy và khả năng thực hiện” Tính hiệu quả của thuật toán sẽ được xác minh bởi các mô phỏng ở phần 5 Hiện tại để đánh giá độ tin cậy của các thuật toán lập lịch tình nguyện có thể sử Nguyễn... lỗi dựa trên độ tin cậy 2.1 Mô hình cơ bản và các giả định Mô hình tính toán Trong luận văn này, tôi giả sử một mô hình chủ khách dựa trên hàng đợi công việc, mô hình này được dùng trong tất cả các hệ thống tính toán tình nguyện thực tế hiện nay, thêm vào đótrong nhiều các hệ thống lưới, các hệ thống metacomputing, và toàn bộ các hệ thống tính toán song song dựa trên mạng diện rộng khác Trong mô hình... bởi Sarmenta và kĩ thuật lập lịch dựa trên độ ưu tiên của tác giả chưa quan tâm đến độ tin cậy của các máy trạm và của các nhiệm vụ đang được thực hiện, vì vậy thuật toán dựa trên độ tin cậy chưa đạt được hiệu năng tốt nhất trong giới hạn thời gian thực thi Trong luận văn này, tôi tập trung vào việc kết hợp giữa khả năng tính toánđộ tin cậy của máy trạm với độ tin cậy của các nhiệm vụ đang được thực... thể công việc Độ tin cậy của một máy trạm phụ 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ả, số lượng điểm kiểm tra mà nó đã vượt qua Độ tin cậy của một kết quả thì bằng độ tin 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 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ể công việc là độ tin cậy của nhóm tốt... nhiều các giá trị độ tin cậy có thể, tương ứng đối với các cách quan sát trạng thái hiện thời của hệ thống khác nhau, thêm vào đócác cách tính toán khác nhau hoặc ước lượng xác suất điều kiện của tính chính xác dựa trên các quan sát Trong phần này chúng ta sẽ biểu diễn các giá trị đặc biệt mà chúng ta nhận thấy là hiệu quả Độ 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ột... Tính toán ngang hàng thật sự bao gồm sự tích trữ và lấy lại, không phải tính toán Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 25 Chương 2 LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY Trong phần này, tôi tóm tắt lại mô hình cơ bản và các giả định, các kĩ thuật chịu lỗi truyền thống, các kĩ thuật chịu lỗi dựa trên độ tin cậy cho tính toán tình nguyên và khảo sát một số giản đồ lập lịch chịu lỗi dựa trên. .. vì vậy có một độ tin cậy rất cao Theo cách này, một thực thể công việc chỉ lặp lại một số lần để đạt được 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 độ 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 thấp với độ dư thừa ít 2.3.2 Tính toán độ tin cậy 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... 2006 – 2008 20 Lập lịch trong hệ thống tính toán tình nguyện có vai trò hết sức quan trọng nó giúp nâng cao toàn bộ thời gian thực thi của hệ thống Với máy trạm nó giúp cho lập lịch CPU và lấy công việc Với máy chủ lập lịch giúp cho tối đa hóa được số công việc được thực thi và giảm thời gian thực thi cua hệ thống 1.3.3. 1Lập lịch phía máy trạm Lập lịch phía máy trạm đócác chính sách lập lịch CPU và... độ tin 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ỗ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 kiểm tra đ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 35 của chúng tăng lên hoặc đồng . HÀ NỘI LUẬN VĂN THẠC SĨ KHOA HỌC 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Ố:. độ tin cậy và lập lịch Round Robin dựa trên kiểm thử độ tin cậy nhằm nâng cao hiệu quả của giản đồ lập lịch dựa trên độ tin 7 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 cậy trong các hệ. lỗi chuyền thống, chịu lỗi dựa trên độ tin cậy và khả o sát một số giản đồ lập lịch chịu lỗi dựa trên độ tin cậy. • Chương 3. Giản đồ lập lịch dựa trên độ tin cậy: Mô tả các đề xuất của chúng

Ngày đăng: 27/06/2014, 22:20

Từ khóa liên quan

Mục lục

  • TRANG BÌA

  • MỤC LỤC

  • LỜI CÁM ƠN

  • MỞ ĐẦU

  • Chương 1. TỔNG QUAN

  • Chương 2. LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊNĐỘ TIN CẬY

  • Chương 3. GIẢN ĐỒ LẬP LỊCH ROUND ROBIN DỰA TRÊNĐỘ TIN CẬY

  • Chương 4. KẾT QUẢ THỰC NGHIỆM

  • Chương 5. KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan