Chương 1. TỔNG QUAN VỀ TÍNH TOÁN LƯỚI 1. TÍNH TOÁN LƯỚI. Khái niệm Tính toán lưới.
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. Tính toán lưới ra đời nhằm tạo khả năng chia sẻ tài nguyên 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ý. Hình 1-1: Tính toán lưới - Định nghĩa 1: Lưới tính toán là một cơ sở hạ tầng phần cứng và phần mềm cung cấp khả năng truy nhập nhất quán, tin cậy, qui mô và rẻ tới các tài nguyên tính toán mạnh. Kesselman (1999) - Định nghĩa 2: Tính toán lưới liên quan tới việc chia sẻ, điều phối tài nguyên và giải quyết vấn đề trong phạm vi các tổ chức ảo.
Tuecke, “Anatomy of the Grid“(2000) 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Định nghĩa 3: Lưới tính toán là một hệ thống có các đặc trưng sau: • Tài nguyên được điều phối một cách phi tập trung • Sử dụng các giao thức chuẩn, mở và đa năng • Cung cấp chất lượng dịch vụ không tầm thường I. Foster‘s Three-Point Checklist (HPCWIRE - 22. Mỗi tác giả khi đưa ra định nghĩa đều đứng trên một số quan niệm nhất định. Chẳng hạn định nghĩa 1 bị ảnh hưởng một cách sâu sắc bởi các dự án siêu tính toán (meta-computing) trước đó.
Định nghĩa 2 tập trung vào sự quan trọng của các giao thức như là phương tiện để tương tác giữa các thành phần, còn định nghĩa 3 “có thể sẽ thích hợp hơn cho các nghiên cứu về lưới có qui mô rất lớn trong tương lai. Định nghĩa này đã bỏ qua nhiều đóng góp từ các tổ chức công nghiệp, do đó có lẽ là không xác đáng” (W. Vì vậy, để có được một cái nhìn toàn diện về lưới, ta không đưa ra một định nghĩa cụ thể nào. Thay vào đó, chúng ta xem xét khái niệm lưới trên cơ sở các đặc trưng sau: - Kích thước lớn: theo nghĩa số lượng các tài nguyên tiềm tàng và khoảng cách về mặt địa lý giữa chúng.
- Phân tán: có độ trễ đáng kể trong truyền dữ liệu và điều này có thể ảnh hưởng lớn đến ứng dụng. - Động: các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện - Hỗn tạp: kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác nhau - Vượt qua phạm vi một tổ chức: có nhiều trạm và các chính sách truy nhập có thể khác nhau trên các trạm. Có thể hình dung đơn giản một lưới bao gồm một tập các tài nguyên đa dạng (còn gọi là các nút lưới - có thể là PC, cluster, hệ thống lưu trữ, …) thuộc về nhiều tổ chức nhằm giải quyết một bài toán nào đó. 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
Lợi ích của Tính toán lưới. Khai thác các tài nguyên nhàn rỗi Một trong những lợi ích cơ bản của tính toán lưới là khả năng chạy ứng dụng trên một tài nguyên khác. Thống kê cho thấy, đối với các máy tính để bàn, trong một ngày làm việc thì chỉ có khoảng 5% thời gian là bận, còn lại là rỗi [2]. Việc tận dụng khoảng thời gian rỗi này để chạy các ứng dụng khác là một việc làm rất hiệu quả và kinh tế.
Cung cấp khả năng xử lý song song Khả năng chạy ứng dụng song song là tính năng thú vị nhất mà tính toán lưới mang lại. Lúc này, một công việc được chia thành nhiều công việc con, các công việc con này được thực hiện đồng thời trên các tài nguyên khác nhau của lưới. Do đó, thời gian chạy ứng dụng sẽ được rút ngắn nhiều lần. Tuy nhiên, vấn đề là không phải ứng dụng nào cũng có thể triển khai theo cách này được.
Cần xem xét các yếu tố như khả năng song song hóa, sự trao đổi giữa các công việc con khi chạy để đánh giá xem một ứng dụng có thực sự hiệu quả khi được triển khai trên lưới hay không. Giúp hợp tác giữa các tổ chức Sự hợp tác được thể hiện thông qua khái niệm tổ chức ảo - sự kết hợp nhiều tổ chức thực cùng mục tiêu. Thông qua mô hình tổ chức ảo, các tổ chức thực có thể chia sẻ tài nguyên như dữ liệu, các thiết bị đặc biệt. Giúp truy nhập các tài nguyên khác: Ngoài tài nguyên tính toán và lưu trữ, lưới còn cung cấp các loại tài nguyên khác, chẳng hạn đường truyền mạng, các phần mềm đắt tiền.
Ví dụ như nếu một người dùng muốn tăng thông lượng kết nối tới Internet để thực hiện khai phá dữ liệu, anh ta có thể tận dụng các kết nối Internet riêng biệt của các nút lưới khác để chạy bài toán trên. Giúp cân bằng trong sử dụng tài nguyên Lưới cung cấp khả năng lập lịch, giúp phân bổ các công việc lên các nút một cách hợp lý, tránh tình trạng bị quá tải ở bất kì một nút nào. 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 1-2: Công việc được chuyển sang các nút ít bận hơn 6/. Mang lại độ tin cậy Khái niệm tin cậy trong tính toán lưới được thể hiện ở các khía cạnh sau: một là, trong lưới có những tài nguyên tính toán đắt tiền, cung cấp độ tin cậy cao cho những bài toán được thực hiện trên chúng.
Hai là, lưới cung cấp khả năng lập lịch lại, phân bổ lại công việc nếu có lỗi xảy ra. Ba là, nếu cần, một công việc có thể được chạy đồng thời trên nhiều nút, cho nên việc xảy ra lỗi ở một nút sẽ không làm ảnh hưởng đến kết quả của công việc đó. 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Vấn đề cơ bản của một hệ thống lưới.
Có 4 vấn đề cơ bản được quan tâm trong tính toán lưới [3], đó là: 1/. An toàn và bảo mật (Security) Một nền tảng an toàn và bảo mật vững chắc sẽ quyết định sự phát triển của môi trường tính toán lưới. Với tính chất quy mô lớn, quan hệ chia sẻ tài nguyên giữa nhiều tổ chức, an toàn và bảo mật luôn phải được coi là một trong những yếu tố hàng đầu trong lưới. Hai vấn đề quan trọng trong an toàn bảo mật phải xem xét trong tính toán lưới là: - Chứng thực người dùng (Authentication) - Xác thực thẩm quyền (Authorization).
Lập lịch và quản lý tài nguyên (Resource Management and Scheduling) Các tài nguyên lưới thường phân tán và không đồng nhất. Do đó, việc tích hợp, đồng bộ hóa và biểu diễn chúng dưới một dạng thống nhất là yêu cầu tất yếu. Trong môi trường tính toán lưới, tại một thời điểm có thể có rất nhiều ứng dụng cùng truy cập chia sẻ một hoặc nhiều tài nguyên khác nhau, do vậy cần có bộ lập lịch nhằm tối ưu hóa các công việc. Bộ lập lịch phải dựa vào các thông tin trên toàn bộ lưới để quyết định thứ tự đệ trình công việc.
Dịch vụ thông tin (Information Service) Đối với một môi trường động và không đồng nhất như tính toán lưới thì các thông tin về các thành phần trong lưới sẽ thay đổi liên tục. Chính vì vậy, dịch vụ thông tin cần cung cấp cơ chế tự động cập nhật và đăng ký các thông tin về toàn hệ thống như kiến trúc các tài nguyên, các dịch vụ có thể cung cấp trên lưới, trạng thái của toàn bộ môi trường lưới. Quản lý dữ liệu (Data Management) Việc truy cập các nguồn dữ liệu trên lưới đòi hỏi một khả năng trao đổi, tương tác với các dữ liệu có thể lên đến giga bytes hoặc hơn thế nữa. Điều này đòi hỏi tính toán lưới phải có các chiến lược lưu trữ cũng như tối ưu hóa các hệ thống lưu trữ.
15 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Kiến trúc của một lưới Theo [4], một lưới bao gồm các thành phần sau: 1/. Tầng nền (Fabric) Bao gồm các tài nguyên phân tán, các tài nguyên này có thể có kiến trúc và tính chất rất khác nhau. Tầng trung gian lưới (Core Middleware) Cung cấp các dịch vụ cơ bản của lưới như quản lý truy nhập từ xa, định vị tài nguyên, đăng ký và khám phá tài nguyên, bảo mật.
Tầng trung gian phía người dùng (User level middleware) Bao gồm môi trường phát triển ứng dụng, các công cụ lập trình và các bộ môi giới tài nguyên nhằm lựa chọn các tài nguyên phù hợp và thực hiện công việc trên các tài nguyên đó. Các ứng dụng lưới và cổng giao tiếp Tầng trên cùng là các ứng dụng lưới được phát triển bởi các công cụ hỗ trợ. Cổng điện tử lưới cung cấp giao diện Web cho các ứng dụng lưới, giúp người dùng có thể đệ trình công việc và tập hợp kết quả thông qua Web. 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.
VẤN ĐỀ AN TOÀN THÔNG TIN TRONG TÍNH TOÁN LƯỚI Do đặc điểm hỗn tạp và không đồng nhất của các tổ chức và tài nguyên trong lưới, vấn đề an toàn thông tin trong lưới là một trong những vấn đề được quan tâm hàng đầu. Có những vấn đề an toàn thông tin mới chưa từng gặp trong các công nghệ an toàn thông tin hiện tại cho hệ thống tính toán phân tán truyền thống. Ví dụ, các tính toán song song đòi hỏi nhiều tài nguyên tính toán, dẫn tới nhu cầu phải thiết lập các mối quan hệ an toàn thông tin, không đơn giản chỉ là với client và server, mà giữa hàng trăm tiến trình thực hiện trong không gian tập hợp nhiều miền quản trị. Ngoài ra, cần phải có các chính sách an toàn thông tin liên miền cho lưới, các công nghệ điều khiển truy nhập giữa các miền khác nhau cũng phải được hỗ trợ.
Các ứng dụng và hệ thống lưới có thể đòi hỏi bất cứ chức năng nào trong các chức năng cơ bản của an toàn thông tin như là: chứng thực, điều khiển truy nhập, và toàn vẹn. Khi phát triển kiến trúc lưới, cũng cần phải lựa chọn giải pháp để đáp ứng được đòi hỏi của các đặc tính rất riêng của lưới: - Đăng nhập một lần: Khi bắt đầu một tính toán đòi hỏi sử dụng tài nguyên, cho thuê tài nguyên hay truyền thông nội bộ, người dùng có thể được chứng thực, và sẽ không phải chứng thực trong các tính toán tiếp theo. - Giấy ủy nhiệm người dùng: Các mật khẩu, khóa bí mật phải được bảo vệ bằng các chính sách như mã hóa, hệ thống file bảo mật, phân quyền, - Tích hợp các giải pháp an toàn thông tin địa phương: Các giải pháp liên miền phải tích hợp với các giải pháp an toàn thông tin địa phương để đảm bảo độc lập của các thành viên lưới.