4 Distributed System notes: Distributed Computing (分佈式計算)

Cluster Computing

More than one computer combine to form a cluster. It exhibits very high performance but from the end users perspective, they feel like working on a standalone system. Cluster computing follows distributed systems as its principle. LAN acts as the connection unit here. The Clustering methods encompass HPC IAAS, HPC PAAS, which are further luxurious and hard to set up and preserve than a single computer. A computer cluster helps to largely reduce the unavailability of these systems and provides larger storage to other desktop workstation or computer.

被組織的一些計算機成爲集羣。從用戶的角度來看,集羣像一個整體能提供強大的計算性能。集羣計算遵從分佈式設計的原則,通過局域網鏈接集羣中的計算機節點。集羣計算提供了高性能的雲服務,但是它比單機計算更難搭建和維護。此外,集羣計算能減少單機計算帶來的性能浪費,並且可利用非專用機的臺式機搭建集羣減小成本。

Some of the most widely used Cluster Computers are Petroleum Reservoir Simulation, Google Search Engine, Earthquake Simulation, Weather Forecasting.

Clustering Computing

Grid Computing

Grid computing involves a group of networked computers that work together as a virtual supercomputer to perform large tasks, such as analysing huge sets of data or weather modelling. Through the cloud, you can assemble and use vast computer grids for specific time periods and purposes, only paying, if necessary, for what you use to save both the time and expense of purchasing and deploying the necessary resources yourself. Also, by splitting tasks across multiple machines, processing time is significantly reduced to increase efficiency and minimise wasted resources.

Unlike with parallel computing, grid computing projects typically have no time dependency associated with them. They use computers that are part of the grid only when idle, and operators can perform tasks unrelated to the grid at any time. Security must be considered when using computer grids, as controls on member nodes are usually very loose. Redundancy should also be built in, as many computers may disconnect or fail during processing.

Difference Between Cluster Computing VS. Grid Computing

When two or more computers are used together to solve a problem, it is called a computer cluster . Then there are several ways of implementing the cluster, Beowulf is maybe the most known way to do it, but basically it is just cooperation between computers in order to solve a task or a problem. Cluster Computing is then just the thing you do when you use a computer cluster.

Grid computing is something similar to cluster computing, it makes use of several computers connected is some way, to solve a large problem. There is often some confusion about the difference between grid vs. cluster computing. The big difference is that a cluster is homogenous while grids are heterogeneous. The computers that are part of a grid can run different operating systems and have different hardware whereas the cluster computers all have the same hardware and OS. A grid can make use of spare computing power on a desktop computer while the machines in a cluster are dedicated to work as a single unit and nothing else. Grid are inherently distributed by its nature over a LAN, metropolitan or WAN. On the other hand, the computers in the cluster are normally contained in a single location or complex.

Another difference lies in the way resources are handled. In case of Cluster, the whole system (all nodes) behave like a single system view and resources are managed by centralized resource manager. In case of Grid, every node is autonomous i.e. it has its own resource manager and behaves like an independent entity.

粗略總結:網格計算不拘於網絡、系統和硬件的限制(heterogeneous),而集羣計算是由局域網中的同類型的計算機和操作系統節點搭建起來的(homogenous)。

Volunteer Computing

Volunteer computing is an arrangement in which people (volunteers) provide computing resources to projects, which use the resources to do distributed computing and/or storage.

Volunteers are typically members of the general public who own Internet-connected personal computers. Organizations such as schools and businesses may also volunteer the use of their computers.

Projects are typically academic (university-based) and do scientific research. But there are exceptions; for example, ​GIMPS and ​distributed.net (two major projects) are not academic.

Several aspects of the project/volunteer relationship are worth noting:
Volunteers are effectively anonymous; although they may be required to register and supply email address or other information, they are not linked to a real-world identity.

Because of their anonymity, volunteers are not accountable to projects. If a volunteer misbehaves in some way (for example, by intentionally returning incorrect computational results) the project cannot prosecute or discipline the volunteer.

Volunteers must trust projects in several ways:

  • The volunteer trusts the project to provide applications that don’t damage their computer or invade their privacy.
  • The volunteer trusts that the project is truthful about what work is being done by its applications, and how the resulting intellectual property will be used.
  • The volunteer trusts the project to follow proper security practices, so that hackers cannot use the project as a vehicle for malicious activities.

References

What is Cluster Computing?
https://www.educba.com/what-is-cluster-computing/

What is grid computing?
https://azure.microsoft.com/en-gb/overview/what-is-grid-computing/

Comparison of Grid Computing vs. Cluster Computing
http://www.jatit.org/research/introduction_grid_computing.htm

Volunteer computing
https://boinc.berkeley.edu/trac/wiki/VolunteerComputing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章