QNX is about to take another quantum leap forward. Production on a new QNX kernel, dubbed "Axion," aka QNX 8, is wrapping up later this summer and will debut sometime early next year. And it's going to pack a wallop in the embedded industry.
"Technologies like 64-bit, VT, SSE, and multi-core have all become important in the market today," said Luc du Croix, senior kernel engineer with QNX Software Systems. "And it's important that QNX take advantage of each and every one of them."
We spoke with du Croix, who has been with QSS for over a decade in various roles, about the changes coming in the new operating system. For the last year, he and his team have been hard at work rewiring their kernel alongside Intel and AMD engineers so they can support new features as soon as possible.
"With this upgrade we're actually using different SSE operations to speed kernel performance." Heretofore, SSE was seen mostly as a multimedia booster, useful for games and Photoshop plugins. "Imagine using a single instruction to move up to one hundred and twenty-eight bits of message data."
Multiple cores are key too. QNX already supports multi-processing and has won awards for its efficient use of multiple processors. But massively multi-core processing (MMCP) is a little different. "SMP is like starting a fire with sticks. MMCP is like lobbing a Molotov cocktail out of the window of a speeding Ferrari and that's what we'd really like to be doing."
Another thing that's changing is processor caching. Back when Neutrino was released, 256k off-die cache was common. Today, 2 MB on-chip cache is the norm. "QNX Neutrino is tiny, 69k, and with all of the processor cache available today, we've rewritten the kernel to load and run entirely from cache."
Running from cache has some serious speed advantages. "QNX messaging is a whole order of magnitude faster when run from cache versus system memory," du Croix said. "It prevents QNX from having to access the system bus." QSS calls this feature FastCache.
When QNX does run in main memory, however, it will be able to access up to sixteen exabytes thanks to the 64-bit ground-up rewrite. "Thirty-two bits just wasn't enough," du Croix said. "Our customers want to run on AMD 64, Core 2, Power6, and they're all playing with 64-bits."
After the update is polished, it will be bundled with the latest version of the Eclipse development suite and offered as an upgrade to developers as QNXtreme, the successor to the current QNX 6.3-based Momentics. QSS will also include a whole new userland based on FreeBSD 6's, an idea left over from the scrapped Overfiend project.
Customers deploying production systems will have the option to upgrade when the time comes as Axion will be completely backward compatible with 32-bit platforms. Customers using QNX4, however, will likely want to contact their QSS rep for evaluation.