If you’ve recently bought a smartphone, chances are it runs on a multi-core processor. The Nokia Lumia 920, for example, is powered by a dual core Qualcomm Snapdragon S4, a processor that can take on the most sophisticated tasks. However, the activity that matters most to mobile users—running the gamut of Apps—may not necessarily take advantage of all the cores in the processor.
Thankfully, hardware support for multi-core is already enabled while major mobile operating systems have support for it as well. It’s a different story for apps, though. For applications to truly take advantage of multi-core technology, developers must change their mindset and “multi-thread” their code when creating an app, which requires a lot of skill and work .
One step at a time
The main challenge in programming for multi-core, or parallel processing, is that users and application logics tend to move sequentially. In other words, they target one core before seeking out the next. And app workloads, unfortunately, hardly scale beyond the need for two cores. Consequently, it can be very hard for applications to truly take advantage of the benefits that multi-core platforms provide.
Apps made for single core
At the moment, almost all applications are programmed without too much attention paid to the number of cores. In fact, most apps are “single-threaded” or developed for single core processors, so multi-cores don’t directly affect their performance. What generally matters is clock speed or how many instructions a single core can perform in a given amount of time. Another reason for programming single-core is that most of the time applications do not need a tremendous amount of processing power, so putting extra effort into making an application multi-core aware may be waste of time and resources.
Buttery smooth interfaces
There are times where multi-core processors like the Snapdragon S4 make software run smoother and faster. For a start, modern smartphone OSes have a number of background processes that can be run on the second core when the first one is busy running the main application. The Snapdragon S4 also houses other “cores” to better distribute these tasks. For instance, the Digital Signal Processor (DSP) found in a Snapdragon S4 processes audio when listening to your music library. The payoff is more battery life when work is offloaded from the CPU cores.
Now that Windows Phone 8 supports multi-core processing, the Nokia Lumia 920 takes advantage of Snapdragon’s multiple Krait CPU cores to ensure that complex user interfaces run buttery smooth.
Kick ass gaming
And there are certain applications, which benefit from multi-core, too. If you’re a big gamer, you’ll be happy to hear that multi-core is a big win for high-end gaming. Games generally employ complex 3D rendering techniques and possibly an artificial intelligence for the computer opponent. What’s more, many visually rich and compelling games from the PC and console platforms are now available for mobile devices and some of these have been created with multi-core in mind. Add to that the fact that the Snapdragon is paired with the new Adreno 225 GPU, the new Lumias promise a mindblowing gaming experience.
Super camera shots and editing
If you’ve got an awesome camera smartphone like the Lumia 920, you’re also going to want great still imaging processing. Image post-processing truly benefits from multi-core set-ups. First of all, post-processing requires tons of algorithms and calculations. And secondly, post-processing can easily be divided between different cores by running the algorithms parallel on multiple cores. Luckily, multi-core processors trumps in this department, too.
What’s more, for Window’s 8 Lumia devices, the Snapdragon’s Image Signal Processor (ISP)—yet another “core”—makes doubly certain that you’ll get the very best shots, time after time. Multicore also hugely benefits those of use who like to edit the photos and videos we shoot.
On top of these exciting features, app developers are starting to create apps specifically for multi-core smartphones. And as multi-core technology is used in lower priced smartphones, there’s an increasing incentive to look into dual-core, with quad-core on the horizon. So in the future expect even more reasons to be happy about multi-core processors. For now, though, which of these advantages most appeals? Let us know in the comments below.
Image credit: Franck Mahon