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 - 2


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


Có thể bạn quan tâm!

Xem toàn bộ 83 trang tài liệu này.


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ư 1

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



, các tổ chức ảo liên kết trong lưới. Người dùng trong lưới cũng hết sức đa dạng, từ các người dùng thông thường, cho tới các người dùng chuyên dụng, có kiến thức sâu về chuyên môn như các nhà nghiên cứu, các nhà khoa học... Và lưới chính là sự tập hợp, chia sẻ, chọn lựa các nguồn tài nguyên này thông qua một chính sách thống nhất, phân phối các siêu máy tính và các hệ cluster để đạt hiệu năng tốt hơn.

Các thách thức mà công nghệ tính toán lưới đang phải giải quyết bao gồm:

Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở đây được hiểu theo nghĩa hết sức tổng quát. Đó có thể là các tài nguyên phần cứng: tài nguyên tính toán, tài nguyên lưu trữ, các thiết bị đặc biệt khác...; các tài nguyên phần mềm: các CSDL, các phần mềm đặc biệt và đắt giá...; các đường truyền mạng... Các tài nguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý... Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài nguyên này là hoàn toàn không dễ dàng. Ban đầu tính toán lưới được đặt ra chủ yếu là để tận dụng các nguồn tài nguyên tính toán nhưng hiện nay mục tiêu của nó đã được mở rộng sang rất nhiều nguồn tài nguyên khác như đã kể trên.

Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới còn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tự trị. Các tổ chức khác nhau thường có chính sách sử dụng hay cho thuê tài nguyên của họ khác nhau và do vậy cũng 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 về mặt địa lý do vậy phải có các cơ chế quản lý phân tán.

Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường lưới là rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu.

Theo Ian Foster, một hệ thống lưới là hệ thống có 3 đặc điểm chính sau:

Phối hợp các tài nguyên phân tán từ nhiều miền quản trị khác nhau.

Sử dụng các giao diện và 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.



Riêng điểm thứ 2 là một điểm rất đáng lưu ý. Vì lưới là một môi trường thu hút nhiều tổ chức tham gia nên không thể coi nhẹ vai trò của các chuẩn mở và các giao thức mở, cũng giống như việc sử dụng các chuẩn này đã giúp cho mạng Internet bùng nổ mạnh mẽ trong những năm 90 của thế kỉ trước.

Khái niệm tổ chức ảo cũng là một khái niệm rất quan trọng trong tính toán lưới. Tổ chức ảo là một tổ chức được lập ra động để giải quyết một vấn đề nào đó. Thành phần của tổ chức ảo bao gồm rất nhiều tài nguyên thuộc về nhiều tổ chức (thực) khác nhau trong môi trường lưới và cùng hoạt động vì một mục tiêu chung. Tùy theo mức độ của vấn đề cần giải quyết mà các tổ chức ảo có thể rất khác nhau về quy mô, phạm vi hoạt động, thời gian sống. Hình 1.2 dưới đây là một minh họa về tổ chức ảo. Có một người dùng cần giải một bài toán lớn về dự báo thời tiết, anh ta thành lập l tổ chức ảo bằng cách thuê một số nguồn tài nguyên khác nhau từ một vài tổ chức khác nhau. Tương tự như vậy, một người dùng cần giải một bài toán về dự báo tài chính, anh ta cũng thành lập một tổ chức ảo để giải quyết bài toán này.

Hình 1 2 Tổ chức ảo 1 2 Tính toán ngang hàng Mạng ngang hàng là một mô hình 2

Hình 1-2. Tổ chức ảo



1.2 Tính toán ngang hàng

Mạng ngang hàng là một mô hình truyền thông ở đó mọi nút trong mạng thực hiện giống nhau. Đối nghịch với mô hình chủ khác, ở đây một nút cung cấp các dịch vụ và các nút khác sử dụng các dịch vụ.

Hình 1 3 Mô hình mạng ngang hàng Tính toán ngang hàng là một dạng của tính toán 3

Hình 1-3. Mô hình mạng ngang hàng

Tính toán ngang hàng là một dạng của tính toán phân tán, nó bao gồm một số lớn các nút tịnh toán tự trị (các máy ngang hàng) hoạt động chia sẻ tài nguyên và các dịch vụ [2]. Tính toán ngang hàng là chia sẻ các tài nguyên và các dịch vụ bằng điều hướng chuyển đổi giữa các hệ thống. Những tài nguyên và dịch vụ này bao gồm chuyển đổi thông tin, các chu kì xử lý, lưu trữ đệm, và lưu trữ trên đĩa cho các file. Tính toán ngang hàng sử dụng tốt sức mạnh tính toán của các máy tính để bàn đang tồn tại và kết nối mạng. Các máy ngang hàng có trách nhiệm như nhau đồng thời có các chức năng vừa là máy chủ vừa là máy khách cho dịch vụ và chia xẻ tài nguyên. Lợi ích của việc sử dụng tính toán ngang hàng là: Giảm cân bằng tải trên các máy chủ, cho phép các máy chủ thực thi các dịch vụ đặc biệt hiệu quả hơn, có thể giảm các yêu cầu cho các tổ chức IT để tăng các phần cơ sở hạ tằng của họ để hỗ trợ các dịch vụ như là lưu trữ sao lưu, tạo ra sức mạng tính toán không tốn nhiều chi phí, băng thông, lưu trữ …

Một số thuận lợi của tính toán ngang hàng đó là không có điểm trung tâm lỗi, khả năng mở rộng lớn vì mọi máy ngang hàng là giống nhau do đó có thể thêm nhiều máy ngang hàng đến hệ thống. Điểm không thận lợi của tính toán ngang hàng chính là sự điều phối không tập trung, tất cả các nút được tạo ra là không giống nhau về sức mạng tính toán, băng thông …



Trong tính toán ngang hàng, các ứng dụng được phân tách vào ba loại chính đó là:

Tính toán phân tán

Chia sẻ file

Các ứng dụng cộng tác

Ba loại này phục vụ các mục đích khác nhau và vì vậy chúng có cá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 các vấn đề song song nhỏ, các ứng dụng chia sẻ file yêu cầu tìm kiếm hiệu quả theo các mạng diện rộng và các ứng dụng cộng tác yêu cầu cập nhập các kĩ thuật để cung cấp tính nhất quán trong môi trường đa người dung.

Các ứng dụng phổ biến nhất trong tính toán ngang hàng [22] là chia sẻ nội dung và file điển hình như là Napster, Gnutella, Mojo Nation, eDonkey and Freenet. Napster là hệ thống lớn đầu tiên có thể trao đổi hướng và chia sẻ nội dung. Trong khi sự trao đổi nội dung thực tế trong Napster là giữa các máy tính ngang hàng thì việc khám phá các máy tính ngang hàng vẫn tập trung (như lưu trữ trong thư mục trung tâm). Gnutella cung cấp một giải pháp chia sẻ file phân tán rõ ràng không sử dụng nút trung tâm. Hạn chế của Gentella không phải là một ứng dụng mà là một giao thức dùng để tìm kiếm và chia sẻ file. Để tìm nội dung và một máy ngang hàng khác một người dùng phải biết địa chỉ IP của ít nhất một nút Gnutella khác. Một nút sẽ đưa ra một câu truy vấn cho một file bằng việc gửi nó đến tất cả các nút khác nó biết. Nếu một nút không phục vụ được yêu cầu nó có thể truyền đến các nút khác. Câu truy vấn sẽ đi hết các nút trong mạng Gnutella cho đến khi file được tìm thấy hoặc thời gian sống của nó đã hết. Kĩ thuật khám phá này sẽ làm lụt mạng và đây chính là nguyên nhân cho các vấn đề về quy mô mạng. Một vấn đề khác trong Gnutella là những người điều khiển tự do, ví dụ là những người không phân bố nội dung nhưng lại lấy nội dung từ người dùng khác. Mojo Nation là ứng dụng trao đổi nội dung ngang hàng, nó giới thiệu một sự lưu hành ảo để đếm những người điều khiển tự do. Sư lưu hành ảo này dùng để khuyến phân bố các tài nguyên (như là không gian lưu trữ và nội dung). Các máy trạm trong mạn Mojo Nation có thể có các vai trò khác nhau. Nội dung được phân tách vào thành các khối và được phân bố trên toàn bộ



mạng Mojo. Do đó, máy chủ lưu giữ chỉ một phần nội dung các host chứ không phải toàn bộ file. Một hệ thống chia sẻ file phổ biến khác là eDonkey. Đặc điểm đặc biệt của eDonkey là nó xác minh các file sử dụng thuật toán MD4 dựa trên giá trị mảng băm và kích cỡ file. Phương thức này cho phép xác định các file với nội dung giống nhau nhưng tên file khác nhau. Nó cũng có thể tải nội dung từ các file nguồn khác và vì vậy tăng tỉ lệ tải mạng. Freenet cũng là một hệ thống chia sẻ nội dung/ file. Mục đích chính của Freenet là làm cho nó có thể sử dụng với người vô danh. Các yêu cầu của người dùng không phải của Freenet hoặc các file đang được đặc trong những nơi khác trong Freenet có thể được xác định. Xa hơn, một người điều khiển của một nút Freenet không thể xác minh dữ liệu gì được lưu trữ trên đĩa cục bộ của nó. Freenet đã phân tán hoàn chỉnh và biểu diễn mạng ngang hàng theo mẫu của riêng nó.

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 là một mô hình tính toán song song mới cho phép người dùng tình nguyện trên toàn mạng phân bổ các tài nguyên tính toán nhàn rỗi của 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 như các hệ thống tính toán lưới phổ biến [4], [5], các hệ thống tính toán tình nguyện chứa đựng nhiều các máy tính từ các cá nhân (được gọi là những người tình nguyện) người mà muốn chia sẻ các tài nguyên của họ cho các dự án nghiên cứu mang tính cộng đống như là SETI@home [2] tìm kiếm 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à dò tìm sóng hấp dẫn LIGO và GEO, Climateprediction.net@Home [7] dùng để dự đoán khí hậu trên trái đất ... Khi tham gia vào dự án, những người tình nguyện được giữ bí mật về tên tuổi cùng các thông tin cá nhân khác. Mặc dù khi đăng ký tham gia dự án họ phải cung cấp email cũng như một số thông tin, tuy nhiên dự án không thể làm ảnh hưởng đến đời sống thực của họ. Và vì thế, họ không phải chịu bất kỳ trách nhiệm nào về dự á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 với tổng số host 2,138,226 tổng số lượng người dùng 904,956 với tổng 252 quốc gia tham gia, các phép toán con trỏ động trung bình cho mỗi giây 51,103.68 GigaFLOPS (51.104 TeraFLOPS).

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 tình nguyện và một trung tâm tính toán (trung tâm này có thể bao gồm nhiều các máy chủ trung tâm cho cân bằng tải). Các máy chủ của trung tâm tính toán quản lý các công việc tính toán song song được yêu cầu, phân chia chúng vào các nhiệm vụ nhỏ hơn và đặt chúng đến các máy tính tình nguyện để thực thi. Mỗi máy tính tình nguyện thực thi các nhiệm vụ được chỉ định và rồi gửi các kết quả quay trở lại đến các máy chủ trung tâm. Các máy chủ trung tâm sẽ tập hợp những kết quả đó và làm một vài các công việc thêm như là kiểm tra kết quả và trả về kết quả cuối cùng đến người dùng cuối của hệ thố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 4


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) là một hệ thống phần mềm trung gian cho tính toán tình nguyện. BOINC đang được sử dụng bởi một số các 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 bằng cách chạy phần mềm khách BOINC trên máy tính của họ (hoặc các máy trạm).

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 18/09/2022