In today’s mobile market frenzy, being at the forefront of mobile technology in healthcare means more than just moving quickly --it means knowing what's coming next.
On March 2, Apple introduced the iPad 2, the first iOS device to use a multi-core processor. But here at Voalté, we’re ahead of the game. We've been preparing for multi-core devices for the past six months. Our software already takes full advantage of these new processors. And when Apple announces a multi-core iPhone, we'll be ready for that too.
As the lead iOS developer, it's my job to watch mobile trends and ensure we stay ahead of the curve. I also share what I learn with other iOS developers, which is why I gave a presentation at an iOS Developers Meetup back in December 2010 concerning multi-core devices. The message of the presentation was clear:
"Multi-core iOS devices are coming. Are you ready?"
A multi-core processor is a CPU that has multiple operating cores (brains) on a single chip. In other words, it's just like having multiple CPUs, but they're all squeezed onto a single chip. The reason this is so important is because multi-core processors present a fundamental change in the way software is written.
As a metaphor, imagine you're managing a restaurant. You have one cook. As your business begins to get more customers, your cook must work faster. But as business grows, your cook eventually hits a wall and cannot keep up with the orders. Eventually, you must hire another cook. But two cooks in the kitchen are much more different than one because your original cook was used to doing everything on his own. Now the work needs to be shared and the cooks need to learn to communicate and not to step on each other’s toes. Once they work out a system, the kitchen runs smoothly again and business can continue to grow.
And so it is with computers. CPUs get faster and faster until eventually they hit a wall. At this point another core is added. But the software was used to doing everything with a single core. If the software is to take advantage of the new hardware, it must be adapted to share work between multiple resources.
Although the presentation, in its entirety, is directed at developers, I spend the introduction discussing general concepts. So if you'd like to learn a bit more about multi-core CPUs or you want to take a peak into the world of iOS engineering, here's what you'll find in the video:
- The effect of multi-core CPUs on software developers.
- Why did the Desktop industry transition to multi-core CPUs?
- Will the Mobile industry follow suite?
- The challenge of scaling software to match available CPU cores?
- The OS imposed difficulty in knowing how many CPU cores are available to the app.
- Why did Apple create its Grand Central Dispatch (GCD) technology?
- How does GCD perform compared to traditional solutions?