PDA

View Full Version : Điện toán mạng lưới - khả năng vô hạn



freewarez
24-01-2005, 15:05
Có khả năng tập hợp nguồn lực điện toán vô cùng lớn, mạng lưới được dự báo sẽ là một trong những chủ đề "nóng" của năm 2005 và những năm tới.

Nếu là fan của điện ảnh, chắc hẳn "mạng lưới" làm bạn liên tưởng đến bộ phim "The Net" nổi tiếng với diễn xuất tuyệt vời của Sandra Bullock. Tuy nhiên, "lưới" được đề cập ở đây dịch từ chữ "grid" có ý nghĩa gần với lưới điện.

Tại sao lại liên quan đến lưới điện ở đây? Cơ bản, lưới hay chính xác hơn là môi trường điện toán lưới (grid computing), là tập hợp các tài nguyên điện toán (năng lực xử lý, lưu trữ) được "liên thông" để chia sẻ năng lực đáp ứng nhu cầu người dùng. Tương tự như mạng lưới điện, các trạm phát điện được liên thông chia tải và bổ sung nguồn điện cho nhau để đáp ứng nhu cầu sử dụng điện của khách hàng. Trong môi trường điện toán lưới, người dùng có thể sử dụng ngay tại máy tính của mình tài nguyên "ảo" tập hợp nguồn lực của các tài nguyên phân tán trong mạng lưới mà không cần biết nguồn gốc của chúng, tương tự như việc sử dụng qua ổ cắm điện ngay tại nhà mình nguồn điện tập hợp từ nhiều trạm phát điện.

Tập hợp sức mạnh phân tán

Người dùng luôn than phiền máy tính "chạy" chậm và luôn muốn nâng cấp cấu hình hệ thống ngày một mạnh hơn. Nhờ sự tiến bộ không ngừng của công nghệ, các máy tính đã ngày càng mạnh hơn. Thế nhưng, thực tế đa phần tài nguyên điện toán thường không làm việc hết công suất toàn thời gian! Ước tính, trung bình các hệ thống PC chỉ thực sự làm việc dưới 20% thời gian (nguồn CIO), hiệu suất làm việc của các hệ thống máy chủ có thể cao hơn nhưng cũng không "chạy" hết công suất toàn thời gian. Người ta thường trang bị hệ thống điện toán dựa trên nhu cầu làm việc lúc "cao điểm" chứ không phải dựa trên năng suất làm việc trung bình.

Vào những năm đầu thập niên 1970, khi các máy tính bắt đầu được nối mạng, đã xuất hiện ý tưởng tập hợp năng lực xử lý rỗi của các CPU, một số chương trình thí nghiệm như Creeper và Reaper làm việc trên mạng ARPAnet, tiền thân của Internet. Năm 1973, Xerox Palo Alto Research Center (PARC) thiết lập mạng ethernet đầu tiên mở đường cho dự án điện toán phân tán hoàn chỉnh đầu tiên: Hai nhà khoa học John F. Shoch và Jon A. Hupp đã tạo chương trình có khả năng di chuyển từ máy này sang máy khác để sử dụng các tài nguyên rỗi cho mục đích có ích. Một nỗ lực khác, Richard Crandall đã thiết lập phần mềm cho phép khai thác các máy tính NeXT nối mạng khi không làm việc để phối hợp tính toán.




Grid có nguồn gốc từ các dự án điện toán phân tán đầu tiên phục vụ cho nghiên cứu khoa học vào thập niên 1980. Một phần do điều kiện ngân sách, một phần do điều kiện công nghệ chưa cho phép trang bị những hệ thống siêu máy tính có đủ năng lực giải các bài toán phức tạp yêu cầu rất nhiều tác vụ tính toán, các nhà khoa học đã kết nối nhiều máy tính lại, tận dụng năng lực xử lý rỗi của các CPU để giúp rút ngắn thời gian xử lý đáng kể. Dự án nổi tiếng nhất cho đến nay, và cũng là hệ thống điện toán phân tán lớn nhất thế giới, là Search for Extraterrestrial Intelligence hay SETI@Home (http://setiathome.ssl.berkeley.edu), tập hợp hàng triệu người tham gia chia sẻ năng lực xử lý không dùng đến của mình để giúp phân tích dữ liệu vô tuyến từ vũ trụ nhằm tìm kiếm sự sống ngoài trái đất. (Bạn có thể tham gia SETI@Home bằng cách tải về và cài đặt trên PC trình screensaver miễn phí).

Grid được phát triển từ nền tảng công nghệ điện toán phân tán, cho phép tập hợp các tài nguyên điện toán trong mạng như năng lực xử lý và lưu trữ để tạo nên một hệ thống "ảo", đem đến cho người dùng và ứng dụng khả năng truy cập nguồn lực điện toán khổng lồ, khai thác "sức mạnh" tổng lực của toàn hệ thống, đồng thời có khả năng mở rộng và nâng cấp một cách linh hoạt.

Những nguyên lý căn bản của công nghệ điện toán phân tán không mới, điểm mới của grid đó là xây dựng trên cơ sở tập chuẩn và giao thức mở tạo nên sự "liên thông" trong môi trường phân tán và không đồng nhất (các hệ thống phần cứng và hệ điều hành khác nhau).

Chuẩn cho GRID

Hiện có nhiều tổ chức phát triển chuẩn dùng để xây dựng môi trường grid và ứng dụng grid có khả năng "bắt tay" nhau. Một số tổ chức then chốt như Global Grid Forum (GGF), Enterprise Grid Alliance (EGA) và Globus Alliance.

GGF (www.gridforum.org) - thành viên gồm Ascential Software, DataSynapse, Hewlett-Packard, IBM, Microsoft, Oracle, Platform Computing và Sun.

EGA (www.gridalliance.org) - được công bố chính thức vào tháng 4/2004 với danh sách thành viên gồm Oracle, HP, Sun và một số hãng khác (đáng chú ý là không có sự tham gia của Microsoft, IBM và Platform Computing) - đặt mục tiêu xây dựng chuẩn nhắm đến ứng dụng doanh nghiệp trên nền grid.

Globus (www.globus.org) được thành lập bởi các tổ chức nghiên cứu, gồm Argone National Laboratory và Đại học Chicago, và được sự tài trợ của DARPA (cơ quan nghiên cứu quốc phòng Mỹ) và NSF (cơ quan khoa học quốc gia Mỹ). Nhóm này hiện thực chuẩn thông qua bộ công cụ phát triển nguồn mở Globus Toolkit, đây là cơ sở ban đầu cho các hãng phần mềm thực hiện việc phát triển sản phẩm grid của mình.

Các chuẩn hiện có gồm Open Grid Services Architecture (OGSA), Open Grid Services Infrastructure (OGSI) và gần đây nhất là Web Services Resource Framework (WSRF), chuẩn này sẽ thay thế OGSI, theo GGF, và cho phép sử dụng các chuẩn dịch vụ web chung để nhận diện và sử dụng tài nguyên trong mạng lưới.

Với việc cung cấp nền tảng xây dựng ứng dụng chung, các chuẩn grid sẽ giúp thúc đẩy việc chuyển đổi ứng dụng sang môi trường grid. Các công ty phần mềm lớn như Oracle và SAP đã có những sản phẩm hoặc chương trình thí điểm hiện thực ứng dụng hỗ trợ grid.

Từ khoa học sang thương mại

Grid đang bắt đầu chuyển từ thế giới khoa học sang thế giới thương mại. Xu hướng người dùng yêu cầu năng lực xử lý ngày càng nhanh hơn và năng lực lưu trữ ngày càng lớn hơn. Một loạt xu hướng công nghệ như hệ thống dạng phiến (blade), kết nối mạng tốc độ cao như Infiniband và gigabit ethernet, hệ thống lưu trữ liên kết mạng như SAN (Storage Area Network) và NAS (Network Attached Storage), giá phần cứng hạ... tất cả những yếu tố trên kết hợp lại tạo ra một nền tảng hấp dẫn chưa từng có cho grid. Nhiều công ty tên tuổi đã tham gia thị trường grid với hàng loạt sản phẩm.

Trước hết phải kể đến Oracle (oracle.com/grid) với bộ sản phẩm Oracle 10g hiện thực môi trường grid cho doanh nghiệp. Oracle 10g được công bố trên thế giới vào tháng 9/2003 và được giới thiệu chính thức tại Việt Nam vào tháng 12/2004. Oracle 10g bao gồm cơ sở dữ liệu, máy chủ ứng dụng và công cụ quản lý, ngoài ra còn có công cụ phát triển JDeveloper 10g.

IBM (ibm.com/grid) là một trong những hãng tiên phong trong lĩnh vực grid, cung cấp nhiều dịch vụ, tư liệu nghiên cứu, phần mềm và phần cứng cho grid. Grid là thành phần trung tâm trong mô hình điện toán tự động của IBM. Hãng còn hợp tác với nhiều công ty khác để ứng dụng grid, như với Avaki, DataSynapse và Akamai.




Hewlett-Packard (hp.com) đưa ra giải pháp Adaptive Enterprise cung cấp nhiều sản phẩm và dịch vụ grid. Ví dụ như Utility Data Center cho phép cấp phát nhanh tài nguyên, làm việc với nhiều sản phẩm và dịch vụ grid dựa trên các chuẩn OGSA. Ngoài ra, HP còn đưa ra Grid Software Infrastructure (cơ sở hạ tầng phần mềm lưới) được xây dựng trên nền HP OpenView.

DataSynapse (datasynapse.com) đi theo hướng tiếp cận grid khác, định hướng từ phía ứng dụng. Sản phẩm GridServer cung cấp môi trường làm việc, cho phép chuyển các ứng dụng hiện tại sang môi trường grid.

Ngoài ra còn có nhiều công ty khác tham gia phát triển grid như: Avaki Corp. (avaki.com) với sản phẩm Data Grid cho phép hợp nhất dữ liệu trên toàn mạng, Platform Computing (platform.com) cung cấp các phần mềm tập hợp tài nguyên và kiến trúc cho ứng dụng grid, Sun Microsystems (sun.com) với hệ thống N1 Grid kết hợp grid và cluster, Dell (dell.com) hợp tác với Platform Computing cung cấp hệ thống grid tập hợp sức mạnh CPU, Ascential (ascential.com) với Enterprise Integration Platform cung cấp hệ thống grid tập hợp dữ liệu, SAP AG (sap.com) với dự án thí điểm cho ứng dụng SAP hỗ trợ grid, United Devices (ud.com) cung cấp phần mềm và dịch vụ grid theo nhu cầu.

Phát triển và... phân hóa?

Thoạt đầu, grid được định nghĩa là "cơ sở hạ tầng phần cứng và phần mềm cung cấp khả năng tính toán cao cấp với chi phí thấp, linh hoạt và tin cậy". Định nghĩa này tập trung vào phương diện tính toán. Sau đó, grid đã được mở rộng, chú trọng hơn đến việc chia sẻ tài nguyên, tính phối hợp, quản lý và hiệu suất.

Theo các nhà phân tích và giới CNTT, hiện có ít nhất 3 loại grid. Thường người dùng nghĩ đến grid tính toán; các doanh nghiệp thì nghĩ đến grid dữ liệu cung cấp phương thức trao đổi dữ liệu nội bộ hay với bên ngoài nhằm mục đích khai thác dữ liệu và hỗ trợ việc ra quyết định (ví dụ như các hệ thống chia sẻ nhạc LimeWire và Kazaa); trong khi đó, grid cộng tác cho phép người dùng phân tán chia sẻ và làm việc với nhau trên các tập dữ liệu lớn (ví dụ, NEESgrid, www.neesgrid.com, cho phép các nhà nghiên cứu động đất lập thành nhóm làm việc ảo để chia sẻ dữ liệu và cả thiết bị nghiên cứu). Ngoài ra còn có những loại grid khác vẫn đang tiếp tục phát triển.




Có những khác biệt giữa các cách tiếp cận grid cũng như ứng dụng grid. Tuy nhiên, điều này không thật sự có ý nghĩa đối với người dùng cuối, điều mà người dùng quan tâm đó là tăng tốc ứng dụng và cải thiện hiệu suất làm việc. Tính toán và dữ liệu không hoàn toàn tách biệt, ứng dụng luôn cần đồng thời cả hai tài nguyên này. Thay vì phân biệt grid tính toán và grid dữ liệu, chúng ta có thể xem chúng như là một dạng dịch vụ.

Một vấn đề khác là việc xếp loại phần mềm grid. IBM và HP cho rằng phần mềm grid là middleware (phần mềm lớp giữa) được đặt trên lớp dịch vụ web. Orcale xếp nó vào loại phần mềm quản lý. DataSynapse thì cho rằng phần mềm grid là kết hợp của middleware và môi trường làm việc thế hệ mới, tạo nên môi trường làm việc ảo. Platform Computing xem phần mềm grid thuộc lớp giữa ứng dụng và các dịch vụ hệ điều hành, khác với middleware truyền thống.

Đầy hứa hẹn, nhưng...




Dù theo hướng tiếp cận nào grid cũng hứa hẹn đem đến những lợi ích chưa từng có so với các kiến trúc điện toán trước đây. Những tiến bộ của phần cứng và phần mềm gần đây đã cho phép doanh nghiệp khai thác lợi ích của grid. Nâng cấp là một trong những lợi ích chính của grid. Các hệ thống đơn lẻ (năng lực xử lý thấp, giá rẻ) được kết hợp lại để hình thành một hệ thống "ảo" khổng lồ (như siêu máy tính), cho phép người dùng truy cập tài nguyên không hạn chế tùy theo nhu cầu. Khi thêm vào một hệ thống mới, sức mạnh của nó sẽ được bổ sung cho toàn mạng. Đối với nhiều người, khả năng nâng cấp chỉ mới là một nửa lợi ích của grid, một nửa còn lại là sử dụng tối ưu các tài nguyên hiện có.

Ứng viên tốt nhất cho grid là các ứng dụng thực hiện cùng tác vụ tính toán hoặc tương tự trên hàng ngàn hay hàng triệu mẩu dữ liệu, và không phụ thuộc phép tính trước nó. Tuy nhiên, hiện tồn tại nhiều ứng dụng không hỗ trợ grid - đặc biệt là những ứng dụng phụ thuộc vào thao tác dữ liệu hơn là năng lực xử lý của CPU, như các ứng dụng kế toán và quản lý doanh nghiệp. Những ứng dụng như vậy thường thực hiện nhiều tác vụ xử lý trên một khối lớn dữ liệu, với mỗi tác vụ lệ thuộc vào tác vụ trước. Nói chung, những ứng dụng như vậy làm việc tốt hơn trên máy có 1 CPU.

Một vấn đề khác liên quan đến chính sách giá và cấp phép sử dụng. Việc định giá theo CPU hay theo số người kết nối thường chỉ có ý nghĩa trong thế giới tương đối "tĩnh", nhưng với grid, một ứng dụng có thể chạy cùng lúc trên hàng chục bộ xử lý và cũng có lúc không có CPU nào dùng đến. Việc tính phí từng CPU sẽ cản trở grid đến với người dùng, nhưng việc áp dụng "mua một lần, dùng ở khắp nơi" sẽ làm phá sản các hãng phần mềm.

Tuy còn những trở ngại nhưng grid đã thực sự bước ra môi trường hàn lâm để xâm nhập cuộc sống. Thực tế ứng dụng sẽ tìm ra giải pháp cho mọi vướng mắc. Tương lai của grid rộng mở. Theo dự báo của các chuyên gia công nghệ, grid sẽ là một trong những chủ đề nóng từ năm 2005 trở đi, vấn đề được quan tâm giờ đây không còn là "grid là gì?" mà đã chuyển thành "ứng dụng grid như thế nào?".

CÁC MÔ HÌNH ĐIÊN TOÁN LIÊN QUAN

• Cluster: Tập hợp các máy với cấu hình cố định được thiết kế để làm việc và quản lý như một máy duy nhất. Khác với mô hình điện toán lưới trong đó các tài nguyên có thể kết hợp vào hoặc tách ra khi cần thiết.
• Distributed computing: Kết nối các tài nguyên điện toán trên mạng nhằm mục đích tập hợp sức mạnh các bộ xử lý. Phát sinh từ nhu cầu năng lực xử lý cho các tính toán khoa học.
• Grid computing: Kết nối kho lưu trữ, dữ liệu và CPU từ nhiều hệ thống thành một môi trường điện toán quản lý tập trung nhưng linh hoạt. Môi trường điện toán lưới cho phép quản lý tài nguyên phân tán của các hệ thống không đồng nhất.
• Utility computing: một trong nhiều cụm từ mô tả mô hình nghiệp vụ cho phép người dùng truy cập tài nguyên điện toán theo nhu cầu. (Những cụm từ khác như "autonomic computing", "on-demand computing", "adaptive computing"...)



Phương Uyên

THAM KHẢO

• Grid.org
• Gridcomputingplanet.com
www.ibm.com/grid
www.oracle.com/grid