Providing emerging mobile experiences while continuing our commitment to elegant, ultralight devices that do not overheat and offer a long battery life is Qualcomm’s challenge. The answer lies in heterogeneous computing.
Users increasingly want more. And when it comes to our mobile devices we want better user experiences, improved performance and affordability. But is there a limit to this race?
Today we get a lot of experiences and new applications, such as computational photography, augmented reality, physically realistic computer animation and exploration of our surroundings. These experiences not only require a very high capacity but also involve handling new types of workloads with different requirements.
For example, in augmented reality, the mobile device must continuously analyse the images from the camera, recognize and track objects, locate them in three-dimensional space and overlay images with corrected perspective; this is the “augmentation”. These different workloads require high processing power. Moreover, different workloads are calculated using evolutionary algorithms, which means that processors must be programmable to an extent. Although programmability provides the flexibility to process various algorithms, it implies greater energy expenditure.
Therefore, the challenge consists of providing these emerging mobile experiences while continuing to commit to elegant, ultralight devices that do not overheat and offer a long battery life.
And in this case, the CPU is only part of the solution. As I said, the enormous flexibility and programmability of the CPU impacts the energy it consumes. In fact, the CPU scaling approaches that have been used to meet this growing demand for processing within the power and thermal constraints of mobile devices have resulted in decreased performance. Let’s look at a couple of these methods:
- Single-core CPU Scaling: improves performance by increasing the clock frequency of the CPU and the instructions per clock cycle (IPC) by architectural enhancements. CPU clock frequencies are slowing their growth. Do you remember the Ghz race in the PC market CPUs? Well, that competition declined many years ago and the maximum frequency is now saturated. Also the instructions per clock cycle (IPC) have slowed down because of the increasing complexity of the microarchitecture needed to extract more performance. This architecture is a challenge not only in and of itself, , but also due to its high energy consumption.
- Scaling of multi-core CPUs was the next step. By doubling the CPU cores, additional transistors could be exploited to increase the theoretical maximum overall performance. However, the result depends on the capacity to run multiple programs or threads in parallel. Take a look at Amdahl’s Law to observe just how rapidly diminishing returns are obtained when programs have sequential codes. In the PC market, the number of CPU cores has mostly been fixed at four cores. In addition, the CPU is not necessarily the most efficient processor and having many CPUs running at a maximum clock frequency for an extended period is a real challenge in compact mobile devices with thermal constraints.
So what can we do to continue scaling processing capacity? We need a different approach. In Qualcomm we have opted for a new paradigm: mobile heterogeneous computing, which advocates using other processors intelligently to improve application performance, battery life and thermal efficiency to enable the development of new mobile experiences. In the next post I will explain this concept further.