THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN

23 639 0
THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  ĐIỆN TOÁN LƯỚI ĐỀ TÀI: THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN GVHD: TS. NGUYỄN PHI KHỨ Học viên: Ngô Thanh Tuấn – CH1101054 Thành phố Hồ Chí Minh 06 – 2013 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ĐIỆN TOÁN PHÂN TÁN Trang 2 ĐIỆN TOÁN PHÂN TÁN LỜI MỞ ĐẦU Sự phát triển không ngừng của Internet và các siêu máy tính đang có và mạng tốc độ cao đã góp cơ sở hạ tầng thiết bị cho một kỷ nguyên mới, kỷ nguyên của điện toán mà trong đó ngoài sử dụng tài nguyên của các siêu máy tính, còn có thể tận dụng luôn một nguồn máy tính vô cùng, vô tận từ các máy tính người dùng. Điện toán lưới là một bước ngoặc công nghệ hỗ trợ tính toán, thực hiện chương trình trên nhiều mô hình tính toán khác nhau: phân tán, ngang hàng, xử lý song song … Ngày nay, nhờ vào sự đóng góp điện toán lưới, điện toán đám mây ra đời, đã cung cấp cho người cho người sử dụng nhiều dịch vụ lưu trữ, ứng dụng … mang lại cho con người nhiều tiện ích. Trong điện toán phân tán, quá trình xử lý được chia ra trên nhiều máy tính, do đó các kết quả cần phải được kiểm định, và bảo đảm sự chính xác. Trong bài viết này, tổng hợp một số khái niệm tổng quan về điện toán phân tán, đồng thời bài viết cũng trình bày lại một nghiên cứu về thuật toán dư thừa trong điện toán phân tán. Thuật toán này nhằm giúp đánh giá các kết quả từ các máy tính thực hiện các nhiệm vụ, qua đó chọn ra được kết quả chính xác. Trong bài viết khó tránh khỏi sơ suất, kính mong thầy cho em các nhận xét để có thể hoàn thiện hơn nội dung của bài tiểu luận. Em xin chân thành cám ơn. Trang 3 ĐIỆN TOÁN PHÂN TÁN MỤC LỤC Trang 4 Distributed compung Distributed compung Peer-to-peer compung Peer-to-peer compung Cluster compung Cluster compung Ulity compung Ulity compung Grid compung Grid compung Cloud compung Cloud compung Jungle compung Jungle compung ĐIỆN TOÁN PHÂN TÁN 1 ĐIỆN TOÁN PHÂN TÁN Điện toán phân tán đã trở thành một thành phần thiết yếu của tính toán khoa học trong nhiều thập kỷ. Nó có nhiều thành phần chức năng phối hợp với nhau để đạt được mục tiêu chung. Hầu hết các trang mạng xã hội đều cài đặt trên một hệ thống tính toán phân tán lớn. Chúng được cài đặt thành các trung tâm dữ liệu tập trung. Tuy nhiên xu hướng của các hệ thống đồ sộ mở rộng được tận dụng khả năng đa dụng của mạng ngang hàng, gom cụm, và tính toán rừng (jungle computing). Điện toán phân tán có thể được phân lớp như sau: Hình 1: Phân lớp điện toán phân tán [1] − Peer to peer computing (điện toán ngang hàng): trong hệ thống ngang hàng, mỗi nút đóng vừa đóng vai trò máy chủ vừa đóng vai trò máy khách, cung cấp phần nào đó của tài nguyên hệ thống. Các máy ngang hàng chỉ đơn giản là các máy khách kết nối vào Internet. Không cần bộ điều khiển trung tâm hay trung tâm dữ liệu. − Cluster computing (điện toán gom cụm): bao gồm một bộ nhiều máy tính riêng biệt độc lập và một mạng máy tính để kết nối chúng lại. Nó hợp tác với nhau trong các công việc như thể chung một nguồn tài Trang 5 ĐIỆN TOÁN PHÂN TÁN nguyên trên máy tính. Một cụm là một khu vực mà trong đó tất cả thành phần hệ thống con được giám sát bên trong một miền quản trị đơn, thông thường hệ thống được đặt trong một phòng và được quản lý như thể chỉ có một máy tính. − Utility computing (điện toán tiện ích): được xem như là thế hệ tiếp theo của cách mạng công nghệ thông tin nó mô tả làm nhu cầu điện toán của người dùng có thể được hoàn thành trong tương lai của ngành công nghiệp công nghệ thông tin như thế nào. Điện toán tiện ích tập trung trên mô hình kinh doanh, khách hàng sử dụng các tài nguyên điện toán thông qua các nhà cung cấp dịch vụ có phí. o Grid computing (điện toán lưới): Mục đích của tính toán lưới là để cho phép chia sẻ tài nguyên và phối hợp giải quyết vấn đề linh động, các tổ chức ảo đa chế độ. Có nhiều định nghĩa về điện toán lưới, bên dưới là một trong số các định nghĩa phổ biến:  Là một dạng của điện toán phân tán nơi có các siêu máy tính và máy tính ảo được xây dựng trên các cụm mạng, các cặp máy tính rời rạc, đóng vai trò trong việc phối hợp để thực hiện các tác vụ lớn.  Là một công nghệ tạo điều kiện cho việc thực thi của các ứng dụng nhiều tài nguyên quy mô lớn trên các tài nguyên phân tán theo địa lý (Foster). o Cloud computing (điện toán đám mây): là một mẫu điện toán liên quan đến cung ứng các tài nguyên điện toán với khả năng mở rộng phạm vi tài nguyên có thể dùng, theo nhu cầu dữ liệu trong phạm vi nhỏ hoặc không cần đầu tư cơ sở hạ tầng công nghệ thông tin. − Jungle computing (điện toán rừng rậm): là sự kết hợp đồng thời của tài nguyên máy tính không đồng nhất, có phân cấp, và các tài nguyên điện Trang 6 ĐIỆN TOÁN PHÂN TÁN toán phân tán. Điện toán rừng đề cập đến việc sử dụng đa dạng, các hệ thống máy tính phân tán và cấu hình khác nhau để đạt được hiệu năng cao nhất. Cùng với sự phát triển đa dạng của phần cứng, vấn đề hiệu quả tính toán trở nên phức tạp hơn, có nhiều cơ hội cũng như thử thách cho việc tính toán phân tán như sau: − Sự vô hình với người dùng: sự phân tán được giấu đi đối với người dùng cấp cao và giấu sự phân tán này với các chương trình ở mức thấp (tại mỗi máy được giao tính toán). Có nhiều dạng của sự vô hình này như là: địa điểm, di trú, sao chép, đồng thời, song song. − Sự mềm dẻo: để có thể dễ dàng phát triển. − Tin cậy: bao gồm các nhân tố không thất thoát dữ liệu, bảo mật hệ thống, hệ thống kháng lỗi. − Hiệu quả: hiệu năng của hệ thống phải cao. − Khả năng mở rộng: khả năng này không được có giới hạn. 2 DƯ THỪA TRONG TÍNH TOÁN PHÂN TÁN Nhiều hệ thống phần mềm ngày nay, như là cửa hàng lưu trữ dữ liệu phân tán (ví dụ: Freenet) các ứng dụng truyền trực tuyến (Skype), lượng lớn các phần mềm độc lập và các phần cứng tham gia vào tương tác qua các mạng không tin cậy. Những hệ thống ngày tối ưu cơ chế dư thừa để giảm lỗi và đạt ngưỡng mức độ tin cậy chấp nhận được. Các kiến trúc tính toán phân tán (DCA: Distributed Computation Architecture) giải quyết hàng loạt bài toán bằng cách triển khai các tính toán có khả năng song song hóa cao lên các mạng có các nốt mạng tiềm tàng lỗi và không tin cậy một cách linh hoạt. Một số kiến trúc tính toán phân tán nổi tiếng bao gồm hệ thống lưới (Globus), hệ thống điện toán tiên phong (BOINC), và hệ thống MapReduce (Hadoop). Các DCA được sử dụng phổ biến trong nhiều ứng Trang 7 ĐIỆN TOÁN PHÂN TÁN dụng khác nhau, bao gồm phân tích mật mã, phân tích web, các mô phỏng trong các lĩnh vực như là vật lý, sinh học, kinh tế. Các kiến trúc tính toán phân tán nhằm mục đích phòng chống các lỗi thường xảy ra bởi vì các thực thể trong mạng không có một chương trình nào kiểm tra độ tin cậy thực sự và các thực thể độc hại dễ dàng tham gia hệ thống hoặc ảnh hưởng đến các người tham gia khác. Kỹ thuật DCA nhắm đến làm chính xác việc thực thi các tác vụ thông qua việc bầu chọn: đó là nhiều máy làm việc độc lập, thực hiện cùng công việc tính toán, kết quả sẽ được kiểm lại thông qua sự thỏa thuận. Tuy nhiên, việc làm như vậy sẽ tốn kém, giảm hiệu suất của hệ thống. Trong phần này của bài viết, sẽ giới thiệu một phương pháp tối ưu việc dư thừa gọi là dư lặp (interative redundancy). Phương pháp này dựa trên việc bầu chọn nhưng nó khai thác các thuộc tính của DCA để làm phù hợp cho việc thay đổi môi trường thực hiện và cải thiện độ tin cậy hiệu quả hơn các hệ thống thay thế đã có sẵn. Tổng quát hơn, dư lặp được ứng dụng vào các hệ thống thực hiện tính toán sử dụng một vùng xử lý tài nguyên độc lập, do đó nhiều nguồn tài nguyên có thể thực hiện mỗi tác vụ và hệ thống có thể chọn giữa các tài nguyên đang khả dụng ngẫu nhiên tại thời điểm chạy. Đặc trưng của dư lặp là nó không cần biết độ tin cậy của tài nguyên xử lý trong vùng, nó mở rộng khả năng ứng dụng vào các hệ thống mà thông tin không thể xác định được. Ngoài phương pháp dư lặp cũng có một số phương pháp khác như: - Dư truyền thống, còn được gọi là dư k-đồng dư (k-modular redundancy), với thực hiện tính toán độc lập của cùng tác vụ song song và tuyển chọn dựa trên sự đúng đắn của kết quả. - Dư lũy tiến (progressive redundancy) là một sự điều hòa của kỹ thuật liên quan từ một vùng tự cấu hình nghiên cứu chương trình lạc quan Phương pháp dư lặp tốt hơn cả hai phương pháp dư truyền thống và dư lặp. Dư lặp tạo ra cùng mức độ tin cậy hệ thống với chi phí thấp trong việc sử dụng tài nguyên hệ thống (nói cách khác nếu cùng chi phí thì nó sẽ cho độ tin cậy cao hơn). Trang 8 ĐIỆN TOÁN PHÂN TÁN 2.1 Định nghĩa và giả thiết 2.1.1 Mô hình hệ thống Thao tác điện toán là một bài toán lớn đặc trưng có thể giải bằng DCA. Một tác vụ là một trong các phần của việc tính toán có thể thực thi độc lập với các tác vụ khác. Một nhiệm vụ là thể hiện của một tác vụ mà một nốt (một máy tính, hay một bộ xử lý …) riêng biệt thi hành. Vì có dư thừa, mỗi tác vụ sẽ được thực thi như một số nhiệm vụ giống nhau thực hiện trên các nốt phân biệt. Một máy chủ tác vụ sẽ phân nhỏ tính toán thành vô số các tác vụ nhỏ. Máy chủ tác vụ gán nhiệm vụ cho các nốt trong phạm vi của nốt, và các nốt này được chọn ngẫu nhiên. Sau khi trả về phản hồi một nhiệm vụ đến máy chủ tác vụ, mỗi nốt sẽ tham gia trở lại vùng nốt và có thể được chọn lại và gán nhiệm vụ mới. Các nốt có thể tham gia một cách tự nguyện hay có thể rời bỏ vùng nốt chứa đó. Hình 2: Một mô hình DCA Trang 9 ĐIỆN TOÁN PHÂN TÁN 2.1.2 Mô hình đe dọa Trong phần này sẽ giới thiệu mô hình sai sót Byzantine đã được ứng dung nhiều trong các hệ thống phân tán. Mô hình bao gồm các sai sót Byzantine và cho phép các nốt nguy hiểm kết cấu và xây dựng thỏa thuận nhằm cố làm sai hay làm gián đoạn các tính toán. Các nốt Byzantine có thể thông báo các kết quả không chính xác hoặc không thông báo kết quả nào. Có hai phát biểu quan trọng về mô hình đe dọa này: 1. Mô hình đe đọa ít nhất cũng mạnh như những kỹ thuật dư thừa trong DCA. Một mặt mô hình này không phải là một phương tiện đỡ đạn. Ví dụ, nếu các thất bại liên hệ mật thiết với nhau, do đó các kỹ thuật dư thừa sẽ không làm tăng độ tin cậy của hệ thống được. Mặt khác, sẽ không có giả thiết nào về các sai sót tồn tại trong các cài đặt DCA đang có không làm. Và thêm vào đó, một nốt hỏng cũng là một chức năng của nốt đó, và không tính toán nào được thực thi. 2. Cho sai sót xảy ra, giả định ngữ cảnh của trường hợp xấu nhất có thể xảy ra: tất cả các sai sót là sai sót Byzantine. Các nốt độc hại có thể thông đồng trả về các kết quả gây hại cho độ tin cậy của hệ thống. Trong một hệ thống có bầu chọn, mô hình sai sót Byzantine được ứng dụng bằng việc giả định kết quả các nhiệm vụ là một trong hai giá trị có khả dụng. Mặc dù có thể phản tác dụng, giả thiết này tạo ra một ngữ cảnh tệ nhất bởi vì tất cả thất bại và các nốt độc hại chỉ trả về kết quả sai nhưng sai giống nhau gây khó khăn để phân biệt kết quả sai từ kết quả đúng. 2.1.3 Các giả thiết Trong phần này đề cập đến năm giả thiết. Các giả thiết này nhằm đơn giản mô tả và phân tích ba kỹ thuật dư thừa đồng thời hỗ trợ định nghĩa các lớp hệ thống cho các kỹ thuật tương ứng được dùng. Trang 10 [...]... trong hai giá trị (ví dụ: 0 hoặc 1), nhưng kết quả không dễ để kiểm tra Giả thuyết này kế thừa từ mô hình sai sót Byzantine 5 Tính tin cậy của máy khách nhận kết quả cuối cùng của tính toán được bỏ qua trong tính tin cậy của hệ thống 2.2 Các thuật toán dư thừa Trong phần này, sẽ giới thiệu ba thuật toán đã đề cập trong phần giới thiệu về DCA: dư truyền thống, dư lũy tiến và cuối cùng lằ dư lặp Để phân. .. đặt dựa trên thuật toán dư truyền thống gồm có BOINC, Hadoop Trang 11 ĐIỆN TOÁN PHÂN TÁN Phân phối k nhiệm vụ độc lập Xác định số lớn nhất (các kết quả giống nhau) Lời giải Hình 3: Thuật toán dư truyền thống Ví dụ: giả sử mỗi nốt có đột tin cậy r = 0.7, k =1 (không có dư thừa) thì hệ thống phân phối chỉ một nhiệm vụ đơn cho mỗi tác vụ và hệ thống có độ tin cậy 0.7 Thay và đó, k=19 kết quả trong một độ... chương trình mô phỏng chạy thuật toán dư lặp, dư truyền thống để kiểm tra và đánh giá qua thực nghiệm như thống kê của tác giả của tài liệu tham khảo [3] 3.3 Hướng phát triển − Triển khai cài đặt mô phỏng thuật toán trên các hệ thống tính toán phân tán như BOINC để kiểm tra, đánh giá các thuật toán − Tìm hiểu cách sử dụng BOINC để có thể triển khai các ứng của điện toán phân tán tận dụng tài nguyên của... trình cải tiến từ thuật toán dư truyền thống và lặp dư Trang 12 ĐIỆN TOÁN PHÂN TÁN Mấu chốt của lặp lũy tiến là sự quan sát dư truyền thống thỉnh thoảng đạt được sự thống nhất nhanh chóng nhưng vẫn còn tiếp tục phân tán các nhiện vụ không ảnh hưởng đến kết quả cuối cùng của tác vụ Dư lũy tiến làm giảm tối đa số nhiệm vụ cần để tạo ra sự phù hợp: dư lũy tiến bầu chọn theo k máy chủ tác vụ phân phối chỉ... khác nhiều so với thuật toán gốc, thuật toán này được áp dụng cùng số lượng nhiệm vụ dư thừa trong mỗi tình trạng và đạt được chính xác cùng hiệu quả COMPUTE(Task task, int d) a←0 b←0 while ((a – b) < d) { thực hiện d − (a − b) task nhiệm vụ độc lập, chọn ngẫu nhiên máy để thực thi a ← a + số kết quả a b ← b + số kết quả b if (a < b) a ↔ b } return a Trang 18 ĐIỆN TOÁN PHÂN TÁN Cho dư lặp với d được... tác vụ tự động phân phối hai nhiệm vụ nữa Chi phí tài nguyên của kỹ thuật dư lặp trong trường hợp này sẽ tốn hơn 9.4 lần so với một hệ thống không sử dụng kỹ thuật này Chi phí này vẫn nhỏ hơn 1.5 lần so với dư lũy tiến và 2.0 lần so với dư truyền thống Một cách trực quan, dư lũy tiến bảo đảm cho việc phân phối ít nhất số nhiệm vụ để đạt được thỏa thuận Ngược lại, dư lặp bảo đảm việc phân phối ít nhiệm... của các máy tính tình nguyện trong hệ thống này Trang 21 ĐIỆN TOÁN PHÂN TÁN Trang 22 ĐIỆN TOÁN PHÂN TÁN 4 TÀI LIỆU THAM KHẢO [1] The Distributed Computing Paradigms: P2P, Grid, Cluster, Cloud, and Jungle – Brijender Kahanwal,Tejinder Pal Singh Assistant Professor, CSE Department, Galaxy Global Group of Institutions, Dinarpur, Ambala, Haryana INDIA [2] Bài giảng môn học điện toán lưới – TS Nguyễn Phi Khứ... 6, thì thuật toán phân phối nhiệm vụ cho tới khi 6 nhiệm vụ được thông báo cho một kết quả hơn các số lượng kết quả còn lại Ngoài ra, người dùng có thể muốn tăng độ tin cậy dựa lên d, không phải người sử dụng hay kỹ thuật cần biết trung bình độ tin cậy của các nốt trong vùng nốt Tình trạng này được thực hiện song song trên kỹ thuật dư truyền thống và dư lặp Bên dư i trình bày một thuật toán được đơn... xác xuất ít hơn 10 (nhỏ hơn phân nửa) hoặc 0.97, nó giống với dư truyền thống Nhờ công thức (3), chi phí tài nguyên của xử lý gấp 14.2 lần so với không dùng phương pháp này Nhưng nó vẫn nhỏ hơn 1.3 lần so với chi phí của dư truyền thống: trong khi thỉnh thoảng một số tác vụ được phân phối trên 19 nốt, có nhiều tác vụ đạt được kết quả sớm hơn Trang 14 ĐIỆN TOÁN PHÂN TÁN Với dư lũy tiến dựa trên bầu chọn... sánh phù hợp với từng bài toán, và các nốt phân tán phải có thuật toán so sánh phù hợp BOINC sử dụng dư đồng nhất (homogeneous redundancy) để sắp xếp các nốt vào các lớp tương đương nếu chúng trả về các kết quả giống nhau để giải quyết vấn đề này [5] 3 KẾT LUẬN 3.1 Kết quả đạt được Thông qua quá trình tìm hiểu đã giúp em hiểu thêm về các mô hình đặc điểm của điện toán phân tán Đồng thời nhận ra vai . hợp một số khái niệm tổng quan về điện toán phân tán, đồng thời bài viết cũng trình bày lại một nghiên cứu về thuật toán dư thừa trong điện toán phân tán. Thuật toán này nhằm giúp đánh giá các. compung Jungle compung Jungle compung ĐIỆN TOÁN PHÂN TÁN 1 ĐIỆN TOÁN PHÂN TÁN Điện toán phân tán đã trở thành một thành phần thiết yếu của tính toán khoa học trong nhiều thập kỷ. Nó có nhiều thành. cụm, và tính toán rừng (jungle computing). Điện toán phân tán có thể được phân lớp như sau: Hình 1: Phân lớp điện toán phân tán [1] − Peer to peer computing (điện toán ngang hàng): trong hệ thống

Ngày đăng: 09/04/2015, 19:19

Từ khóa liên quan

Mục lục

  • 1 ĐIỆN TOÁN PHÂN TÁN

  • 2 DƯ THỪA TRONG TÍNH TOÁN PHÂN TÁN

    • 2.1 Định nghĩa và giả thiết

      • 2.1.1 Mô hình hệ thống

      • 2.1.2 Mô hình đe dọa

      • 2.1.3 Các giả thiết

      • 2.2 Các thuật toán dư thừa

        • 2.2.1 Dư truyền thống

        • 2.2.2 Dư lũy tiến

        • 2.2.3 Dư lặp

        • 2.3 Các mối đe dọa đến sự chính xác

          • 2.3.1 Dự đoán độ tin cậy

          • 2.3.2 Thời gian đáp ứng

          • 2.3.3 Mở rộng giả thiết

          • 3 KẾT LUẬN

            • 3.1 Kết quả đạt được

            • 3.2 Hạn chế

            • 3.3 Hướng phát triển

            • 4 TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan