Computer cluster: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: publisher. | Use this bot. Report bugs. | Suggested by Abductive | #UCB_webform 2672/3849
Citation bot (talk | contribs)
Add: publisher. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox2 | #UCB_webform_linked 456/1971
Line 39:
The first commercial loosely coupled clustering product was [[Datapoint|Datapoint Corporation's]] "Attached Resource Computer" (ARC) system, developed in 1977, and using [[ARCnet]] as the cluster interface. Clustering per se did not really take off until [[Digital Equipment Corporation]] released their [[VAXcluster]] product in 1984 for the [[OpenVMS|VMS]] operating system. The ARC and VAXcluster products not only supported parallel computing, but also shared [[file system]]s and [[peripheral]] devices. The idea was to provide the advantages of parallel processing, while maintaining data reliability and uniqueness. Two other noteworthy early commercial clusters were the [[Tandem Computers|''Tandem NonStop'']] (a 1976 high-availability commercial product)<ref>{{Cite book |last=Katzman |first=James A. |title=Computer Structure: Principles and Examples |publisher=McGraw-Hill Book Company |year=1982 |isbn= |editor-last=Siewiorek |editor-first=Donald P. |___location=U.S.A. |pages=470–485 |chapter=Chapter 29, The Tandem 16: A Fault-Tolerant Computing System}}</ref><ref>{{Cite web |title=History of TANDEM COMPUTERS, INC. – FundingUniverse |url=http://www.fundinguniverse.com/company-histories/tandem-computers-inc-history/ |access-date=2023-03-01 |website=www.fundinguniverse.com}}</ref> and the ''IBM S/390 Parallel Sysplex'' (circa 1994, primarily for business use).
 
Within the same time frame, while computer clusters used parallelism outside the computer on a commodity network, [[supercomputer]]s began to use them within the same computer. Following the success of the [[CDC 6600]] in 1964, the [[Cray 1]] was delivered in 1976, and introduced internal parallelism via [[vector processor|vector processing]].<ref name=Hill41 >{{cite book|title=Readings in computer architecture|first1=Mark Donald|last1=Hill|author-link2=Norman Jouppi|first2=Norman Paul|last2=Jouppi|first3=Gurindar|last3=Sohi|year=1999|isbn=978-1-55860-539-8|pages=41–48|publisher=Gulf Professional }}</ref> While early supercomputers excluded clusters and relied on [[shared memory architecture|shared memory]], in time some of the fastest supercomputers (e.g. the [[K computer]]) relied on cluster architectures.
 
==Attributes of clusters==
Line 45:
Computer clusters may be configured for different purposes ranging from general purpose business needs such as web-service support, to computation-intensive scientific calculations. In either case, the cluster may use a [[high-availability cluster|high-availability]] approach. Note that the attributes described below are not exclusive and a "computer cluster" may also use a high-availability approach, etc.
 
"[[Load balancing (computing)|Load-balancing]]" clusters are configurations in which cluster-nodes share computational workload to provide better overall performance. For example, a web server cluster may assign different queries to different nodes, so the overall response time will be optimized.<ref name=Sloan>{{cite book|title=High Performance Linux Clusters|url=https://archive.org/details/highperformancel0000sloa|url-access=registration|first=Joseph D.|last=Sloan|year=2004|publisher="O'Reilly Media, Inc." |isbn=978-0-596-00570-2}}</ref> However, approaches to load-balancing may significantly differ among applications, e.g. a high-performance cluster used for scientific computations would balance load with different algorithms from a web-server cluster which may just use a simple [[round-robin scheduling|round-robin method]] by assigning each new request to a different node.<ref name=Sloan />
 
Computer clusters are used for computation-intensive purposes, rather than handling [[Input/output|IO-oriented]] operations such as web service or databases.<ref name=VECPAR >{{cite book|title=High Performance Computing for Computational Science - VECPAR 2004|first1=Michel|last1=Daydé|first2=Jack|last2=Dongarra|year=2005|isbn=978-3-540-25424-9|pages=120–121}}</ref> For instance, a computer cluster might support [[Computer simulation|computational simulations]] of vehicle crashes or weather. Very tightly coupled computer clusters are designed for work that may approach "[[supercomputing]]".
Line 96:
[[File:Cubieboard HADOOP cluster.JPG|thumb|Low-cost and low energy tiny-cluster of [[Cubieboard]]s, using [[Apache Hadoop]] on [[Lubuntu]]]]
[[File:Circumference C25 (41227579055).png|thumb|A pre-release sample of the Ground Electronics/AB Open Circumference C25 cluster [[Computers|computer]] system, fitted with 8x [[Raspberry Pi]] 3 Model B+ and 1x UDOO x86 boards.]]
One of the challenges in the use of a computer cluster is the cost of administrating it which can at times be as high as the cost of administrating N independent machines, if the cluster has N nodes.<ref name=patter641 >{{cite book|title=Computer Organization and Design|first1=David A.|last1=Patterson|first2=John L.|last2=Hennessy|year=2011|isbn=978-0-12-374750-1|pages=641–642|publisher=Elsevier }}</ref> In some cases this provides an advantage to [[shared memory architecture]]s with lower administration costs.<ref name=patter641 /> This has also made [[virtual machine]]s popular, due to the ease of administration.<ref name=patter641 />
 
===Task scheduling===