Cách hoạt động của máy tính dùng chung

Apr 09 2008
Thay vì cài đặt một siêu máy tính trong nhà, điều gì sẽ xảy ra nếu bạn mua nhiều máy tính thông thường? Đó là ý tưởng đằng sau máy tính chia sẻ. Nhưng làm thế nào nó hoạt động?
Trong hệ thống máy tính dùng chung, người dùng có thể truy cập sức mạnh xử lý của toàn bộ mạng máy tính.

Hãy tưởng tượng rằng bạn đã được giao nhiệm vụ đẩy một chiếc xe rất nặng lên đồi. Bạn được phép tuyển những người không làm bất cứ việc gì khác để giúp bạn di chuyển xe. Bạn có hai sự lựa chọn: Bạn có thể tìm kiếm một người đủ lớn và mạnh mẽ để làm tất cả một mình, hoặc bạn có thể lấy một số người bình thường để thúc đẩy cùng nhau. Mặc dù cuối cùng bạn có thể tìm được ai đó đủ lớn để đẩy xe một mình, nhưng hầu hết mọi trường hợp sẽ dễ dàng hơn nếu chỉ tập hợp một nhóm người có kích thước trung bình. Nghe có vẻ lạ, nhưng các hệ thống máy tính dùng chung sử dụng cùng một nguyên tắc.

Khi một vấn đề tính toán thực sự phức tạp, một máy tính có thể mất nhiều thời gian để xử lý nó - trong một số trường hợp, hàng triệu ngày. Ngay cả siêu máy tính cũng có những hạn chế về xử lý. Chúng cũng hiếm và đắt tiền. Nhiều cơ sở nghiên cứu đòi hỏi nhiều sức mạnh tính toán, nhưng không có quyền truy cập vào siêu máy tính. Đối với các tổ chức này, máy tính dùng chung thường là một giải pháp thay thế hấp dẫn cho các siêu máy tính.

Máy tính chia sẻ là một loại máy tính hiệu suất cao . Hệ thống máy tính dùng chung là một mạng lưới các máy tính làm việc cùng nhau để hoàn thành một nhiệm vụ cụ thể. Mỗi máy tính đóng góp một phần sức mạnh xử lý của nó - và đôi khi là các tài nguyên khác - để giúp đạt được mục tiêu. Bằng cách kết nối hàng nghìn máy tính với nhau, một hệ thống máy tính dùng chung có thể ngang bằng hoặc thậm chí vượt qua sức mạnh xử lý của một siêu máy tính.

Hầu hết thời gian, máy tính của bạn không sử dụng tất cả các tài nguyên tính toán của nó. Có những lúc khác, bạn có thể bật máy tính của mình nhưng không thực sự sử dụng nó. Hệ thống máy tính dùng chung tận dụng những tài nguyên này mà nếu không sẽ không được sử dụng.

Hệ thống máy tính dùng chung rất tốt cho một số vấn đề phức tạp nhất định, nhưng không hữu ích cho những hệ thống khác. Chúng có thể phức tạp để thiết kế và quản trị. Trong khi một số nhà khoa học máy tính đang tìm cách chuẩn hóa các hệ thống máy tính dùng chung, thì nhiều hệ thống hiện có dựa trên phần cứng, phần mềm và kiến ​​trúc độc đáo.

Những phần nào tạo nên một hệ thống máy tính dùng chung điển hình? Hãy đọc để tìm hiểu.

­

Nội dung
  1. Hệ thống máy tính dùng chung
  2. Kiến trúc máy tính dùng chung
  3. Ứng dụng điện toán dùng chung
  4. Mối quan tâm về Máy tính dùng chung

Hệ thống máy tính dùng chung

Trong một hệ thống máy tính hiệu suất cao truyền thống, tất cả các máy tính đều có cùng một kiểu máy và chạy trên cùng một hệ điều hành. Phần lớn thời gian, mọi ứng dụng chạy trên hệ thống đều có máy chủ chuyên dụng riêng . Đôi khi toàn bộ mạng dựa vào các kết nối có dây cứng, nghĩa là tất cả các phần tử trong hệ thống kết nối với nhau thông qua các trung tâm khác nhau. Toàn bộ hệ thống hoạt động hiệu quả và thanh lịch.

Một hệ thống máy tính dùng chung có thể hiệu quả như nhau, nhưng nó không nhất thiết phải trông thật trang nhã. Hệ thống máy tính dùng chung chỉ bị giới hạn bởi phần mềm mà nó dựa vào để kết nối các máy tính với nhau. Với phần mềm phù hợp, hệ thống máy tính dùng chung có thể hoạt động trên các loại máy tính khác nhau chạy trên các hệ điều hành khác nhau. Các kết nối mạng có thể tồn tại qua mạng dây cứng, mạng cục bộ ( LAN ), mạng khu vực không dây (WAN) hoặc Internet. Ưu điểm lớn nhất của hệ thống máy tính dùng chung so với các hệ thống HPC truyền thống là việc bổ sung nhiều tài nguyên hơn vào hệ thống máy tính dùng chung dễ dàng hơn. Bất kỳ ai có máy tính có khả năng chạy phần mềm của hệ thống đều có thể tham gia.

Phần mềm của hệ thống là thứ cho phép nó truy cập vào sức mạnh xử lý chưa sử dụng của mỗi máy tính. Mọi máy tính kết nối với hệ thống đều phải cài đặt phần mềm này để tham gia. Không có bộ phần mềm máy tính dùng chung hoàn chỉnh nào, nhưng nói chung phần mềm phải thực hiện những việc sau:

  • Liên hệ với máy chủ quản trị của hệ thống để lấy một phần dữ liệu
  • Giám sát việc sử dụng CPU của máy tính chủ và sử dụng sức mạnh xử lý bất cứ khi nào có sẵn
  • Gửi dữ liệu đã phân tích trở lại máy chủ quản trị để đổi lấy dữ liệu mới

Hệ thống máy tính dùng chung có mục đích sử dụng tương đối hẹp. Chúng rất tốt để giải quyết các vấn đề tính toán lớn mà các nhà khoa học có thể chia thành các phần nhỏ hơn. Nếu việc chia vấn đề thành nhiều phần nhỏ đặc biệt đơn giản, nó được gọi là một vấn đề song song đáng xấu hổ .

Đối với các vấn đề tính toán nhỏ hoặc các vấn đề không dễ giải quyết, các hệ thống máy tính dùng chung ít hữu ích hơn. Toàn bộ điểm của hệ thống là giảm lượng thời gian cần thiết để hoàn thành các phép tính phức tạp. Nó không nhất thiết phải tăng tốc độ của các phép tính đơn giản trên mạng.

Các phần khác nhau của hệ thống máy tính dùng chung là gì? Hãy đọc để tìm hiểu.

Một hệ thống bởi bất kỳ tên nào khác

Bởi vì các hệ thống máy tính dùng chung sử dụng sức mạnh xử lý nhàn rỗi của hàng trăm hoặc hàng nghìn máy tính, nó còn có tên gọi là quét CPU , quét chu kỳăn cắp chu kỳ . Mỗi tên đề cập đến cách một hệ thống máy tính dùng chung khai thác vào CPU của tất cả các máy tính thuộc mạng của nó.

Kiến trúc máy tính dùng chung

Không giống như các hệ thống điện toán lưới - theo lý thuyết có thể có nhiều điểm giao diện mạng như có người dùng - một hệ thống tính toán dùng chung thường chỉ có một vài điểm kiểm soát. Đó là bởi vì hầu hết các hệ thống máy tính dùng chung đều có những mục đích cụ thể và không phải là những tiện ích chung.

It's useful to imagine a typical shared computing system as having a front end and a back end. On the front end are all the computers that are volunteering CPU resources to the project. On the back end are the computers and servers that manage the overall project, divide the main task into smaller chunks, communicate with the computers on the front end and store the information the front end computers send after completing an analysis.

In general, the job of dividing up the computational problem into smaller chunks falls to a program on a back end computer , usually a server. This computer uses specific software to divide up the task into smaller pieces that are easier for an average computer system to manage. When contacted by the companion software installed on a front end computer, the server will send data over the network for analysis. Upon receiving a completed analysis job, the server will direct the data to an appropriate database.

The system's administrators will usually use another computer to piece completed analyses together. The end goal is to come to a solution of a very large problem by solving it in tiny bits. In many cases, the system's administrators will publish the results so that others can benefit from the information.

If this architecture description seems a little vague, it's because there's no single way to create and administer a shared computing system. Each system has its own unique software and architecture. In most cases, a programmer customizes the software for the specific system's goals. While two different shared computer systems might work the same way in general, once you dig down into details, they can look very different.

What are some shared computing applications, and why do they need specialized software? Find out in the next section.

Virtual Servers

Some shared computing systems use virtual servers. To create virtual servers, an engineer installs special software on a single, physical server. The software divides the server into multiple exclusive platforms, each of which can run an operating system independently of the others. Why do this? Just as the average computer owner rarely uses all of his or her computer's processing power, it's rare for the average server to work at full capacity. Using virtual servers means that a single physical server runs closer to its full potential and reduces the need for additional hardware.

Shared Computing Applications

Scientists are using shared computing systems to analyze complex computational problems.

There are dozens of active shared computing system projects, each with its own networks and computational tasks. Some of these networks overlap -- it's possible for a user to participate in more than one network, though it does mean that different projects have to divvy up the idle resources. As a result, each individual task takes a little longer.

One example of a shared computer system is the Grid Laboratory of Wisconsin (GLOW). The University of Wisconsin-Madison uses GLOW for multiple projects, which in some ways sets it apart from most shared computing systems. One project uses the GLOW network to study the human genome. Another takes advantage of GLOW's resources to research potential treatments for cancer . Unlike the shared computing systems that are dedicated to a single task, GLOW can accommodate multiple projects.

The software that makes GLOW possible is called Condor. It's Condor's job to seek out idle processors within the GLOW network and use them to work on individual projects. When one project is inactive, Condor borrows its resources for the other projects. However, if any previously inactive project comes back online, Condor releases the respective computers' processors.

Some other shared computing systems include:

  • SETI @home: A project that analyzes data from radio telescopes in search of intelligent extraterrestrial life.
  • Africa@home: This project dedicates computer power to research programs designed to improve the quality of life in Africa with a focus on malaria control initiatives.
  • Proteins@home, Predictor@home, Rosetta@home and Folding@home: Each of these projects studies proteins in various ways.
  • Einstein@home, Cosmology@home, Milkyway@home and Orbit@home: These projects study astronomical data.

Other projects study everything from the physics of fluid dynamics to simulated nanotechnology environments.

So shared computing systems can be really useful, but are there any dangers? Read on, if you aren't scared.

Biggest. Shared Computer System. Ever.

IBM, a company that invests millions of dollars into computer science research, published a report in January 2008 about a project called "Kittyhawk." The goal of the project is to build a global shared computing system that's so large and powerful it will be able to host the Internet as an application. In other words, the system would be like an enormous computer and the Internet would just be a program on it.

Concerns About Shared Computing

Any time a system allows one computer access to another computer's resources, questions come up about safety and privacy. What stops the program's administrators from snooping around a particular user's computer ? If the administrators can tap into CPU power, can they also access files and sensitive data?

The simple answer to this question is that it depends on the software the participating computer has to install to be part of the system. Everything a shared computing system can do with an individual computer depends upon that software application. Most of the time, the software doesn't allow anyone direct access to the contents on the host computer. Everything is automated, and only the CPU's processing power is accessible.

Tuy nhiên, vẫn có những ngoại lệ. Hệ thống máy tính zombie hoặc mạng botnet là một ví dụ về hệ thống máy tính được chia sẻ độc hại. Đứng đầu là một hacker , một hệ thống máy tính thây ma biến những người sở hữu máy tính vô tội thành nạn nhân. Đầu tiên, nạn nhân phải cài đặt phần mềm cụ thể trên máy tính của mình trước khi hacker có thể truy cập. Thông thường, một ứng dụng phần mềm như vậy được ngụy trang dưới dạng một chương trình vô hại. Sau khi được cài đặt, hacker có thể truy cập vào máy tính của nạn nhân để thực hiện các tác vụ độc hại như tấn công từ chối dịch vụ trực tiếp (DDoS) hoặc gửi đi một lượng lớn thư rác . Một mạng botnet có thể trải dài hàng trăm hoặc hàng nghìn máy tính mà nạn nhân không hề hay biết chuyện gì đang xảy ra.

Hệ thống máy tính dùng chung cũng cần có kế hoạch cho những thời điểm một máy tính cụ thể hoạt động ngoại tuyến hoặc không sử dụng được trong một thời gian dài. Hầu hết các hệ thống đều có một quy trình đưa ra giới hạn thời gian cho mỗi tác vụ. Nếu máy tính của người tham gia không hoàn thành nhiệm vụ trong một khoảng thời gian nhất định, máy chủ điều khiển sẽ hủy nhiệm vụ của máy tính đó và giao nhiệm vụ cho một máy tính mới.

Một chỉ trích đối với máy tính chia sẻ là mặc dù nó tận dụng các bộ vi xử lý nhàn rỗi , nhưng nó lại làm tăng mức tiêu thụ điện năng và sản lượng nhiệt. Khi máy tính sử dụng nhiều năng lượng xử lý hơn, chúng cần nhiều điện hơn. Một số quản trị viên hệ thống máy tính dùng chung khuyến khích người tham gia luôn rời khỏi máy tính của họ để hệ thống có quyền truy cập liên tục vào tài nguyên. Đôi khi, sáng kiến ​​về hệ thống máy tính dùng chung có xung đột với các sáng kiến ​​xanh, vốn nhấn mạnh đến việc bảo tồn năng lượng .

Có lẽ lời chỉ trích lớn nhất đối với các hệ thống máy tính dùng chung là chúng không đủ toàn diện. Trong khi chúng gộp các tài nguyên năng lượng xử lý lại với nhau, chúng không tận dụng các tài nguyên khác như bộ nhớ. Vì lý do đó, nhiều tổ chức đang xem xét triển khai các hệ thống điện toán lưới , hệ thống này tận dụng nhiều tài nguyên hơn và cho phép nhiều ứng dụng hơn để tận dụng mạng.

Các hệ thống điện toán chia sẻ có phải là tương lai hay các hệ thống điện toán lưới sẽ thay thế? Khi cả hai mô hình trở nên phổ biến hơn, chúng ta sẽ xem hệ thống nào giành chiến thắng. Để tìm hiểu thêm về máy tính được chia sẻ và các chủ đề khác, hãy chuyển sang trang tiếp theo và nhấp vào các liên kết.

Lưới so với được chia sẻ

Hệ thống tính toán dùng chung là một loại hệ thống điện toán lưới giới hạn . Hệ thống máy tính dùng chung phân phối các khối dữ liệu cho một tác vụ cụ thể trên một mạng máy tính, khai thác sức mạnh CPU không sử dụng. Trong hệ thống điện toán lưới, các máy tính mạng chia sẻ nhiều tài nguyên bao gồm khả năng xử lý, bộ nhớ và không gian lưu trữ. Một hệ thống máy tính dùng chung thường có một mục tiêu cụ thể. Khi mục tiêu đó được đáp ứng, không cần hệ thống. Các hệ thống điện toán lưới trong tương lai sẽ được định hướng về mặt tổ chức, có nghĩa là chúng sẽ được sử dụng như một tài sản chung cho các tổ chức và tập đoàn và sẽ không dành riêng cho một mục tiêu cụ thể nào.

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 thức hoạt động của Máy tính Zombie

Các liên kết tuyệt vời hơn

  • Liên minh Globus
  • Mở Diễn đàn lưới
  • Dự án máy tính dùng chung

Nguồn

  • Appavoo, Jonathan, Uhlig Volkmar và Waterland, Amos. "Dự án Kittyhawk: Xây dựng Máy tính Quy mô Toàn cầu." IBM. Tháng 1 năm 2008. http://domino.research.ibm.com/comm/research_projects.nsf/pages/kittyhawk.index.html/$FILE/Kittyhawk%20OSR%2008.pdf
  • Haddad, Charles H. "Chia sẻ lớn nhất trong máy tính dùng chung." Tuần kinh doanh. Ngày 22 tháng 3 năm 2000. Số 3682, trang 134-136.
  • Kessler, Michelle. "Ý tưởng sáng giá mới nhất của công nghệ cao: Điện toán chia sẻ." USA Today. Ngày 9 tháng 1 năm 2003. trg. 1b.
  • Koyretis, G. "LiveWN: Dọn dẹp CPU trong Kỷ nguyên Lưới." Đại học Kỹ thuật Quốc gia Athens, Hy Lạp.
  • 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.
  • Versweyveld, Leslie. "Lưới điện toán chia sẻ cắt giảm núi dữ liệu xuống kích thước." Physorg.com. Truy cập ngày 12 tháng 3 năm 2008.