Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
2,93 MB
Nội dung
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ Mục lục Trần Quang Phát – CH1101119 1 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ Chương I TỔNG QUAN VỀ TÍNH TOÁN LƯỚI I. Khái niệm về tính toán lưới Cũng như các công nghệ tính toán khác, tính toán lưới (grid computing) ra đời xuất phát từ nhu cầu tính toán của con người. Thực tế, ngày càng có nhiều bài toán phức tạp hơn được đặt ra và do đó các tổ chức cũng cần phải có những năng lực tính toán mạnh mẽ hơn. Có thể giải quyết vấn đề này bằng hai cách: • Cách thứ nhất: đầ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 ). Rõ ràng là cách làm này hết sức tốn kém. • Cách thứ hai: một cách thực hiện 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 (dĩ 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 bị sử dụng lãng phí, ví dụ như 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. 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 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 lưới. 1. Các thách thức mà công nghệ tính toán lưới đang phải giải quyết: • 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 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. Trần Quang Phát – CH1101119 2 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ 2. Các định nghĩa tính toán lưới Khái niệm Tính toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn dụ là làm cho việc sử dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điện năng. Ngày nay có rất nhiều định nghĩa về tính toán lưới. Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau: “Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại. Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”. Một hệ thống Grid có 3 đặc điểm chính: • Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung. • Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng. • Đáp ứng yêu cầu cao về chất lượng dịch vụ. Hình: Mô hình Grid Computing (Presented by Nazia leyla) Ngoài ra còn rất nhiều định nghĩa khác về tính toán lưới như: • Plaszczak/Weller định nghĩa kỹ thuật lưới là “kỹ thuật cho phép ảo hoá tài nguyên dự trữ theo yêu cầu, và chia sẻ dịch vụ, tài nguyên giữa các tổ chức”. • IBM thì định nghĩa: lưới là khả năng sử dụng một tập các nguồn mở và giao thức để có thể truy cập tới các ứng dụng và dữ liệu, năng lực xử lý, khả năng lưu trữ và một loạt các tài nguyên tính toán khác trên Internet. Một lưới là một loại hệ thống song song và phân tán cho phép chia sẻ giữa nhiều khu vực dựa trên sự sẵn có, dung lượng, hiệu năng, giá cả và các yêu cầu về chất lượng dịch vụ của người sử dụng. • Buyya định nghĩa lưới là “một kiểu hệ thống song song và phân tán cho phép chia sẻ, lựa chọn và kết hợp động các tài nguyên phân tán theo địa lý tại thời điểm thực thi dựa trên sự sẵn sàng, dung lượng, hiệu năng, giá và những yêu cầu về chất lượng dịch vụ. Trần Quang Phát – CH1101119 3 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ • CERN, một trong những tổ chức lớn nhất sử dụng công nghệ lưới, nói về lưới như sau: một dịch vụ để chia sẻ năng lực của máy tính và dung lượng lưu trữ dữ liệu qua Internet. Bản chất của tính toán lưới giống một nền tảng dạng khái niệm hơn là một tài nguyên vật lý. Lưới được tận dụng để cung cấp tài nguyên cho một nhiệm vụ tính toán. Mục tiêu của công nghệ lưới liên quan tới những yêu cầu của việc cung cấp tài nguyên linh hoạt vượt ra khỏi các khu vực cục bộ. II. So sánh tính toán lưới với một số mô hình tính toán khác • World Wide Web (Web computing): WWW hiện nay đang phát triển mạnh mẽ và được sử dụng rộng khắp. Sử dụng các chuẩn mở và các giao thức mở (TCP, HTTP, XML, SOAP), WWW có thể được sử dụng để xây dựng các tổ chức ảo tuy nhiên nó thiếu một số đặc tính quan trọng như các cơ chế chứng thực một lần, ủy nhiệm, các cơ chế phối hợp sự kiện • Các hệ thống tính toán phân tán (Distributed computing systems): các công nghệ tính toán phân tán hiện tại bao gồm CORBA, J2EE và DCOM rất thích hợp cho các ứng dụng phân tán tuy nhiên chúng không cung cấp một nền tảng phù hợp cho việc chia sẻ tài nguyên giữa các thành viên của tổ chức ảo. Một số khó khăn có thể kể ra trong việc khai phá tài nguyên, đảm bảo an ninh và xây dựng động các tổ chức ảo. Thêm nữa việc tương tác giữa các công nghệ này cũng gặp phải khó khăn. Tuy nhiên cũng đã có một số nghiên cứu nhằm mở rộng những công nghệ này cho môi trường lưới, ví dụ như Java JINI. • Các hệ thống tính toán ngang hàng (Peer - to - peer Computing Systems): Tính toán ngang hàng cũng là một lĩnh vực của tính toán phân tán. Những điểm khác biệt chính giữa tính toán ngang hàng và tính toán lưới là: • Tính toán lưới có cộng đồng người sử dụng có thể nhỏ hơn tuy nhiên tập trung nhiều vào các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính toàn vẹn của ứng dụng. Trong khi đó các hệ thống mạng ngang hàng có thể có số người sử dụng rất lớn bao gồm cả các người dùng đơn lẻ và các tổ chức tuy nhiên không đòi hỏi cao về an ninh và mô hình chia sẻ tài nguyên cũng đơn giản hơn. • Môi trường lưới liên kết các nguồn tài nguyên mạnh hơn, đa dạng hơn và chặt chẽ hơn. • Tính toán phân cụm: tính toán lưới thường bị nhầm lẫn với tính toán phân cụm. Tuy nhiên sự khác biệt chính giữa hai kiểu tính toán này là: một cụm tính toán là một tập đơn các nút tính toán tập trung trên một khu vực địa lý nhất định, trong khi một lưới bao gồm nhiều cụm tính toán và những loại tài nguyên khác như: mạng, các thiết bị lưu trữ, III. Những ưu điểm khi sử dụng Grid Computing 1. Khai thác, tận dụng các tài nguyên nhàn rỗi Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi, các máy tính cá nhân thường chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả các server cũng thường “rảnh rỗi”. Grid có thể tối ưu sử dụng các tài nguyên nhàn rỗi này theo nhiều cách khác nhau, ví dụ: gửi một công việc trên một máy tính đang bận rộn đến một máy khác rảnh rỗi hơn để xử lý, hoặc phân nhỏ một công việc thành các công việc con rồi gửi các công việc con đến các máy tính nhàn rỗi khác cho xử lý song song, … Một chức năng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn. Một tổ chức thường gặp các vấn đề khó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn. Với Grid, có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác, hoặc có thể thêm các tài nguyên mới một cách dễ dàng, từ đó làm tăng khả năng chịu đựng của hệ thống. Trần Quang Phát – CH1101119 4 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ 2. Sử dụng CPU song song Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoài việc hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Grid cung cấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong các ngành khác như: y dược, tính toán tài chính, kinh tế, khai thác dầu hoả, dự báo thời tiết, công nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác. 3. Cho phép hợp tác trên toàn thế giới Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho phép và đơn giản hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thế giới. Các công nghệ tính toán phân tán trước đây cũng cho phép hợp tác nhưng chỉ trong một phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn cầu khi đưa ra những chuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc chung với nhau để tạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyên khác nhau. 4. Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, Grid có thể cho phép chia sẻ tất cả các loại tài nguyên mà trước đây chưa được chia sẻ, như băng thông mạng, các thiết bị đặc biệt, phần mềm, bản quyền, các dịch vụ, … Ví dụ: nếu một người dùng muốn tăng băng thông kết nối Internet của mình lên để thực hiện một ứng dụng khai thác dữ liệu,thì anh có thể có thể gửi ứng dụng đó đến nhiều máy tính trong Grid có các kết nối Internet riêng, từ đó băng thông truy cập Internet của anh ta tăng lên rất nhiều lần,… 5. Tăng tính tin cậy cho các hệ thống máy tính Hiện nay, các hệ thống tính toán sử dụng các phần cứng chuyên dụng, đắt đỏ để tăng độ tin cậy. Ví dụ: một máy tính có thể sử dụng các bộ vi xử lý đôi (lõi kép) hoặc lõi tứ, cho phép “cắm nóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác mà không làm ngưng hoạt động của hệ thống. Các giải pháp này làm tăng độ tin cậy của hệ thống, tuy nhiên với chi phí quá đắt khi phụ kiện đi kèm cũng phải nhân lên. Trong tương lai, các hướng tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơn vào các công nghệ phần mềm hơn là các phần cứng đắt tiền. Grid là sự khởi đầu cho các công nghệ đó. Các hệ thống trong Grid thường rẻ và phân tán theo địa lý, do đó, nếu có sự cố về nguồn điện hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần còn lại không bị ảnh hưởng. Các phần mềm quản trị Grid có khả năng thực thi lại công việc trên một node khác khi phát hiện có lỗi hệ thống. Nếu quan trọng hơn nữa, trong các hệ thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng có thể được chạy trên nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậy tối đa. 6. Tăng khả năng quản trị các hệ thống Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các hệ thống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầng công nghệ thông tin lớn, phân tán. Trần Quang Phát – CH1101119 5 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ www.it.uom.gr Ở trên chúng ta giới thiệu một số ưu điểm khi sử dụng công nghệ Grid Computing, Grid còn mang lại rất nhiều lợi ích và ưu điểm khác mà không thể kể hết ở đây, tùy vào tình huống cụ thể mà đem lại các lợi ích khác nhau. Vấn đề là phải hiểu rõ bản chất Grid, sử dụng tốt các công cụ nhằm khai khác tốt nhất trong các tình huống cụ thể. IV. Các thành phần cơ bản của một hệ thống cơ sở hạ tầng Grid Một cơ sở hạ tầng (infrastructure) là một công nghệ cho phép chúng ta thực hiện các hoạt động của mình. Ví dụ, hệ thống đường giao thông cho phép đi lại bằng xe, hệ thống ngân hàng cho phép chuyển tiền một các nhanh chóng. Để có thể hữu dụng, cơ sở hạ tầng cần phải được triển khai rộng rãi, điều đó cũng có nghĩa là nó phải đơn giản hoặc có giá trị to lớn hoặc cả hai. Do đó, cơ sở hạ tầng Grid cần phải vừa đơn giản, vừa hỗ trợ được nhiều dạng tài nguyên khác nhau. Phần này sẽ giới thiệu tổng quan về các thành phần chính yếu của một môi trường Grid. Tuỳ theo thiết kế và cách sử dụng Grid, một số thành phần có thể không cần thiết và đôi khi trong một số trường hợp, có thể kết hợp nhiều thành phần lại thành một thành phần phức hợp. 1. Portal/Giao diện người dùng Truy cập thông tin trên Grid là việc rất quan trọng, thành phần giao diện người dùng đảm nhiệm chức năng này. Giao diện người dùng thuộc một trong hai dạng: • Giao diện cung cấp bởi ứng dụng đang chạy của người dùng. • Giao diện cung cấp bởi các nhà quản trị Grid giống như portal cho phép khả năng truy xuất đến các ứng dụng và tài trong Grid như trong một không gian ảo duy nhất… Một Grid portal đưa ra một giao diện cho người dùng để chạy các ứng dụng sử dụng các tài nguyên và dịch vụ của Grid. Giao diện kiểu portal cũng có thể giúp người dùng học cách sử dụng Grid. 2. Bảo mật Các máy tính trong Grid đều được nối mạng và chạy các ứng dụng. Chúng có thể phải xử lý các dữ liệu nhạy cảm hoặc có giá trị lớn, do đó thành phần bảo mật của Grid là hết sức quan trọng. Ở mức cơ sở, bất kỳ môi trường Grid nào cũng phải có các cơ chế bảo mật. Trần Quang Phát – CH1101119 6 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ 3. Broker Khi đã được chứng thực, người dùng sẽ thực thi ứng dụng. Tùy thuộc vào ứng dụng và các thông số cung cấp bởi người dùng, bước tiếp theo là phải xác định được các tài nguyên thích hợp để sử dụng. Việc này đòi hỏi các chức năng của một broker. 4. Quản lý phân tán Các lưới được cài đặt trên phạm vi rộng lớn thường có cấu trúc hình cây hay các dạng hình phù hợp với dạng kết nối. Theo đó, các máy tính được kết nối thông qua mạng LAN tạo thành các cluster. Các lưới có thể được tạo nên từ các cluster của các cluster này. Vì thế đòi hỏi phải có các thủ tục quản lý các lưới phân tán sao cho đạt hiệu quả tính toán cao nhất. Các thao tác trên lưới cũng như các thủ tục chia sẻ dữ liệu và lập lịch phải phù hợp với cấu hình của lưới. Ví dụ: bộ lập lịch trung tâm sẽ không gán trực tiếp công việc cho một máy cụ thể mà gán cho một cluster ở dưới nó, sau đó bộ lập lịch của cluster này mới thực hiện gán công việc cho một máy cụ thể trong cluster đó. Tương tự như thế khi một máy đệ trình một công việc nào đó, công việc này sẽ được chuyển tới bộ quản lí của cluster chứa máy thành phần, sau đó được tiếp tục chuyển lên bộ quản lí cao hơn để từ đó thực hiện lập lịch cho công việc này. 5. Bộ lập lịch Phần lớn các lưới tính toán đều có các phần mềm lập lịch, các phần mềm này có nhiệm vụ chọn ra các máy thành phần để thực thi các công việc được đệ trình tại một máy nào đó. Cơ chế lập lịch đơn giản nhất là cơ chế round-robin, tức là hệ thống sẽ chọn máy tiếp theo có các tài nguyên đáp ứng như cầu của công việc để thực thi. Tuy vậy trong các hệ thống tiên tiến thì cơ chế lập lịch phức tạp và hiệu quả hơn sẽ được áp dụng. Một số bộ lập lịch thực hiện gán ưu tiên cho từng công việc. Điều này được thực hiện bằng cách duy trì các hàng đợi công việc, mỗi hàng đợi chứa một tập các công việc với cùng mức ưu tiên. Khi một máy đã thực hiện xong công việc của mình, nó sẽ chọn tiếp một công việc ở hàng đợi có mức độ ưu tiên cao nhất. Cơ chế này sẽ được kết hợp với một số quy định khác dựa trên cơ sở là các tài nguyên người sử dụng … Ví dụ như một tài nguyên trong tổ chức có thể bị hạn chế sử dụng trong khoảng thời gian nào đó trong ngày. Bộ lập lịch phải dựa vào các thông tin như tải của lưới, các thông tin được đo lường như tỉ lệ tài nguyên được sử dụng để có thể quyết định xem máy thành phần có bận không trước khi đệ trình một công việc. Cũng như tổ chức của mạng, bộ lập lịch cũng có thể được tổ chức theo cấu trúc cây. Ví dụ: bộ siêu lập lịch (meta-scheduler) sẽ đệ trình một công việc tới một bộ lập lịch ở mức dưới chứ không phải là một máy thành phần cụ thể. Các bộ lập lịch tiên tiến hơn còn có các chức năng theo dõi quá trình thực hiện của các công việc trong lưới, từ đó có thể quản lí được luồng công việc của toàn bộ hệ thống. Nếu một công việc bị ngừng do thiếu tài nguyên hệ thống, bộ lập lịch tốt phải có nhiệm vụ đệ trình lại công việc tại một nơi khác trong hệ thống. Tương tự như vậy, khi tiến trình rơi vào trạng thái lặp vô hạn và đạt tới thời gian giới hạn thì công việc đó sẽ không được thực hiện lại nữa. Thường thì mỗi công việc sẽ có một mã trả về khi kết thúc. Điều này sẽ giúp thực hiện các hoạt động sau này ( ví dụ có phải thực hiện lại hay không). Việc đặt trước các tài nguyên để phục vụ cho việc thực hiện các công việc sau này được thực hiện bởi các hệ thống đặt trước chuyên dụng. Đây thực chất không phải bộ lập lịch thông thường, mà trước hết nó như bộ lịch công tác quy định các công việc cụ thể trong một khoảng thời gian nhất định và bảo vệ các tài nguyên được sử dụng khỏi sự chiếm dụng của các tiến trình khác. Nó còn có khả năng dừng các công việc đang thực hiện khi tới thời gian được đặt từ trước. Trần Quang Phát – CH1101119 7 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ 6. Các thành phần truyền thông Hệ thống lưới có thể có các phần mềm giúp các tiến trình có thể liên lạc với nhau. Ví dụ: trong trường hợp một công việc được chia thành nhiều công việc nhỏ khác nhau, các công việc này được thực hiện riêng lẻ trên lưới. Tuy vậy, có thể các công việc này phải sử dụng kết quả của công việc khác. Điều này dẫn đến việc các công việc phải có khả năng liên kết với nhau. Các phần mềm truyền thông sẽ giúp một tiến trình có khả năng liên lạc với các tiến trình khác, gửi và nhận các dữ liệu cần thiết. Trong hệ thống có thể sử dụng chuẩn giao diện MPI (Message Passing Interface) và một số chuẩn khác để thực hiện các liên kết này. 7. Các thành phần quản lý, theo dõi và đo lường Như ta đã đề cập trên các hoạt động lập lịch đòi hỏi phải có các thông tin về hệ thống hiện tại như các máy nào sẵn dùng, tỉ lệ tài nguyên được sử dụng, tải của các nút lưới … Thông thường các phần mềm donor sử dụng một số công cụ của hệ điều hành hoặc trực tiếp đo các thông số này. Các phần mềm này đôi khi còn được gọi là “sensor tải”. Các thông tin này không những có giá trị với việc lập lịch mà nó đo lường được khả năng sử dụng lưới. Các thông số này có thể dự báo cho người quản trị thấy được xu hướng của lưới và các thiết bị có thể cần thiết phải thêm vào hệ thống. Các thông tin đo lường có thể tiết kiệm cho mục đích kế toán, là cơ sở cho thủ tục môi giới tài nguyên, quản lý ưu tiên dễ dàng hơn. Người ta có thể thể hiện các thông tin đo lường dưới các dạng biểu diễn khác nhau sao cho trực quan đối với người sử dụng nhất. V. Kiến trúc Grid 1. Bản chất Kiến trúc Grid “Tổ chức ảo” (VO) là đơn vị cơ bản quan trọng trong hệ thống Grid. Việc thiết lập, quản lý, khai thác các quan hệ chia sẻ tài nguyên giữa các tổ chức ảo đòi hỏi phải có kiến trúc hệ thống mới, kiến trúc Grid. Kiến trúc Grid dưới đây được xây dựng dựa trên quan niệm “để các VO hoạt động hiệu quả đòi hỏi phải thiết lập được các quan hệ chia sẻ với bất kỳ đơn vị tham gia tiềm năng nào”. Để làm được điều này, vấn đề “liên kết hoạt động” (interoperability) cần phải được tập trung giải quyết. Trong môi trường mạng, “liên kết hoạt động” đồng nghĩa với việc sử dụng các protocol chung. Do đó, kiến trúc Grid sẽ là kiến trúc protocol, với các protocol xác định các cơ chế nền tảng để người dùng và nhà cung cấp tài nguyên thương lượng, thiết lập, quản lý và khai thác các mối quan hệ chia sẻ tài nguyên. Kiến trúc Grid phải là kiến trúc chuẩn, hướng mở, để dễ mở rộng, liên kết hoạt động tốt, có tính khả chuyển (portability) cao. Các protocol chuẩn sẽ giúp định nghĩa các service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách dễ dàng. Sau khi có được kiến trúc Grid, việc tiếp theo là xây dựng các hàm API và các bộ SDK để cung cấp các công cụ cần thiết để phát triển các ứng dụng chạy trên nền Grid. Sở dĩ vấn đề “liên kết hoạt động” được xem là vấn đề cơ bản vì các mối quan hệ chia sẻ có thể phải được thiết lập giữa các bên tham gia khác nhau về các chính sách, giữa các môi trường khác nhau về nền tảng, ngôn ngữ, môi trường lập trình,…Nếu không có nó, các thành viên trong VO sẽ thực hiện các chính sách chia sẻ song phương và không chắc rằng các cơ chế sử dụng cho hai thành viên này sẽ mở rộng được cho các thành viên khác. Điều này khiến cho việc thành lập các VO động là không thể thực hiện hoặc cũng chỉ thành lập được VO theo một kiểu nào đó mà thôi. Cũng giống như Web đã làm bùng nổ việc chia sẻ thông tin bằng cách cung cấp các protocol và cú pháp chuẩn (HTTP và HTML) dùng cho việc trao đổi thông tin, ở đây cũng cần các protocol và cú pháp chuẩn để chia sẻ tài nguyên. Trần Quang Phát – CH1101119 8 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ Để giải quyết vấn đề “liên kết hoạt động”, việc xây dựng các protocol là quan trọng. Vì protocol xác định cách các thành phần phân tán trao đổi với nhau để đạt được một mục đích nào đó, xác định các cấu trúc thông tin cần thiết trong quá trình trao đổi. Các VO thường hay thay đổi, nên các cơ chế xác định, chia sẻ và sử dụng tài nguyên cần phải mềm dẻo, gọn nhẹ, để các thỏa thuận chia sẻ tài nguyên có thể được thiết lập, thay đổi một cách nhanh chóng. Các cơ chế chia sẻ không được ảnh hưởng đến các chính sách cục bộ, và phải cho phép các thành viên quản lý được các tài nguyên của họ. Vì các protocol quy định việc giao tiếp giữa các thành viên chứ không quy định thành viên đó phải như thế nào, nên khi dùng các protocol, các chính sách cục bộ được giữ lại. Do đó các protocol được cần đến. Khi đã có các protocol, thì việc xây dựng các service là cần thiết và quan trọng, các service là bản cài đặt cụ thể của các protocol. Việc xây dựng các service cơ bản phục vụ truy cập đến tài nguyên tính toán, dữ liệu, tìm kiếm tài nguyên, lập lịch và đồng bộ hoá, sao chép dữ liệu,… cho phép xây dựng các service cao cấp hơn cho ứng dụng đồng thời trừu tượng hoá các chi tiết về tài nguyên. Cũng cần phải xây dựng các bộ API và SDK, vì các nhà phát triển ứng dụng cần phải có công cụ để hỗ trợ phát triển các ứng dụng phức tạp trong môi trường Grid, người dùng cũng phải có khả năng thực thi được các ứng dụng này. Sức mạnh, tính đúng đắn của ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm quan trọng. Các API và SDK có thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ mã, tăng tính khả chuyển cho ứng dụng. Tất nhiên, API và SDK chỉ hỗ trợ thêm chứ không thể thay thế các protocol được. 2. Chi tiết Kiến trúc Grid tổng quát Sau nhiều năm tập trung nghiên cứu, phát triển, tích luỹ kinh nghiệm, các nhà phát triển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid. Một trong những kiến trúc Grid được chấp nhận nhiều nhất được đưa ra bởi Ian Foster, phần dưới đây sẽ giới thiệu về kiến trúc này. Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân tầng như trong hình bên dưới. Các thành phần trong một tầng có chung đặc điểm, tính chất, có thể được xây dựng từ bất kỳ tầng lưới nào. Các thành phần được phân tầng dựa theo vai trò của chúng trong hệ thống Grid. Đây là một kiến trúc mở. Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với mục đích chính là để tham khảo. Việc xây dựng, cài đặt cụ thể tuỳ thuộc vào từng dự án, từng lĩnh vực ứng dụng. Hình: Kiến trúc Grid tổng quát Trần Quang Phát – CH1101119 9 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ 2.1. Tầng Application Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng chạy trong một trường VO. Hình bên dưới minh hoạ quan điểm của các lập trình viên về kiến trúc Grid. Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ định nghĩa bởi các tầng phía dưới. Ví dụ: một chương trình phân tích bộ gen người cần phải chạy hàng ngàn tác vụ độc lập, mỗi tác vụ cần nhiều tập tin chứa thông tin từng phần của bộ gen có thể sử dụng các chức năng Grid sau: • Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity). • Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên thích hợp và vị trí các tập tin dữ liệu đầu vào (các dịch vụ tầng Collective). • Gửi các yêu cầu đến các tài nguyên để thực hiện tính toán, di chuyển dữ liệu,… và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi mọi thứ hoàn tất, dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource). Hình: Quan điểm của các lập trình viên về kiến trúc Grid Theo hình trên, các hàm API được cài đặt bằng các bộ công cụ phát triển phần mềm (SDK). Các bộ SDK sử dụng các Grid protocol để giao tiếp với các service cung cấp các chức năng cho người dùng cuối. Các SDK cấp cao có thể cung cấp các chức năng mà không gọi trực tiếp một protocol cụ thể nào, chúng có thể kết hợp nhiều hoạt động của các prtocol khác nhau bằng các gọi các hàm API cũng như cài đặt các chức năng cục bộ. Các mũi tên đặc đại diện cho các lời gọi trực tiếp, các mũi tên ngắt quãng đại diện cho việc giao tiếp giữa các protocol. 2.2. Tầng Collective Tầng Collective chứa các protocol, service, API, SDK không liên hệ đến bất kỳ một tài nguyên cụ thế nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập tài nguyên. Tầng Collective có thể bổ sung thêm nhiều loại hoạt động chia sẻ mới ngoài những gì đã có từ tầng Resource mà không cần bổ sung thêm các yêu cầu mới cho các tài nguyên đang được chia sẻ. Ví dụ: • Directory service: cho phép các thành phần tham gia VO phát hiện sự tồn tại và/hoặc đặc tính của các tài nguyên trong VO. Một directory service có thể cho phép người truy vấn tài nguyên qua tên và/hay các thuộc tính như kiểu, khả năng, tải, … Trần Quang Phát – CH1101119 10 / 40 [...]... đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường internet Trần Quang Phát – CH1101119 28 / 40 Tính Toán Lưới PGS.TS Nguyễn Phi Khứ II Tính chất cơ bản của Cloud Computing Cloud Computing có năm tính chất nổi bật so với mô hình truyền thống Hình: NIST Visual Model of Cloud Computing Definition... thống Cloud Computing tự động kiểm soát và tối ưu hóa việc sử dụng tài nguyên (dung lượng lưu trữ, đơn vị xử lý, băng thông…) Lượng tài nguyên sử dụng có thể được theo dõi, kiểm soát và báo cáo một cách minh bạch cho cả hai phía nhà cung cấp dịch vụ và người sử dụng III Các mô hình Cloud Computing Các mô hình Cloud Computing được phân thành hai loại: • • Các mô hình dịch vụ (Service Models): Phân loại các. .. tầng Cloud Mô hình này giải phóng người dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổn định Hình: Mô hình SPI 2 Mô hình triển khai Cho dù sử dụng loại mô hình dịch vụ nào đi nữa thì cũng có ba mô hình triển khai chính là: Public Cloud, Private Cloud và Hybrid Cloud 2.1 Public Cloud Các. .. hai mô hình này lại với nhau thì sẽ khai thác ưu điểm của từng mô hình Đó là ý tưởng hình thành mô hình Hybrid Cloud Hình: Hybrid Cloud Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại các chức... vụ (Service Models): Phân loại các dịch vụ của các nhà cung cấp dịch vụ Cloud Computing Các mô hình triển khai (Deployment Models): Phân loại cách thức triển khai dịch vụ Cloud Computing đến với khách hàng 1 Mô hình dịch vụ Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại dịch vụ khác nhau Tuy nhiên có ba loại dịch vụ Cloud Computing cơ bản là: dịch vụ cơ sở hạ tầng (Infrastructure... trên lưới có thể bao trùm nhiều khu vực an ninh khác nhau Những khu vực an ninh liên quan đáp ứng một yêu cầu dịch vụ sẽ thiết lập một cơ chế tin cậy với nhau Do tính chất năng động của môi trường tính toán lưới, đó là không thể thiết lập toàn bộ các mối tin cậy trước khi thực hiện các ứng dụng Vấn đề cơ sở tin cậy trở nên phức tạp trong hệ thống tính toán lưới 3 Bảo mật của hệ thống tính toán lưới Các. .. kinh phí Tư tưởng chủ đạo của việc thiết kế các thuật toán lập lịch cho lưới là: không sử dụng các thuật toán tối ưu truyền thống vẫn hay thường được sử dụng trong các bài toán lập lịch mà chủ yếu sử dụng các heuristic Trần Quang Phát – CH1101119 27 / 40 Tính Toán Lưới Chương II PGS.TS Nguyễn Phi Khứ TỔNG QUAN VỀ CLOUD COMPUTING I Định nghĩa Thuật ngữ Cloud Computing chỉ mới xuất hiện gần đây Giữa năm... phép các thành phần phân tán giao tiếp với nhau, GT là một bản cài đặt hoàn chỉnh OGSI với ngôn ngữ Java VI Cơ chế bảo mật trong Grid Computing 1 Những thách thức bảo mật trong tính toán lưới An ninh trong môi trường tính toán lưới phải đáp ứng được những yêu cầu về tính toán diện rộng, tính “động” của hệ thống, và phân phối những “tổ chức ảo” Từ góc độ an ninh, một thuộc tính quan trọng của các “tổ... Hybrid Cloud Trần Quang Phát – CH1101119 33 / 40 Tính Toán Lưới IV PGS.TS Nguyễn Phi Khứ Lới ích và khó khăn 1 Tính sẵn sàng Hiện nay, việc sử dụng các dịch vụ của cloud computing làm cho người sử dụng lo lắng đến tính sẵn sàng của dịch vụ mà họ sử dụng Nên đây là một lý do có thể làm cho người sử dụng ngại sử dụng các dịch vụ của Cloud Computing Nhưng hiện tại, những người sử dụng dịch vụ của Cloud Computing. .. dụng Trần Quang Phát – CH1101119 31 / 40 Tính Toán Lưới PGS.TS Nguyễn Phi Khứ Hình: Mô hình Public Cloud Tuy nhiên Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối . Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ Mục lục Trần Quang Phát – CH1101119 1 / 40 Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ Chương I TỔNG QUAN VỀ TÍNH TOÁN LƯỚI I. Khái niệm về tính toán lưới Cũng. như các công nghệ tính toán khác, tính toán lưới (grid computing) ra đời xuất phát từ nhu cầu tính toán của con người. Thực tế, ngày càng có nhiều bài toán phức tạp hơn được đặt ra và do đó các. thống tính toán lưới Các hệ thống tính toán lưới cao cấp yêu cầu mức độ bảo mật có các đặc điểm sau: • Chứng thực: các giao thức “cung cấp chứng thực” cần có để tích hợp các cơ chế bảo mật và cách thức