The Background of Multi-Core Technology and the Limits of Parallelization: Why 1+1 Doesn’t Equal 2

This blog post focuses on the background of multi-core technology and the thermal and parallelization limitations it faces.

 

Introduction

Terms like “dual-core” and “quad-core” are now ubiquitous in computer advertisements. Collectively, these are referred to as “multi-core,” where “core” refers to the processor that performs the computer’s core functions (computation and control). In the past, a CPU contained a single processor, so the terms “CPU” and “processor” were used interchangeably. However, with the advent of multi-core technology, the term “CPU” has come to refer to a collection of processors. But if multi-core technology is so beneficial, why didn’t it emerge in the 1990s? To understand the reason, we must examine the context of 2005, when multi-core technology first appeared.

 

The Emergence of Multi-Core Technology

The factors determining a computer’s performance are integration density and clock speed. Integration density determines whether complex instructions can be executed, while clock speed determines the computer’s calculation speed. A clock is akin to the start signal for computer calculations. Just as we start our daily routine when the sun rises and finish when it sets, a computer executes one calculation when a start signal is generated, completes it, and then executes the next calculation when the next start signal is generated. Therefore, a recently released 3.0GHz CPU performs 3 billion calculations per second. At this speed, searching for a word in a book takes less than a second.
CPU clock speeds started at 8 MHz in the early 1990s and increased rapidly; by the end of 2004, some even predicted the arrival of 4.0 GHz CPUs the following year. However, in 2005, Intel announced that it was abandoning the development of 4.0 GHz CPUs. The reason for abandoning efforts to increase the clock speed was that 4.0 GHz CPUs were not economically viable. In a CPU, a large number of semiconductor components exchange electrons at extremely high speeds, generating a significant amount of heat in the process. As the clock speed increases, so does the amount of heat generated; if the CPU clock speed is raised to 4.0GHz or higher, the heat produced cannot be sufficiently dissipated by current air-cooled coolers. Therefore, special cooling systems using liquid nitrogen or liquid helium are required for normal operation. However, using such specialized cooling systems results in excessively high costs, rendering the solution uneconomical.
To use a metaphor: if building a house represents computer development, the focus prior to 2005 was on honing the carpenter’s skills so that he could build houses faster. However, further improvements in individual carpenters’ skills eventually hit a wall due to limitations in their capabilities. Attempts were made to push the limits of their capabilities to solve this problem, but the costs outweighed the benefits. Consequently, the approach shifted to hiring multiple carpenters to build the house, and this concept is precisely what multi-core computing is all about.

 

Challenges of Multi-Core Computing

So why wasn’t multicore technology adopted sooner? After all, if multicore had been used before heat issues arose, we could have gained even more performance. The reason is that adding one or more cores immediately triggers the law of diminishing returns. The law of diminishing returns refers to the principle that when an additional unit of a production factor is added, the marginal product (the output per unit) decreases. To use the analogy of carpenters: if you hire one more carpenter of the same skill level, you might expect that a task taking two days for one person would take just one day with two people, but in reality, it ends up taking a day and a half. In other words, even though a dual-core processor uses two cores, its performance does not double. This is an example in the computer field where 1+1 does not equal 2.
Why does this happen? Imagine two carpenters who need to build a house. However, there may not be enough tools. In that case, suppose one carpenter lays the foundation while the other cuts the beams. Even if the carpenter cutting the beams finishes first, the work of erecting the beams and building the walls cannot begin until the foundation is complete. Even if the waiting carpenter has finished carving the roof frame and completed other minor tasks, if the foundation work is not yet finished, he still has no choice but to wait until it is complete. Consequently, one carpenter ends up idle. This requirement for sequential execution limits speed improvements, and in computer science, this is known as “Amdahl’s Law.”
For example, let’s say we’re calculating “(3+5)*(9+1)+3” on a dual-core computer. The first processor (let’s call it A) calculates 3+5, and the second processor (let’s call it B) calculates 9+1. However, while A combines the results to compute 8*10 and 80+3, B has no choice but to idle. In other words, calculating the above expression on a single-core processor takes 4 units of time, while calculating it on a dual-core processor takes 3 units of time. As you can see, the time does not halve.
Thus, the performance of a multi-core system depends on the proportion of the program that can be processed in parallel. If the degree of parallelism is low, the speed improvement is limited even when using many cores. Therefore, it can be argued that increasing the program’s degree of parallelism contributes more to speed improvement than simply using more cores. However, it is very difficult for someone accustomed to sequential thinking to design parallel programs. Because there is significant industrial demand in this field, it is being actively researched in computer engineering. However, since it is impossible to completely eliminate sequential parts no matter how much one programs in parallel, an ultimate limit exists.
Therefore, it is expected that multicore processors will eventually reach their limits as well, and research aimed at a device revolution is gaining attention to overcome this. Just as the transition from vacuum tubes to transistors made current advancements possible, there is a forecast that the introduction of new devices, such as bio-devices, will be necessary to overcome current limitations.
In summary, multicore processors emerged as single-core speed improvements hit a wall due to heat dissipation issues. However, the speed of multicore processors depends on the degree of parallelism in programming, and improving that degree presents significant challenges. In fact, the pace of CPU speed growth, which had been sustained until 2005, slowed down as we transitioned from single-core to multicore. Those with a keen interest in computers have likely noticed that upgrades have become less frequent in recent years. This is because we no longer perceive our computers as being particularly slow. Consequently, Intel has faced a crisis of declining profits and, to address this, is attempting to enter the smartphone market—an area that previously received little attention (though it is true that the market was also smaller in the past). As a result, a full-scale competition for market share has begun with ARM, which originally dominated the smartphone market, and significant attention from the computer industry is now focused on this sector.

 

About the author

Tra My

I’m a pretty simple person, but I love savoring life’s little pleasures. I enjoy taking care of myself so I can always feel confident and look my best in my own way. I’m passionate about traveling, exploring new places, and capturing memorable moments. And of course, I can’t resist delicious food—eating is a serious pleasure of mine.