
Một nhà khoa học nghiên cứu về protein đăng nhập vào máy tính và sử dụng toàn bộ mạng máy tính để phân tích dữ liệu. Một doanh nhân truy cập mạng lưới của công ty mình thông qua PDA để dự báo tương lai của một loại cổ phiếu cụ thể . Một quan chức quân đội truy cập và điều phối các tài nguyên máy tính trên ba mạng quân sự khác nhau để lập chiến lược chiến đấu. Tất cả các kịch bản này đều có một điểm chung: Chúng dựa trên một khái niệm gọi là điện toán lưới .
Ở cấp độ cơ bản nhất, điện toán lưới là một mạng máy tính trong đó tài nguyên của mỗi máy tính được chia sẻ với mọi máy tính khác trong hệ thống. Sức mạnh xử lý, bộ nhớ và lưu trữ dữ liệu là tất cả các tài nguyên cộng đồng mà người dùng được ủy quyền có thể khai thác và tận dụng cho các tác vụ cụ thể. Hệ thống điện toán lưới có thể đơn giản như một tập hợp các máy tính tương tự chạy trên cùng một hệ điều hành hoặc phức tạp như các hệ thống liên mạng bao gồm mọi nền tảng máy tính mà bạn có thể nghĩ đến.
Khái niệm điện toán lưới không phải là một khái niệm mới. Đó là một loại máy tính phân tán đặc biệt. Trong máy tính phân tán, các máy tính khác nhau trong cùng một mạng chia sẻ một hoặc nhiều tài nguyên. Trong hệ thống điện toán lưới lý tưởng, mọi tài nguyên đều được chia sẻ, biến một mạng máy tính thành một siêu máy tính mạnh mẽ. Với giao diện người dùng phù hợp, việc truy cập vào một hệ thống điện toán lưới sẽ trông không khác gì so với việc truy cập vào tài nguyên của một máy cục bộ. Mọi máy tính được ủy quyền sẽ có quyền truy cập vào sức mạnh xử lý và dung lượng lưu trữ khổng lồ.
Mặc dù khái niệm này không mới, nhưng nó cũng chưa được hoàn thiện. Các nhà khoa học máy tính, lập trình viên và kỹ sư vẫn đang làm việc để tạo, thiết lập và triển khai các tiêu chuẩn và giao thức. Ngay bây giờ, nhiều hệ thống máy tính lưới hiện có dựa trên phần mềm và công cụ độc quyền. Một khi mọi người đồng ý về một bộ tiêu chuẩn và giao thức đáng tin cậy, các tổ chức sẽ dễ dàng và hiệu quả hơn khi áp dụng mô hình điện toán lưới.
Vậy chính xác thì hệ thống điện toán lưới là gì? Hãy đọc để tìm hiểu.
- Tổng quan về điện toán lưới
- Grid Computing Lexicon
- Chia sẻ tài nguyên
- Mối quan tâm về Grid Computing
- Ứng dụng điện toán lưới
Tổng quan về điện toán lưới
Hệ thống điện toán lưới hoạt động trên nguyên tắc tài nguyên được gộp chung. Giả sử bạn và một vài người bạn quyết định đi cắm trại. Bạn sở hữu một căn lều lớn, vì vậy bạn đã tình nguyện chia sẻ nó với những người khác. Một trong những người bạn của bạn đề nghị mang thức ăn và một người khác nói rằng anh ta sẽ chở cả nhóm lên bằng chiếc SUV của mình. Một lần trong chuyến đi, ba bạn chia sẻ những kiến thức và kỹ năng của mình để chuyến đi vui vẻ và thoải mái. Nếu bạn đã tự mình thực hiện chuyến đi, bạn sẽ cần nhiều thời gian hơn để thu thập các nguồn lực cần thiết và có thể bạn sẽ phải làm việc chăm chỉ hơn rất nhiều trong chính chuyến đi.
Hệ thống điện toán lưới sử dụng khái niệm tương tự: chia sẻ tải trên nhiều máy tính để hoàn thành nhiệm vụ hiệu quả và nhanh chóng hơn. Trước khi đi sâu hơn, chúng ta hãy xem nhanh các tài nguyên của máy tính:
- Khối xử lý trung tâm (CPU) : CPU là một bộ vi xử lý thực hiện các phép toán và chuyển hướng dữ liệu đến các vị trí bộ nhớ khác nhau. Máy tính có thể có nhiều CPU.
- Bộ nhớ : Nói chung, bộ nhớ của máy tính là một loại bộ nhớ điện tử tạm thời. Bộ nhớ giữ cho dữ liệu liên quan luôn gần gũi với bộ vi xử lý. Nếu không có bộ nhớ, bộ vi xử lý sẽ phải tìm kiếm và truy xuất dữ liệu từ một thiết bị lưu trữ lâu dài hơn như ổ đĩa cứng.
- Lưu trữ : Theo thuật ngữ điện toán lưới, lưu trữ đề cập đến các thiết bị lưu trữ dữ liệu vĩnh viễn như ổ đĩa cứng hoặc cơ sở dữ liệu.
Thông thường, một máy tính chỉ có thể hoạt động trong giới hạn tài nguyên của chính nó. Có một giới hạn trên về tốc độ nó có thể hoàn thành một hoạt động hoặc lượng thông tin nó có thể lưu trữ. Hầu hết các máy tính đều có thể nâng cấp, có nghĩa là có thể thêm nhiều điện năng hoặc dung lượng hơn vào một máy tính, nhưng đó vẫn chỉ là sự gia tăng hiệu suất.
Hệ thống điện toán lưới liên kết các tài nguyên máy tính với nhau theo cách cho phép ai đó sử dụng một máy tính để truy cập và tận dụng sức mạnh thu thập được của tất cả các máy tính trong hệ thống. Đối với người dùng cá nhân, nó như thể máy tính của người dùng đã biến thành một siêu máy tính.
Nếu bạn đọc một báo cáo về điện toán lưới, bạn sẽ bắt gặp rất nhiều thuật ngữ và biệt ngữ bất thường. Tất cả nó có nghĩa gì? Hãy đọc để tìm hiểu.
Nhiều khía cạnh của điện toán lưới
Điện toán lưới vẫn là một lĩnh vực đang phát triển và có liên quan đến một số hệ thống tính toán sáng tạo khác, một số trong số đó là các tiểu thể loại của điện toán lưới. Máy tính chia sẻ thường đề cập đến một tập hợp các máy tính chia sẻ sức mạnh xử lý để hoàn thành một tác vụ cụ thể. Sau đó, có một hệ thống phần mềm dưới dạng dịch vụ ( SaaS ) được gọi là điện toán tiện ích , trong đó một công ty cung cấp các dịch vụ cụ thể (chẳng hạn như lưu trữ dữ liệu hoặc tăng sức mạnh bộ xử lý) với chi phí được đo lường. Điện toán đám mây là một hệ thống trong đó các ứng dụng và lưu trữ "sống" trên Web chứ không phải trên máy tính của người dùng.
Grid Computing Lexicon
Đọc về điện toán lưới có thể rất khó hiểu nếu bạn không biết thuật ngữ. Dưới đây là tóm tắt nhanh về một số thuật ngữ bạn có thể gặp phải khi thảo luận về điện toán lưới:
- Cluster : Một nhóm các máy tính nối mạng chia sẻ cùng một tập hợp tài nguyên.
- Ngôn ngữ đánh dấu mở rộng ( XML ): Một ngôn ngữ máy tính mô tả dữ liệu khác và máy tính có thể đọc được. Các nút điều khiển (một nút là bất kỳ thiết bị nào được kết nối với mạng có thể truyền, nhận và định tuyến lại dữ liệu) dựa trên các ngôn ngữ XML như Ngôn ngữ Mô tả Dịch vụ Web ( WSDL ). Thông tin trong các ngôn ngữ này cho nút điều khiển biết cách xử lý dữ liệu và ứng dụng.
- Trung tâm : Một điểm trong mạng nơi các thiết bị khác nhau kết nối với nhau.
- Môi trường phát triển tích hợp ( IDE ): Các công cụ và phương tiện mà các lập trình viên máy tính cần để tạo các ứng dụng cho một nền tảng. Thuật ngữ cho nền tảng thử nghiệm ứng dụng là hộp cát .
- Khả năng tương tác : Khả năng phần mềm hoạt động trong các môi trường hoàn toàn khác nhau. Ví dụ, một mạng máy tính có thể bao gồm cả PC và máy tính Macintosh . Nếu không có phần mềm tương thích, những máy tính này sẽ không thể hoạt động cùng nhau vì hệ điều hành và kiến trúc khác nhau của chúng.
- Tiêu chuẩn mở : Một kỹ thuật tạo ra các tiêu chuẩn công khai. Không giống như các tiêu chuẩn độc quyền, có thể thuộc về một tổ chức duy nhất, bất kỳ ai cũng có thể áp dụng và sử dụng một tiêu chuẩn mở. Các ứng dụng dựa trên các tiêu chuẩn mở giống nhau dễ tích hợp hơn các ứng dụng được xây dựng trên các tiêu chuẩn độc quyền khác nhau.
- Xử lý song song : Sử dụng nhiều CPU để giải quyết một vấn đề tính toán duy nhất. Điều này có liên quan chặt chẽ đến tính toán chia sẻ, sử dụng các tài nguyên chưa được khai thác trên mạng để đạt được một nhiệm vụ.
- Nền tảng : Nền tảng mà các nhà phát triển có thể tạo ứng dụng. Nền tảng có thể là hệ điều hành, kiến trúc của máy tính, ngôn ngữ máy tính hoặc thậm chí là một trang Web .
- Máy chủ trang trại : Một cụm máy chủ được sử dụng để thực hiện các tác vụ quá phức tạp đối với một máy chủ duy nhất.
- Ảo hóa máy chủ : Một kỹ thuật trong đó ứng dụng phần mềm chia một máy chủ vật lý thành nhiều nền tảng máy chủ độc quyền (máy chủ ảo). Mỗi máy chủ ảo có thể chạy hệ điều hành riêng độc lập với các máy chủ ảo khác. Các hệ điều hành không nhất thiết phải giống nhau - nói cách khác, một máy duy nhất có thể có một máy chủ ảo hoạt động như một máy chủ Linux và một máy khác chạy nền tảng Windows. Nó hoạt động vì hầu hết thời gian, các máy chủ không chạy ở bất kỳ đâu gần hết công suất. Hệ thống điện toán lưới cần nhiều máy chủ để xử lý các tác vụ khác nhau và máy chủ ảo giúp cắt giảm chi phí phần cứng.
- Dịch vụ : Trong điện toán lưới, dịch vụ là bất kỳ hệ thống phần mềm nào cho phép các máy tính tương tác với nhau qua mạng.
- Giao thức truy cập đối tượng đơn giản (SOAP): Một tập hợp các quy tắc để trao đổi thông điệp được viết bằng XML trên một mạng. Microsoft chịu trách nhiệm phát triển giao thức.
- Trạng thái: Trong thế giới CNTT, trạng thái là bất kỳ loại dữ liệu liên tục nào. Đó là thông tin tiếp tục tồn tại ở một số hình thức ngay cả sau khi được sử dụng trong một ứng dụng. Ví dụ: khi bạn chọn sách để chuyển vào giỏ hàng Amazon.com , thông tin ở trạng thái rõ ràng - Amazon theo dõi lựa chọn của bạn khi bạn duyệt qua các khu vực khác của trang Web. Các dịch vụ trạng thái giúp bạn có thể tạo các ứng dụng có nhiều bước nhưng dựa trên cùng một dữ liệu cốt lõi.
- Tạm thời: Khả năng kích hoạt hoặc hủy kích hoạt một dịch vụ trên toàn mạng mà không ảnh hưởng đến các hoạt động khác.
Vậy chính xác thì hệ thống điện toán lưới liên kết các tài nguyên máy tính với nhau như thế nào? Tìm hiểu trong phần tiếp theo.
Chia sẻ tài nguyên
Một số công ty và tổ chức đang làm việc cùng nhau để tạo ra một bộ quy tắc tiêu chuẩn hóa được gọi là giao thức để giúp thiết lập môi trường điện toán lưới dễ dàng hơn. Có thể tạo một hệ thống điện toán lưới ngay bây giờ và một số hệ thống đã tồn tại. Nhưng điều còn thiếu là một cách tiếp cận đã được thống nhất. Điều đó có nghĩa là hai hệ thống tính toán lưới khác nhau có thể không tương thích với nhau, bởi vì mỗi hệ thống đang làm việc với một bộ giao thức và công cụ duy nhất.
Nói chung, một hệ thống điện toán lưới yêu cầu:
- Ít nhất một máy tính, thường là một máy chủ, xử lý tất cả các nhiệm vụ quản trị cho hệ thống. Nhiều người gọi loại máy tính này như một nút điều khiển. Các máy chủ ứng dụng và Web khác (cả vật lý và ảo) cung cấp các dịch vụ cụ thể cho hệ thống.
- Một mạng máy tính chạy phần mềm mạng điện toán lưới đặc biệt. Những máy tính này hoạt động như một điểm giao diện cho người dùng và là tài nguyên mà hệ thống sẽ khai thác cho các ứng dụng khác nhau. Hệ thống điện toán lưới có thể bao gồm một số máy tính giống nhau chạy trên cùng một hệ điều hành (được gọi là hệ thống đồng nhất) hoặc một nhóm các máy tính khác nhau chạy trên mọi hệ điều hành có thể tưởng tượng được (một hệ thống không đồng nhất). Mạng có thể là bất cứ thứ gì từ một hệ thống có dây cứng trong đó mọi máy tính kết nối với hệ thống bằng dây vật lý đến một hệ thống mở nơi các máy tính kết nối với nhau qua Internet .
- Một tập hợp các phần mềm máy tính được gọi là phần mềm trung gian. Mục đích của phần mềm trung gian là cho phép các máy tính khác nhau chạy một quy trình hoặc ứng dụng trên toàn bộ mạng máy tính. Phần mềm trung gian là workhorse của hệ thống điện toán lưới. Nếu không có nó, giao tiếp trên toàn hệ thống sẽ không thể thực hiện được. Giống như phần mềm nói chung, không có định dạng duy nhất cho phần mềm trung gian.
Nếu phần mềm trung gian là workhorse của hệ thống điện toán lưới, thì nút điều khiển là bộ điều phối. Nút điều khiển phải sắp xếp thứ tự ưu tiên và lên lịch cho các tác vụ trên toàn mạng. Nhiệm vụ của nút điều khiển là xác định tài nguyên mà mỗi tác vụ sẽ có thể truy cập. Nút điều khiển cũng phải giám sát hệ thống để đảm bảo rằng nó không bị quá tải. Điều quan trọng nữa là mỗi người dùng được kết nối với mạng không bị sụt giảm hiệu suất máy tính của họ. Hệ thống điện toán lưới nên khai thác các tài nguyên máy tính không sử dụng mà không ảnh hưởng đến mọi thứ khác.
The potential for grid computing applications is limitless, providing everyone agrees on standardized protocols and tools. That's because without a standard format, third-party developers -- independent programmers who want to create applications on the grid computing platform -- often lack the ability to create applications that work on different systems. While it's possible to make different versions of the same application for different systems, it's time consuming and many developers don't want to do the same work twice. A standardized set of protocols means that developers could concentrate on one format while creating applications.
What are some of the criticisms and concerns people have about grid computing? Keep reading to find out.
Movers and Shakers
- The Open Grid Forum (OGF), which created an important set of standards called the Open Grid Services Architecture (OGSA).
- IBM
- Microsoft
- The Organization for the Advancement of Structured Information Standards (OASIS), a nonprofit consortium.
- The Globus Alliance, an international collaboration of computer scientists.
Concerns about Grid Computing
Whenever you link two or more computers together, you have to prepare yourself for certain questions. How do you keep personal information private? How do you protect the system from malicious hackers ? How do you control who can access the system and use its resources? How do you make sure the user doesn't tie up all the system's resources ?
The short answer to this question is middleware. There's nothing inherent in a grid computing system that can answer these questions. The emerging protocols for grid computing systems are designed to make it easier for developers to create applications and to facilitate communication between computers.
The most prevalent technique computer engineers use to protect data is encryption . To encrypt data is to encode it so that only someone possessing the appropriate key can decode the data and access it. Ironically, a hacker could conceivably create a grid computing system for the purpose of cracking encrypted information. Because encryption techniques use complicated to encode data, it would take a normal computer several years to crack a code (which usually involves finding the two largest prime divisors of an incredibly large number). With a powerful enough grid computing system, a hacker might find a way to reduce the time it takes to decipher encrypted data.
It's hard to protect a system from hackers, particularly if the system relies on open standards. Every computer in a grid computing system has to have specific software to be able to connect and interact with the system as a whole -- computers don't know how to do it on their own. If the computer system's software is proprietary, it might be harder (but not impossible) for a hacker to access the system.
In most grid computing systems, only certain users are authorized to access the full capabilities of the network. Otherwise, the control node would be flooded with processing requests and nothing would happen (a situation called deadlock in the IT business). It's also important to limit access for security purposes. For that reason, most systems have authorization and authentication protocols. These protocols limit network access to a select number of users. Other users are still able to access their own machines, but they can't leverage the entire network.
The middleware and control node of a grid computing system are responsible for keeping the system running smoothly. Together, they control how much access each computer has to the network's resources and vice versa. While it's important not to let any one computer dominate the network, it's just as important not to let network applications take up all the resources of any one computer. If the system robs users of computing resources, it's not an efficient system.
How are people using grid computing systems right now? Keep reading to find out.
Grid Computing Applications
There are several grid computing systems, though most of them only fit part of the definition of a true grid computing system. Academic and research organization projects account for many of the systems currently in operation. These systems take advantage of unused computer processing power. The most accurate term for such a network is a shared computing system.
The Search for Extraterrestrial Intelligence (SETI ) project is one of the earliest grid computing systems to gain popular attention. The mission of the SETI project is to analyze data gathered by radio telescopes in search of evidence for intelligent alien communications. There's far too much information for a single computer to analyze effectively. The SETI project created a program called SETI@home , which networks computers together to form a virtual supercomputer instead.
A similar program is the Folding@home project administered by the Pande Group, a nonprofit institution in Stanford University's chemistry department. The Pande Group is studying proteins. The research includes the way proteins take certain shapes, called folds, and how that relates to what proteins do. Scientists believe that protein "misfolding" could be the cause of diseases like Parkinson's or Alzheimer's . It's possible that by studying proteins, the Pande Group may discover new ways to treat or even cure these diseases.
There are dozens of similar active grid computing projects. Many of these projects aren't persistent, which means that once the respective project's goals are met, the system will dissolve. In some cases, a new, related project could take the place of the completed one.
While each of these projects has its own unique features, in general, the process of participation is the same. A user interested in participating downloads an application from the respective project's Web site . After installation, the application contacts the respective project's control node. The control node sends a chunk of data to the user's computer for analysis. The software analyzes the data, powered by untapped CPU resources. The project's software has a very low resource priority -- if the user needs to activate a program that requires a lot of processing power, the project software shuts down temporarily. Once CPU usage returns to normal, the software begins analyzing data again.
Eventually, the user's computer will complete the requested data analysis. At that time, the project software sends the data back to the control node, which relays it to the proper database. Then the control node sends a new chunk of data to the user's computer, and the cycle repeats itself. If the project attracts enough users, it can complete ambitious goals in a relatively short time span.
As grid computing systems' sophistication increases, we'll see more organizations and corporations create versatile networks. There may even come a day when corporations internetwork with other companies. In that environment, computational problems that seem impossible now may be reduced to a project that lasts a few hours. We'll have to wait and see.
Để tìm hiểu thêm về điện toán lưới và các chủ đề liên quan, hãy xem các liên kết trên trang sau.
Protein đến Protein
Dự án So sánh Bộ gen, một dự án nghiên cứu so sánh trình tự protein của hơn 3.500 sinh vật với nhau, bắt đầu vào ngày 20 tháng 12 năm 2006. Đến ngày 21 tháng 7 năm 2007, dự án đã đạt được tất cả các mục tiêu của mình bằng cách sử dụng hệ thống điện toán lưới.
Nhiều thông tin hơn
Những bài viết liên quan
- Cách thức hoạt động của tin tặc
- Cách hoạt động của mạng gia đình
- Cơ sở hạ tầng Internet hoạt động như thế nào
- Cách thức hoạt động của các công cụ tìm kiếm trên Internet
- Cách hoạt động của bộ vi xử lý
- Máy tính lượng tử sẽ hoạt động như thế nào
- Cách hoạt động của web ngữ nghĩa
- Cách các trang web hoạt động
- Cách máy chủ web hoạt động
- Cách hoạt động của blog
- Cách hoạt động của thương mại điện tử
- Cách hoạt động của mã hóa
Các liên kết tuyệt vời hơn
- Liên minh Globus
- Trung tâm thông tin điện toán lưới
- Hành tinh điện toán lưới
- Máy tính IBM Grid
- Mở Diễn đàn lưới
Nguồn
- "7 điều bạn nên biết về Grid Computing." Sáng kiến giáo dục học tập. Tháng 1 năm 2006.
- Brown, Martin. "So sánh lưới truyền thống với tính toán hiệu suất cao." IBM. Ngày 13 tháng 6 năm 2006.
- "Phá vỡ bế tắc." Đánh giá Kinh doanh Máy tính. Ngày 1 tháng 1 năm 2004. Truy cập ngày 13 tháng 3 năm 2008. http://www.cbronline.com/article_cbr.asp?guid=A3BC3CEC-55A6-4EBD-B306-4B3F0009F388
- Foster, Ian, et al. "Giải phẫu của lưới." Liên minh Globus. Năm 2001.
- Foster, Ian, et al. "Sinh lý học của lưới." Liên minh Globus. Ngày 22 tháng 6 năm 2002.
- "Điện toán lưới mở rộng phạm vi tiếp cận của nó." Tuần lễ CNTT. Ngày 17 tháng 12 năm 2007. Truy cập ngày 10 tháng 3 năm 2008.
- Trung tâm Thông tin Điện toán Lưới. http://www.gridcomputing.com/
- Joseph, Joshy và Fellenstein, Craig. "Điện toán lưới." Báo chí IBM. Năm 2004.
- Kay, Russell. "Kiến trúc dịch vụ lưới mở." Thế giới máy tính. Ngày 5 tháng 11 năm 2007. Tập. 41, Số phát hành. 45. trg. 36.
- Kourpas, Elias. "Điện toán lưới: Quá khứ, Hiện tại và Tương lai." IBM. Tháng 6 năm 2006.
- Lorek, LA "Thời gian chết của máy tính tăng lên để giải quyết các vấn đề của thế giới." San Antonio Express-News. Ngày 12 tháng 2 năm 2005. trg. 1 K.
- McAllister, Neil. "Ảo hóa máy chủ." InfoWorld. Ngày 12 tháng 2 năm 2007. Truy cập ngày 12 tháng 3 năm 2008. http://www.infoworld.com/article/07/02/12/07FEvirtualserv_1.html
- "Phần mềm trung gian." Viện Kỹ thuật Phần mềm Carnegie Mellon. Truy cập ngày 12 tháng 3 năm 2004. http://www.sei.cmu.edu/str/descriptions/middleware_body.html.
- Mullins, Robert. "Một cái nhìn tương lai về sức mạnh trung tâm dữ liệu." Thế giới mạng. Ngày 18 tháng 2 năm 2008. Tập. 25, Số phát hành. 7. pg. 46.
- "New Software, Tools Ease Internet Collaboration and Grid Computing." NSF News. May 7, 2002. Retrieved March 10, 2008. http://www.nsf.gov/od/lpa/news/02/pr0238.htm
- "New to grid computing." IBM developer Works. Retrieved March 13, 2008. http://www.ibm.com/developerworks/grid/newto/
- Rist, Oliver. "The Grid Takes Over." PC Magazine. Jan. 2008. Vol. 27, Issue 1/2. p. 81-82.
- Skerrett, P.J. "Future Computers: The Teraflops Race." Popular Science. March 1992. pg. 50.
- Tuecke, S. et al. "Open Grid Services Infrastructure (OGSI) Version 1.0." Global Grid Forum. June 27, 2003.
- "Web Services." Sams Publishing. Retrieved from Developer Shed, March 12, 2008. http://www.devarticles.com/c/a/Web-Services/Web-Services-and-Stateful-Resources/