Building a Manycore Ecosystem for Embedded Applications
One thing that stood out at Embedded World (EW) 2018 was the breadth and depth of potential partners that Kalray attracted to our stand. Whilst it was great to see many potential Kalray MPPA® customers and discuss MPPA’s fit in their projects, just as pleasing was the number of potential ecosystem partners in memory, operating systems, software and tools, that came to see us.
Building a manycore processor ecosystem does not happen overnight. It requires careful selection of class-leading technology partners. eSOL (with their scalable RTOS “eMCOS”) is just such a partner. eSOL’s partnership with Kalray is a major boost to Kalray’s attraction for automotive OEMs and Tier1s.
Not another Processor Instruction Set Architecture (ISA) to Learn!
From an engineering management perspective, a manycore architecture that is not based on ARM, MIPS or is not Intel, may, occasionally, prompt the above exclamation. However, the feedback at EW was that Kalray’s open-standard development environment (GGC compilation toolchain, GDB debug environment, etc.), along with Kalray’s Neural Network (KaNN) code generator really helps to accelerate MPPA code development.
For CNN applications, KaNN accepts CNN description and trained parameters from several frameworks (such as Caffe or TensorFlow). It automatically creates optimised and fully commented C code ready to run on the MPPA processor, which can be merged into the customers code base — No programming worries! Through KaNN, customers are able to run multiple CNN networks simultaneously and expand the number of clusters running each network, dynamically. On the EW Kalray stand, we had a demo of this multi-network ability, processing different input sources, which was a significant interest to automotive customers.
See more about KaNN here.
Amongst the most interesting topics for our EW visitors was Kalray’s real-time capability and specifically its inherent architecture that is deterministic by nature. Determinism is a key metric for hard real-time application in any time-critical embedded system. In Kalray’s view, determinism is a binary value, you’re either deterministic or you are not!
At the heart of Kalray’s MPPA technology is a fully timing compositional VLIW 64-bit RISC core that has been architected to meet aviation’s class criticality real-time demands. Core execution is in order and does not use any branch prediction or out-of-order schemes. Each core having its own private data cache and instruction cache, all misses and flushes can be modelled (no interference from other core executions).
In addition, the clusters, made up of 16 MPPA compute cores, equip the cores with a banked memory resource. It can be used either way as banked mode, for timing critical applications where each core accesses a dedicated bank, or as interleaved mode, for compute-intensive applications.
The unique MPPA architecture also allows to concurrently run rich OS like Linux and very low-latency, Real Time Operating Systems (RTOS).
Kalray has linked the MPPA clusters together via a Network on Chip (NoC), which has also been architected in such a way as to support determinism regardless of cluster core loading. It guarantees non perturbation between clusters. For absolute safety, clusters can be isolated from the NoC to provide physical separation of tasks.
See more about MPPA architecture here.
This year, the footfall at our stand in Hall 4A at Embedded World was exponentially greater than the previous year. This shows a real measure of interest, in particular by automotive and aviation customers, in Kalray’s evolving MPPA® story. Next year, our third-generation processor Coolidge will be with us. We hope to be showing CNN demos 100 times faster than with the platforms used this year, a massive leap forward! 2019 will be a transformative year for Kalray and we cannot wait to see you again at Embedded World 2019.