Refuelling the useless multi-core Theory

Source: Internet
Author: User
Whether ordinary developers need to deal with multiple cores is discussed in many places. Many people think that this is not necessary. Based on the experience of the past few years, we believe that the current single-core high-speed CPU is sufficient, and there will be no new important application driving us to use multi-core CPUs in the future, the multi-core CPU is either for scientific research and computing purposes only, and is not recommended.

I don't think so.

You can understand this problem from two perspectives.

First, the single-core CPU has gradually faded out of the market, and all new machines are dual-core. Therefore, all new computers in the future will be multi-core, which will not be transferred by software developers. What is also not transferred by our will is that, in the fierce competition, the more effective use of user assets, the more excellent performance, the stronger Stability of the party will take advantage. You can continue to repeat the user to say that a single core is enough, and there is no need to improve the program. Your user may trust you for a while, but in the long run, when his machine has 4 cores and 8 cores, he will surely migrate to a solution that can effectively use its machine resources. The conclusion is that competition leads to multi-threading of programs.

Maybe this is not so convincing. You may say that you can use other advantages to stabilize your customers, and these advantages will certainly not be copied by your competitors. Good luck. However, I am afraid the second trend will not be able to resist. It is a new application.

1980-2000, once in nearly 20 years, the hardware capability and the greedy software for CPU have been in parallel, creating the most brilliant 20 years of software. However, after 2000, we seem to be in the era of excess CPU computing power. Suddenly everyone felt that there was no need to chase the CPU clock speed, because the existing computing power was enough and there was no new application. As a result, many people think that the history of software has ended.

This is totally wrong.

I think the excess CPU computing power and the stagnant development of new applications that have emerged over the past few years are just an illusion of confusion. There are three reasons for this illusion: first, the explosion of the Internet has shifted the focus of software innovation, and the network bandwidth and reliability are not ideal. This has become a short board restricting the overall performance of computers, the CPU computing power has become a long board and seems to be excessive. Second, the Internet allows computing to be concentrated on the server, which weakens the demand for client computing capabilities. Third, the development of Information appliances, digital home devices, Internet-connected devices, and civil robots is still in its infancy, and the new computing platform is still immature, people's ideas are bound to mature PC platforms at the moment and cannot be expanded.

However, all these three problems will be cracked one by one, arousing the desire for multi-core power.

First, the network bandwidth will rapidly increase, making some new applications appear, especially high-quality online video and video interaction applications (such as remote teaching and telemedicine) this poses unprecedented challenges to the CPU computing capability. Now everyone is used to network videos that are vague and time-breaking. I believe that in five years, we will surely lament our endurance. Second, the development trend of Internet applications. The penetration of RIA, especially P2P to traditional applications makes computing return to the client. In the future, our machine may not be a real personal computer, but a community computer or social computer, which will assume an obligation in a community composed of computers, this puts forward new computing requirements for general computers. For example, you may be invited to join a free video phone network in the future, provided that you have to allow your laptop to act as a vro online. How do you choose? Third, new computing devices will develop over the next few years. These devices may not have mature operating systems, or even have mature basic platforms, however, there is not enough ideal abstraction layer, and the requirement for availability and reliability is much higher than that of PC. Developers will have to deal with some system-level details. In this case, the multi-threaded programming technology will become very important. The opportunity belongs to the programmers who can control and give full play to their hardware capabilities.

To sum up, from now on, multi-core programming (in fact, multi-threaded programming) will become a hot topic in the software development field within two to three years. This is my estimation, and we will wait and see.

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.