淋巴细胞绝对值偏高是什么意思| 三叉神经痛看什么科| 雷锋日是什么时候| 氧分压低是什么原因| 赛治是什么药| 抽水是什么意思| 柠檬和什么一起泡减肥| 1129什么星座| 摸摸头是什么意思| 肾结石吃什么| 硬度不够吃什么好| 什么看果园越看越少| kerry英文名什么意思| 6.20什么星座| 阿奇霉素主治什么病| 嘴唇正常颜色是什么样| 拔罐是什么原理| 老舍被誉为什么称号| 为什么会得玫瑰糠疹| 剃光头有什么好处| 胆红素高说明什么| 直肠窝积液是什么意思| 月经第三天属于什么期| 精子有点黄是什么原因| 颈椎病吃什么药最好效果| 金樱子泡酒有什么功效| 梦见找对象是什么意思| 人为什么怕死| 鼻屎多是什么原因| 自残是什么心理| 专车是什么意思| cn什么意思| 血小板太高会导致什么| 爆炸盐是什么| 卵巢囊肿有什么危害| 在干什么| 脚后跟疼痛什么原因| 梦见买苹果是什么征兆| 属虎的生什么属相的宝宝好| 阴囊潮湿瘙痒是什么原因| mmhg是什么单位| 吃菌子不能吃什么| 什么西瓜好吃| 神经衰弱吃什么药效果最好| 眼带用什么方法消除| 猫能吃什么人吃的东西| 肚子胀是什么原因| 果胶是什么东西| 小巴西龟吃什么食物| 蝼蛄吃什么| 骨折吃什么恢复快| 准者是什么牌子| 爱做梦是什么原因应该怎样调理| 射的快吃什么药| rem是什么意思| 紫苏有什么功效| 厚子鱼是什么鱼| 火葬场是什么生肖| 股票解禁是什么意思| 飞机杯是什么意思| 新婚志喜是什么意思| 尿频去药店买什么药| only是什么牌子| 高中学考是什么意思| 知行合一什么意思| 双侧肋膈角锐利是什么意思| 嘴麻是什么原因引起的| 腿困是什么原因引起的| 小肠换气吃什么药| 抽血后头晕是什么原因| 左耳疼痛什么原因引起| 紫苏长什么样子图片| 子宫内膜9mm意味着什么| 什么糖不能吃| 豆种翡翠属于什么档次| 东厂是什么意思| 手癣是什么原因引起的| 点数是什么意思| 脸上长痘痘用什么药膏效果好| 咖啡因是什么东西| 胃胀嗳气吃什么药最有效| 兰花什么时候开| 单招是什么学历| 处女座幸运颜色是什么| 阴茎进入阴道是什么感觉| 博文是什么意思| 7.17是什么日子| 小麦淀粉可以做什么| 青金石蓝是什么颜色| 透析什么意思| 考上公务员意味着什么| 喝什么茶对身体好| 窦性早搏是什么意思| 1月份是什么星座的人| 易出汗是什么原因| 甲亢吃什么好的更快| 本命年为什么不能结婚| 颈椎痛吃什么药最好| 上天的动物是什么生肖| 散光轴位是什么意思| 征兵初检检查什么| 医生为为什么建议不吃生菜| 甲醇对人体有什么伤害| 喝黑枸杞有什么作用和功效| 得罪是什么意思| 什么人容易得胆汁淤积| 什么泡水喝能降血压| 张飞的武器叫什么| 舌苔厚是什么原因引起的| 什么叫个性强| 考妣是什么意思| 坤位是什么方向| 肛裂是什么原因造成的| 原始心管搏动是什么意思| 痛风可以吃什么| 肺部检查应该挂什么科| 四风指什么| 血沉高是什么意思| 冰晶是什么东西| 身体水肿是什么原因引起的| 抗凝药是什么意思| 提炼是什么意思| bbc是什么意思| 女大四岁有什么说法| 8月11日是什么星座| 血小板低会有什么症状| 恒字属于五行属什么| 治前列腺炎吃什么药效果最好| 二甲双胍什么时候吃| 砍是什么生肖| 高中生适合用什么手机| 冰恋是什么意思| 左眼皮肿是什么原因引起的| 基围虾为什么叫基围虾| 肉是什么结构的字| 印堂在什么位置| 许褚字什么| 不复相见什么意思| 水蛭是什么| 大人发烧吃什么药| 5.23是什么星座| 柠檬泡蜂蜜有什么功效| 什么叫青光眼| 神经病和精神病有什么区别| 额头窄适合什么发型| 硝酸酯类药物有什么药| 三严三实是什么| 人棍是什么意思| 小便带血是什么原因男性| 养尊处优的意思是什么| rr是什么意思| 空调管滴水是什么原因| 口水是甜的是什么原因| 密度是什么意思| 人格分裂什么意思| 不良于行是什么意思| 泉中水命是什么意思| 白头发吃什么能变黑| 缺钾是什么症状| 张辽字什么| 脸上有癣用什么药膏好| 不喜欢是什么意思| 开悟是什么意思| 省人大代表是什么级别| 筋膜炎用什么药好| 口若悬河是什么生肖| 9月10日是什么日子| 呵呵代表什么意思| 胡麻是什么植物| 大美是什么意思| 浅是什么意思| 毛囊炎用什么药膏| 心率慢是什么原因| 牙疳是什么意思| 吃什么东西对眼睛好| 爱情是什么样| 什么进曹营一言不发| 独活主治什么病| 自然数的定义是什么| 不显怀的人有什么特点| scr是什么意思| 月经粉红色是什么原因| 钟馗是什么意思| 落子是什么意思| 阴虚火旺有什么症状| 射手和什么星座最配| 曩是什么意思| 大便有凹槽是什么原因| 柠檬蜂蜜水有什么功效| 脚上起水泡是什么原因| 倾向是什么意思| 各什么各什么| 鱼翅配什么煲汤最好| 大姨妈有黑色血块是什么原因| 人参归脾丸和归脾丸有什么区别| 1972年是什么年| 李志为什么| 名流是什么意思| 佛龛是什么| 木白念什么| 渠道货是什么意思| 强的松是什么药| 反胃吃什么可以缓解| 他达拉非片是什么药| 七月四号是什么星座| 陶渊明是什么朝代| 腰扭伤吃什么药最有效| 蚊子不喜欢什么血型| eq是什么| 执业医师是什么意思| 何以是什么意思| 左脸长痣代表什么| 长期胃胀气什么原因| suki是什么意思| 什么的西瓜| 牙疼吃什么食物能缓解| 全身检查要挂什么科| 农历5月25日是什么星座| 榴莲苦是什么原因| 麦冬有什么功效| 去肝火喝什么茶好| 消化内科是看什么病的| 男人性功能不好吃什么药| 宝宝睡觉头上出汗多是什么原因| 12.28是什么星座| 脱臼是指什么从什么中滑脱| 殆什么意思| 皮是什么意思| 脾虚是什么原因引起的| 螃蟹吐泡泡是什么原因| 为什么梦不到死去的亲人| 上海是什么中心| 周公解梦是什么意思| 淋巴细胞绝对值偏低说明什么| 负压引流器有什么作用| 荷花什么季节开| 农历今天什么日子| 什么是尊严| tap是什么意思| 馄饨皮可以做什么美食| 脾稍大什么意思| 塔罗是什么| 蒲公英泡水喝有什么副作用| 痛风挂什么科| 中古包是什么意思| 金牛座的幸运色是什么| 心字旁的字有什么| 血糖血脂挂什么科| 小康生活的标准是什么| 孕酮低有什么症状| 尿多是什么回事| 手比脸白是什么原因| 小孩血压低是什么原因| 什么是对偶句| 65年出生属什么| 蒙脱石散什么时候吃| 微尘是什么意思| 早晨8点是什么时辰| 什么东西养胃| 膀胱壁增厚是什么原因| 感冒吃什么消炎药| 梦见种玉米是什么意思| 尿毒症挂什么科| 什么时候有胎心| 百度

高铁将迎跨省调价 东南沿海票价不再“一刀切”

百度 秦昭襄王十四年,白起破韩魏两国联军于伊阙,斩首【二十四万】  秦昭襄王十五年,白起升级为大良造,进攻魏国,取城小大六十一。

A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software. The newest manifestation of cluster computing is cloud computing.

Technicians working on a large Linux cluster at the Chemnitz University of Technology, Germany
Sun Microsystems Solaris Cluster, with In-Row cooling
Taiwania series uses cluster architecture.

The components of a cluster are usually connected to each other through fast local area networks, with each node (computer used as a server) running its own instance of an operating system. In most circumstances, all of the nodes use the same hardware[1][better source needed] and the same operating system, although in some setups (e.g. using Open Source Cluster Application Resources (OSCAR)), different operating systems can be used on each computer, or different hardware.[2]

Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.[3]

Computer clusters emerged as a result of the convergence of a number of computing trends including the availability of low-cost microprocessors, high-speed networks, and software for high-performance distributed computing.[citation needed] They have a wide range of applicability and deployment, ranging from small business clusters with a handful of nodes to some of the fastest supercomputers in the world such as IBM's Sequoia.[4] Prior to the advent of clusters, single-unit fault tolerant mainframes with modular redundancy were employed; but the lower upfront cost of clusters, and increased speed of network fabric has favoured the adoption of clusters. In contrast to high-reliability mainframes, clusters are cheaper to scale out, but also have increased complexity in error handling, as in clusters error modes are not opaque to running programs.[5]

Basic concepts

edit
 
A simple, home-built Beowulf cluster

The desire to get more computing power and better reliability by orchestrating a number of low-cost commercial off-the-shelf computers has given rise to a variety of architectures and configurations.

The computer clustering approach usually (but not always) connects a number of readily available computing nodes (e.g. personal computers used as servers) via a fast local area network.[6] The activities of the computing nodes are orchestrated by "clustering middleware", a software layer that sits atop the nodes and allows the users to treat the cluster as by and large one cohesive computing unit, e.g. via a single system image concept.[6]

Computer clustering relies on a centralized management approach which makes the nodes available as orchestrated shared servers. It is distinct from other approaches such as peer-to-peer or grid computing which also use many nodes, but with a far more distributed nature.[6]

A computer cluster may be a simple two-node system which just connects two personal computers, or may be a very fast supercomputer. A basic approach to building a cluster is that of a Beowulf cluster which may be built with a few personal computers to produce a cost-effective alternative to traditional high-performance computing. An early project that showed the viability of the concept was the 133-node Stone Soupercomputer.[7] The developers used Linux, the Parallel Virtual Machine toolkit and the Message Passing Interface library to achieve high performance at a relatively low cost.[8]

Although a cluster may consist of just a few personal computers connected by a simple network, the cluster architecture may also be used to achieve very high levels of performance. The TOP500 organization's semiannual list of the 500 fastest supercomputers often includes many clusters, e.g. the world's fastest machine in 2011 was the K computer which has a distributed memory, cluster architecture.[9]

History

edit
 
A VAX 11/780, c. 1977, as used in early VAXcluster development

Greg Pfister has stated that clusters were not invented by any specific vendor but by customers who could not fit all their work on one computer, or needed a backup.[10] Pfister estimates the date as some time in the 1960s. The formal engineering basis of cluster computing as a means of doing parallel work of any sort was arguably invented by Gene Amdahl of IBM, who in 1967 published what has come to be regarded as the seminal paper on parallel processing: Amdahl's Law.

The history of early computer clusters is more or less directly tied to the history of early networks, as one of the primary motivations for the development of a network was to link computing resources, creating a de facto computer cluster.

The first production system designed as a cluster was the Burroughs B5700 in the mid-1960s. This allowed up to four computers, each with either one or two processors, to be tightly coupled to a common disk storage subsystem in order to distribute the workload. Unlike standard multiprocessor systems, each computer could be restarted without disrupting overall operation.

 
Tandem NonStop II circa 1980

The first commercial loosely coupled clustering product was 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 VMS operating system. The ARC and VAXcluster products not only supported parallel computing, but also shared file systems 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 NonStop (a 1976 high-availability commercial product)[11][12] 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, supercomputers 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 processing.[13] While early supercomputers excluded clusters and relied on shared memory, in time some of the fastest supercomputers (e.g. the K computer) relied on cluster architectures.

Attributes of clusters

edit
 
A load balancing cluster with two servers and N user stations

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 approach. Note that the attributes described below are not exclusive and a "computer cluster" may also use a high-availability approach, etc.

"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.[14] 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 method by assigning each new request to a different node.[14]

Computer clusters are used for computation-intensive purposes, rather than handling IO-oriented operations such as web service or databases.[15] For instance, a computer cluster might support computational simulations of vehicle crashes or weather. Very tightly coupled computer clusters are designed for work that may approach "supercomputing".

"High-availability clusters" (also known as failover clusters, or HA clusters) improve the availability of the cluster approach. They operate by having redundant nodes, which are then used to provide service when system components fail. HA cluster implementations attempt to use redundancy of cluster components to eliminate single points of failure. There are commercial implementations of High-Availability clusters for many operating systems. The Linux-HA project is one commonly used free software HA package for the Linux operating system.

Benefits

edit

Clusters are primarily designed with performance in mind, but installations are based on many other factors. Fault tolerance (the ability of a system to continue operating despite a malfunctioning node) enables scalability, and in high-performance situations, allows for a low frequency of maintenance routines, resource consolidation (e.g., RAID), and centralized management. Advantages include enabling data recovery in the event of a disaster and providing parallel data processing and high processing capacity.[16][17]

In terms of scalability, clusters provide this in their ability to add nodes horizontally. This means that more computers may be added to the cluster, to improve its performance, redundancy and fault tolerance. This can be an inexpensive solution for a higher performing cluster compared to scaling up a single node in the cluster. This property of computer clusters can allow for larger computational loads to be executed by a larger number of lower performing computers.

When adding a new node to a cluster, reliability increases because the entire cluster does not need to be taken down. A single node can be taken down for maintenance, while the rest of the cluster takes on the load of that individual node.

If you have a large number of computers clustered together, this lends itself to the use of distributed file systems and RAID, both of which can increase the reliability and speed of a cluster.

Design and configuration

edit
 
A typical Beowulf configuration

One of the issues in designing a cluster is how tightly coupled the individual nodes may be. For instance, a single computer job may require frequent communication among nodes: this implies that the cluster shares a dedicated network, is densely located, and probably has homogeneous nodes. The other extreme is where a computer job uses one or few nodes, and needs little or no inter-node communication, approaching grid computing.

In a Beowulf cluster, the application programs never see the computational nodes (also called slave computers) but only interact with the "Master" which is a specific computer handling the scheduling and management of the slaves.[15] In a typical implementation the Master has two network interfaces, one that communicates with the private Beowulf network for the slaves, the other for the general purpose network of the organization.[15] The slave computers typically have their own version of the same operating system, and local memory and disk space. However, the private slave network may also have a large and shared file server that stores global persistent data, accessed by the slaves as needed.[15]

A special purpose 144-node DEGIMA cluster is tuned to running astrophysical N-body simulations using the Multiple-Walk parallel tree code, rather than general purpose scientific computations.[18]

Due to the increasing computing power of each generation of game consoles, a novel use has emerged where they are repurposed into High-performance computing (HPC) clusters. Some examples of game console clusters are Sony PlayStation clusters and Microsoft Xbox clusters. Another example of consumer game product is the Nvidia Tesla Personal Supercomputer workstation, which uses multiple graphics accelerator processor chips. Besides game consoles, high-end graphics cards too can be used instead. The use of graphics cards (or rather their GPU's) to do calculations for grid computing is vastly more economical than using CPU's, despite being less precise. However, when using double-precision values, they become as precise to work with as CPU's and are still much less costly (purchase cost).[2]

Computer clusters have historically run on separate physical computers with the same operating system. With the advent of virtualization, the cluster nodes may run on separate physical computers with different operating systems which are painted above with a virtual layer to look similar.[19][citation needed][clarification needed] The cluster may also be virtualized on various configurations as maintenance takes place; an example implementation is Xen as the virtualization manager with Linux-HA.[19]

Data sharing and communication

edit

Data sharing

edit
 
A NEC Nehalem cluster

As the computer clusters were appearing during the 1980s, so were supercomputers. One of the elements that distinguished the three classes at that time was that the early supercomputers relied on shared memory. Clusters do not typically use physically shared memory, while many supercomputer architectures have also abandoned it.

However, the use of a clustered file system is essential in modern computer clusters.[citation needed] Examples include the IBM General Parallel File System, Microsoft's Cluster Shared Volumes or the Oracle Cluster File System.

Message passing and communication

edit

Two widely used approaches for communication between cluster nodes are MPI (Message Passing Interface) and PVM (Parallel Virtual Machine).[20]

PVM was developed at the Oak Ridge National Laboratory around 1989 before MPI was available. PVM must be directly installed on every cluster node and provides a set of software libraries that paint the node as a "parallel virtual machine". PVM provides a run-time environment for message-passing, task and resource management, and fault notification. PVM can be used by user programs written in C, C++, or Fortran, etc.[20][21]

MPI emerged in the early 1990s out of discussions among 40 organizations. The initial effort was supported by ARPA and National Science Foundation. Rather than starting anew, the design of MPI drew on various features available in commercial systems of the time. The MPI specifications then gave rise to specific implementations. MPI implementations typically use TCP/IP and socket connections.[20] MPI is now a widely available communications model that enables parallel programs to be written in languages such as C, Fortran, Python, etc.[21] Thus, unlike PVM which provides a concrete implementation, MPI is a specification which has been implemented in systems such as MPICH and Open MPI.[21][22]

Cluster management

edit
 
Low-cost and low energy tiny-cluster of Cubieboards, using Apache Hadoop on Lubuntu
 
A pre-release sample of the Ground Electronics/AB Open Circumference C25 cluster 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.[23] In some cases this provides an advantage to shared memory architectures with lower administration costs.[23] This has also made virtual machines popular, due to the ease of administration.[23]

Task scheduling

edit

When a large multi-user cluster needs to access very large amounts of data, task scheduling becomes a challenge. In a heterogeneous CPU-GPU cluster with a complex application environment, the performance of each job depends on the characteristics of the underlying cluster. Therefore, mapping tasks onto CPU cores and GPU devices provides significant challenges.[24] This is an area of ongoing research; algorithms that combine and extend MapReduce and Hadoop have been proposed and studied.[24]

Node failure management

edit

When a node in a cluster fails, strategies such as "fencing" may be employed to keep the rest of the system operational.[25][26] Fencing is the process of isolating a node or protecting shared resources when a node appears to be malfunctioning. There are two classes of fencing methods; one disables a node itself, and the other disallows access to resources such as shared disks.[25]

The STONITH method stands for "Shoot The Other Node In The Head", meaning that the suspected node is disabled or powered off. For instance, power fencing uses a power controller to turn off an inoperable node.[25]

The resources fencing approach disallows access to resources without powering off the node. This may include persistent reservation fencing via the SCSI3, fibre channel fencing to disable the fibre channel port, or global network block device (GNBD) fencing to disable access to the GNBD server.

Software development and administration

edit

Parallel programming

edit

Load balancing clusters such as web servers use cluster architectures to support a large number of users and typically each user request is routed to a specific node, achieving task parallelism without multi-node cooperation, given that the main goal of the system is providing rapid user access to shared data. However, "computer clusters" which perform complex computations for a small number of users need to take advantage of the parallel processing capabilities of the cluster and partition "the same computation" among several nodes.[27]

Automatic parallelization of programs remains a technical challenge, but parallel programming models can be used to effectuate a higher degree of parallelism via the simultaneous execution of separate portions of a program on different processors.[27][28]

Debugging and monitoring

edit

Developing and debugging parallel programs on a cluster requires parallel language primitives and suitable tools such as those discussed by the High Performance Debugging Forum (HPDF) which resulted in the HPD specifications.[21][29] Tools such as TotalView were then developed to debug parallel implementations on computer clusters which use Message Passing Interface (MPI) or Parallel Virtual Machine (PVM) for message passing.

The University of California, Berkeley Network of Workstations (NOW) system gathers cluster data and stores them in a database, while a system such as PARMON, developed in India, allows visually observing and managing large clusters.[21]

Application checkpointing can be used to restore a given state of the system when a node fails during a long multi-node computation.[30] This is essential in large clusters, given that as the number of nodes increases, so does the likelihood of node failure under heavy computational loads. Checkpointing can restore the system to a stable state so that processing can resume without needing to recompute results.[30]

Implementations

edit

The Linux world supports various cluster software; for application clustering, there is distcc, and MPICH. Linux Virtual Server, Linux-HA – director-based clusters that allow incoming requests for services to be distributed across multiple cluster nodes. MOSIX, LinuxPMI, Kerrighed, OpenSSI are full-blown clusters integrated into the kernel that provide for automatic process migration among homogeneous nodes. OpenSSI, openMosix and Kerrighed are single-system image implementations.

Microsoft Windows computer cluster Server 2003 based on the Windows Server platform provides pieces for high-performance computing like the job scheduler, MSMPI library and management tools.

gLite is a set of middleware technologies created by the Enabling Grids for E-sciencE (EGEE) project.

slurm is also used to schedule and manage some of the largest supercomputer clusters (see top500 list).

Other approaches

edit

Although most computer clusters are permanent fixtures, attempts at flash mob computing have been made to build short-lived clusters for specific computations. However, larger-scale volunteer computing systems such as BOINC-based systems have had more followers.

See also

edit

Basic concepts

Distributed computing

Specific systems

Computer farms

References

edit
  1. ^ "Cluster vs grid computing". Stack Overflow.
  2. ^ a b Graham-Smith, Darien (29 June 2012). "Weekend Project: Build your own supercomputer". PC & Tech Authority. Retrieved 2 June 2017.
  3. ^ Bader, David; Pennington, Robert (May 2001). "Cluster Computing: Applications". Georgia Tech College of Computing. Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  4. ^ "Nuclear weapons supercomputer reclaims world speed record for US". The Telegraph. 18 Jun 2012. Archived from the original on 2025-08-05. Retrieved 18 Jun 2012.
  5. ^ Gray, Jim; Rueter, Andreas (1993). Transaction processing : concepts and techniques. Morgan Kaufmann Publishers. ISBN 978-1558601901.
  6. ^ a b c Enokido, Tomoya; Barolli, Leonhard; Takizawa, Makoto (23 August 2007). Network-Based Information Systems: First International Conference, NBIS 2007. p. 375. ISBN 978-3-540-74572-3.
  7. ^ William W. Hargrove, Forrest M. Hoffman and Thomas Sterling (August 16, 2001). "The Do-It-Yourself Supercomputer". Scientific American. Vol. 265, no. 2. pp. 72–79. Retrieved October 18, 2011.
  8. ^ Hargrove, William W.; Hoffman, Forrest M. (1999). "Cluster Computing: Linux Taken to the Extreme". Linux Magazine. Archived from the original on October 18, 2011. Retrieved October 18, 2011.
  9. ^ Yokokawa, Mitsuo; et al. (1–3 August 2011). The K computer: Japanese next-generation supercomputer development project. International Symposium on Low Power Electronics and Design (ISLPED). pp. 371–372. doi:10.1109/ISLPED.2011.5993668.
  10. ^ Pfister, Gregory (1998). In Search of Clusters (2nd ed.). Upper Saddle River, NJ: Prentice Hall PTR. p. 36. ISBN 978-0-13-899709-0.
  11. ^ Katzman, James A. (1982). "Chapter 29, The Tandem 16: A Fault-Tolerant Computing System". In Siewiorek, Donald P. (ed.). Computer Structure: Principles and Examples. U.S.A.: McGraw-Hill Book Company. pp. 470–485.
  12. ^ "History of TANDEM COMPUTERS, INC. – FundingUniverse". www.fundinguniverse.com. Retrieved 2025-08-05.
  13. ^ Hill, Mark Donald; Jouppi, Norman Paul; Sohi, Gurindar (1999). Readings in computer architecture. Gulf Professional. pp. 41–48. ISBN 978-1-55860-539-8.
  14. ^ a b Sloan, Joseph D. (2004). High Performance Linux Clusters. "O'Reilly Media, Inc.". ISBN 978-0-596-00570-2.
  15. ^ a b c d Daydé, Michel; Dongarra, Jack (2005). High Performance Computing for Computational Science – VECPAR 2004. Springer. pp. 120–121. ISBN 978-3-540-25424-9.
  16. ^ "IBM Cluster System : Benefits". IBM. Archived from the original on 29 April 2016. Retrieved 8 September 2014.
  17. ^ "Evaluating the Benefits of Clustering". Microsoft. 28 March 2003. Archived from the original on 22 April 2016. Retrieved 8 September 2014.
  18. ^ Hamada, Tsuyoshi; et al. (2009). "A novel multiple-walk parallel algorithm for the Barnes–Hut treecode on GPUs – towards cost effective, high performance N-body simulation". Computer Science – Research and Development. 24 (1–2): 21–31. doi:10.1007/s00450-009-0089-1. S2CID 31071570.
  19. ^ a b Mauer, Ryan (12 Jan 2006). "Xen Virtualization and Linux Clustering, Part 1". Linux Journal. Retrieved 2 Jun 2017.
  20. ^ a b c Milicchio, Franco; Gehrke, Wolfgang Alexander (2007). Distributed services with OpenAFS: for enterprise and education. Springer. pp. 339–341. ISBN 9783540366348.
  21. ^ a b c d e Prabhu, C.S.R. (2008). Grid and Cluster Computing. PHI Learning Pvt. pp. 109–112. ISBN 978-8120334281.
  22. ^ Gropp, William; Lusk, Ewing; Skjellum, Anthony (1996). "A High-Performance, Portable Implementation of the MPI Message Passing Interface". Parallel Computing. 22 (6): 789–828. CiteSeerX 10.1.1.102.9485. doi:10.1016/0167-8191(96)00024-5.
  23. ^ a b c Patterson, David A.; Hennessy, John L. (2011). Computer Organization and Design. Elsevier. pp. 641–642. ISBN 978-0-12-374750-1.
  24. ^ a b K. Shirahata; et al. (30 Nov – 3 Dec 2010). Hybrid Map Task Scheduling for GPU-Based Heterogeneous Clusters. Cloud Computing Technology and Science (CloudCom). pp. 733–740. doi:10.1109/CloudCom.2010.55. ISBN 978-1-4244-9405-7.
  25. ^ a b c "Alan Robertson Resource fencing using STONITH" (PDF). IBM Linux Research Center, 2010. Archived from the original (PDF) on 2025-08-05.
  26. ^ Vargas, Enrique; Bianco, Joseph; Deeths, David (2001). Sun Cluster environment: Sun Cluster 2.2. Prentice Hall Professional. p. 58. ISBN 9780130418708.
  27. ^ a b Aho, Alfred V.; Blum, Edward K. (2011). Computer Science: The Hardware, Software and Heart of It. Springer. pp. 156–166. ISBN 978-1-4614-1167-3.
  28. ^ Rauber, Thomas; Rünger, Gudula (2010). Parallel Programming: For Multicore and Cluster Systems. Springer. pp. 94–95. ISBN 978-3-642-04817-3.
  29. ^ Francioni, Joan M.; Pancake, Cherri M. (April 2000). "A Debugging Standard for High-performance computing". Scientific Programming. 8 (2). Amsterdam, Netherlands: IOS Press: 95–108. doi:10.1155/2000/971291. ISSN 1058-9244.
  30. ^ a b Sloot, Peter, ed. (2003). Computational Science: ICCS 2003: International Conference. pp. 291–292. ISBN 3-540-40195-4.

Further reading

edit
edit
1995年是什么年 葡萄套袋前打什么药 吸烟有什么危害 百褶裙配什么鞋子 甜蜜素是什么
扁桃体发炎了吃什么药 癌症晚期吃什么食物好 6月份怀孕预产期是什么时候 什么是闺蜜 镇宅是什么意思
白带什么颜色正常 状元是什么官 玫瑰花有什么作用 谷丙转氨酶是什么意思 猫咪泪痕重是什么原因
唐宝是什么意思 鱼加它是什么字 举的部首是什么 什么病不能吃芒果 5月20是什么星座
螺蛳粉为什么那么臭hcv9jop6ns2r.cn 天气热适合吃什么kuyehao.com 无名指戴戒指代表什么huizhijixie.com 金鱼藻是什么植物hcv9jop3ns7r.cn 一日清闲一日仙是什么生肖hcv9jop2ns3r.cn
喝酒前吃什么不容易醉又不伤胃hcv8jop1ns3r.cn 下午四点多是什么时辰hcv8jop9ns9r.cn 艾灸治什么病hcv9jop2ns3r.cn 低gi食物是什么意思hcv8jop3ns5r.cn 什么是职业年金hcv9jop3ns6r.cn
眼袋肿了是什么原因hcv7jop6ns4r.cn 心五行属性是什么hcv9jop3ns9r.cn 西湖醋鱼是什么菜系hcv8jop9ns5r.cn 为什么一直下雨1949doufunao.com 葛根粉吃了有什么作用liaochangning.com
热感冒流鼻涕吃什么药hcv9jop8ns3r.cn 克霉唑为什么4天一次hcv9jop6ns8r.cn 马齿苋对什么病最有效hcv9jop4ns2r.cn mlf操作是什么意思hcv9jop0ns2r.cn 出汗少是什么原因hcv9jop5ns4r.cn
百度