Describe the technology of high-end Unix operating system servers

Source: Internet
Author: User
Describe the technology of high-end Unix operating system servers-Linux Enterprise applications-Linux server application information. The following is a detailed description. For servers (PC servers or UNIX servers), simply improving the computing and processing capabilities of a single processor is becoming increasingly difficult, although many manufacturers have made unremitting efforts in materials, technology, and design, CPU continues to grow rapidly in the near future, however, the battery capacity and heat dissipation problems caused by high power consumption at high frequencies, as well as the electromagnetic compatibility problems caused by these negative effects on the entire system, in turn, the CPU computing capability is upgraded to the twilight. Obviously, improving the speed and performance of a single processor is the end of the storm. Developing parallel processing technology for multiple CPUs is an effective way to truly improve the processing capability and computing speed of modern servers. This is exactly why multi-processor servers are not only the patents of UNIX servers, but also widely used in PC servers. Currently, the parallel processing technologies in the industry are mainly SMP, MPP, COMA, cluster, and NUMA.

1. SMP Technology

SMP (Symmetric Multi-processing-symmetric rical MultiProcessing) technology is a widely used parallel technology compared with Asymmetric Multi-processing technology. In this architecture, multiple processors run a single copy of the operating system and share memory and other resources of one computer. All processors have equal access to memory, I/O, and external interruptions.

In an Asymmetric Multi-processing system, tasks and resources are managed by different processors. Some CPUs only process I/O, and some CPUs only process tasks submitted by the operating system, obviously, Asymmetric Multi-processing systems cannot achieve load balancing. In a Symmetric Multi-processing system, system resources are shared by all CPUs in the system, and the workload can be evenly distributed to all available processors.

Currently, the CPU of most SMP systems accesses data through the shared system bus to achieve Symmetric Multi-processing. For example, some server vendors use Crossbar or Switch to connect multiple CPUs. Although the performance and scalability are superior to the Intel architecture, the SMP scalability is still limited.

The difficulty of adding more processors in the SMP system is that the system has to consume resources to support processor preemptible memory and memory synchronization. Preemptible memory means that when multiple processors access data in the memory, they cannot read or write data at the same time. Although one CPU is reading a piece of data, other CPUs can read the data, however, when a CPU is modifying a certain segment of data, the CPU will lock this segment of data, and other CPUs must wait for this segment of data to be operated.

Obviously, the more CPUs there are, the more serious the waiting problem is. The system performance cannot be improved or even decreased. To add more CPUs as much as possible, the SMP system now basically uses the method of increasing the server Cache capacity to reduce the memory preemption problem, because the Cache is the CPU's "local memory ", the data exchange speed between it and the CPU is much higher than the memory bus speed. Because the Cache support is not shared, there will be no problem of multiple CPUs occupying the same memory resource segment, many data operations can be completed smoothly in the built-in CPU Cache or external CPU Cache.

However, although the Cache function solves the problem of memory preemption in the SMP system, it has caused another difficult problem called "memory synchronization. In the SMP system, when each CPU accesses memory data through the Cache, the system must always keep the data in the memory consistent with the data in the Cache. If the Cache content is updated, the content in the memory should be updated accordingly. Otherwise, the system data consistency will be affected. Because each update consumes the CPU, the updated fields in the memory must be locked, and the update frequency is too high, which will inevitably affect the system performance, the excessive update interval may also cause data errors caused by cross-read/write. Therefore, the SMP update algorithm is very important. Currently, SMP systems use listening algorithms to ensure that the data in the CPU Cache is consistent with that in the memory. The larger the Cache, the smaller the probability of memory preemption reproduction. At the same time, because of the high data transmission speed of the Cache, the increase in the Cache also improves the computing efficiency of the CPU, however, it is difficult for the system to maintain memory synchronization.

In terms of hardware, SMP can be implemented in the UltraSPARC, SPARCserver, Alpha, and PowerPC architectures, or it can be implemented using all Intel chips including more than 486.

2. Cluster Technology

Cluster technology is a technology that has emerged in recent years to develop high-performance computers. It is a group of independent computers that use high-speed communication networks to form a single computer system and manage it in a single system mode. Its starting point is to provide high reliability, scalability, and disaster resistance. A cluster contains multiple servers with shared data storage space. Each Server communicates with each other through an internal LAN. When a server fails, the applications it runs will be automatically taken over by other servers. In most modes, all the computers in the cluster share a common name. services running on any system in the cluster can be used by all network customers. Cluster systems are usually used to improve system stability and the data processing and service capabilities of the Network Center.

Common cluster technologies include:

(1) server Image Technology

(2) cluster management error

The error take over cluster technology connects two or more servers in the same network through the cluster technology. Each server on the cluster node runs different applications, has its own broadcast address to provide services to front-end users. At the same time, each server monitors the running status of other servers and provides hot backup services for specified servers.

The error take over cluster technology usually needs to share an external storage device-disk array cabinet. Two or more servers are connected to the disk array cabinet through SCSI cables or optical fiber cables, and the data is stored in the disk array cabinet. In this cluster system, two nodes are usually backed up to each other, instead of backing up several servers for one server at the same time, nodes in the cluster system monitor each other's heartbeat through serial ports, shared disk partitions, or internal networks.

The error take over cluster technology is often used in database servers, MAIL servers, and other clusters. This cluster technology uses shared storage devices, which increases the cost of peripherals. It can implement a cluster of up to 32 machines, greatly improving the availability and scalability of the system. Currently, the application error management technology is widely used to improve system availability, that is, the cluster technology that we usually use to share disk arrays through the SCSI cable.

(3) fault-tolerant cluster technology

A typical application of the fault-tolerant cluster technology is the fault-tolerant machine. In the fault-tolerant machine, each component has a redundant design. The implementation of Fault Tolerance cluster technology often requires special hardware and software design, so the cost is very high, but the fault tolerance system maximizes the availability of the system, is the best choice for the financial, financial and security departments.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.