Chapter 187: Improvements

Decent progress has been made on the subject, and Duke can focus on improving the Titan II virtual system, and Kerry has implemented Titan II according to Duke's instructions, but Duke feels that this is not the best choice.

Especially in terms of IO and storage, Kerry has the conditions that are completely not available in current technology, and if these original limitations are removed, Kerry's virtual Titan II should have better performance than the prototype. Sure enough, when Duke instructed Kerry to make further optimizations and improvements, the performance of Virtual Titan II almost doubled just by letting go of IO reads and storage allocation!

This shows how much IO and storage have a big impact on computing speed, but that's not all, considering that the CPU and GPU have their own strengths, Duke expects to achieve the best performance by dynamically adjusting the number of compute nodes on the CPU and GPU. As soon as this adjustment idea came out, Kerry's optimized Titan II system was even more amazing, and the performance of Titan II with the largest number of GPUs was almost ten times higher in test applications for floating-point arithmetic.

Of course, for this kind of floating point arithmetic conditions, the GPU configuration ratio is almost 90 percent. You must know that this is achieved without modifying the system architecture at all, and it would be strange if the experts who developed supercomputers knew that there was such a powerful simulation system and did not collapse.

You must know that in the usual research, if a supercomputer wants to increase its performance by ten times, it generally takes at least 2-3 years, and after the performance of the relevant hardware subsystems is improved, these higher-performance subsystems can be accumulated.

Of course, instead of logic, judging more AI applications, Duke found that the ratio of CPU to GPU had to be reversed to achieve better performance. Because in this regard is the strong point of the CPU.

After this test, Kerry has mastered the method and calculation formula of dynamically adjusting the Virtual Titan II system according to the type of application, and can quickly dynamically adjust the system composition according to the computing needs of the software system. For this alone, Duke was able to get results more than ten times faster than others under the same conditions.

What's more, Kerry was also able to further increase the number of computing nodes and continue to strengthen the computing power of Virtual Titan II, although Duke did not instruct Kerry to make similar improvements, mainly because there was no need for this yet, and after Kerry improved the dynamic changes in the hardware, he began to target the Craylinux system for optimization.

On the one hand, this is to improve the capabilities of the system, and on the other hand, to accumulate experience in the development of operating systems. The major special research project on operating systems led by President Liu of HKUST has been approved, and the first phase of the national government has allocated 60 million RMB for experimental research on operating systems.

As the lead architect, Duke was required to come up with the architectural vision for the new operating system. In the project requirements, this future operating system needs to have the four high characteristics of high performance, high reliability, high security, and high scalability, and also have the ability to run under a general platform, that is, it must be compatible with the current mainstream hardware, including the current mainstream CPU/GPU/MEMORY/HARD DISK/PERIPHERALS, etc.

With such high requirements, the best blueprint Duke can choose from is Linux. It's just that Linux is said to be an open source system, but because of this, any new improvements based on Linux are required to be published to the world, which is unacceptable for the country if you want to promote it for commercial use.

Therefore, there is no problem with the new operating system being based on Linux, but it cannot be copied in terms of architecture, otherwise it will infringe its intellectual property rights.

Independently encapsulated hardware operation core is indispensable, Duke's newly developed mobile phone operating system does this, but the mobile phone operating system is a closed system for a limited hardware platform, which greatly reduces the consideration of compatibility, so it is very efficient.

But this new system can't do this, so it has to target a specific hardware platform in the future, such a system is called a general operating system, and Duke is embarrassed to say that he participated in the development. Therefore, the relationship between the independent packaging hardware operation core and the new device driver home is more difficult to deal with.

Allowing a third party to read and write the core part will cause serious security risks, and many viruses will simulate new device drivers to perform core operations on the operating system. So this problem is basically difficult to choose now, Windows has to open a gap for compatibility, and Duke didn't know how to avoid this problem.

It wasn't until Kerry's virtual success in Titan II that Duke was inspired: the entire basic hardware is treated as a fully packaged kernel, and the peripherals must be developed by calling the kernel's SDK to realize the data exchange and operation calls between the peripherals and the kernel. In this way, Duke can ensure the security of the kernel.

Compared with the endless peripherals, the environment that the kernel needs to target is very limited, CPU, the mainstream is only two or three, although the total number seems to be a lot, but the models that really have instruction set changes, the total number of instructions is not more than 20 kinds of instruction sets!

But after all, they are all limited, such as Intel's general-purpose desktop CPU instruction set, as of 2014, the extended instruction set part is only MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4.3, EM64T and other nine kinds.

So with experience in high-end CPU simulation, Kerry has no difficulty in simulating relatively low-end CPUs, nothing more than reduced performance and instruction set support.

Duke can develop a core processing application for a high-end CPU, and the rest of the compatibility will be revised on this core application, and the instruction set compatibility design will be designed according to different CPUs.

With the supercomputer operating system as the foundation, Duke initially considered dividing the operating system into desktop and server models in the future.

The server model will support the massive memory and large number of CPU clusters of existing supercomputer architectures, realizing the unification of mainframe and medium-sized workstations, and for many applications, such as databases, web servers, video servers and other resource-consuming applications, they can get maximum compatibility without changing the program.

The desktop type will still support multi-logic CPUs, but the number will be controlled at 8-way physical CPUs, according to the 2014 main CPU up to 32 cores, that is, 256 logical CPUs, so that even if it is a small workstation with 8 channels, it can also be used to the fullest on this system.

After sorting out his thoughts, Duke slowly had a rough structural division. After passing this idea to Kerry, Kerry streamlined a new operating system for a 2-socket 20-core platform based on Craylinux and began to validate Duke's idea.