Compact Native Code Generation for Dynamic Languages on Micro-core Architectures
Maurice Jamieson, Nick Brown

TL;DR
This paper presents a novel compilation approach for dynamic languages like Python on micro-core architectures, aiming to improve performance, portability, and memory efficiency while maintaining developer productivity.
Contribution
It introduces a new compilation technique tailored for micro-cores that overcomes limitations of interpreters and JITs, enabling efficient native code generation for dynamic languages.
Findings
Achieved improved performance over interpreters.
Demonstrated architecture portability of the approach.
Reduced memory footprint suitable for micro-core constraints.
Abstract
Micro-core architectures combine many simple, low memory, low power-consuming CPU cores onto a single chip. Potentially providing significant performance and low power consumption, this technology is not only of great interest in embedded, edge, and IoT uses, but also potentially as accelerators for data-center workloads. Due to the restricted nature of such CPUs, these architectures have traditionally been challenging to program, not least due to the very constrained amounts of memory (often around 32KB) and idiosyncrasies of the technology. However, more recently, dynamic languages such as Python have been ported to a number of micro-cores, but these are often delivered as interpreters which have an associated performance limitation. Targeting the four objectives of performance, unlimited code-size, portability between architectures, and maintaining the programmer productivity…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
