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 benefits of dynamic languages, the limited memory available means that classic techniques employed by dynamic language compilers, such as just-in-time (JIT), are simply not feasible. In this paper we describe the construction of a compilation approach for dynamic languages on micro-core architectures which aims to meet these four objectives, and use Python as a vehicle for exploring the application of this in replacing the existing micro-core interpreter. Our experiments focus on the metrics of performance, architecture portability, minimum memory size, and programmer productivity, comparing our approach against that of writing native C code. The outcome of this work is the identification of a series of techniques that are not only suitable for compiling Python code, but also applicable to a wide variety of dynamic languages on micro-cores.


翻译:微型核心结构将许多简单、低记忆、低耗电耗的CPU核心结合到一个芯片上。 但是,最近,Python等动态语言被移植到一些可应用的微型核心上,而且这些技术往往作为口译员提供,具有相关的绩效限制。 确定四个业绩目标、无限制的代码规模、结构之间的可移植性,以及保持动态语言的程序生产率效益,这些结构传统上对程序具有挑战性,这主要由于记忆量非常有限(通常约为32KB)和技术的特质。然而,最近,Python等动态语言被移植到一些微型核心中,但低耗电耗耗耗,这些技术不仅对嵌入、边缘和IoT用途有很大的兴趣,而且往往作为具有相关绩效限制的翻译员。 设定了四个业绩目标,即无限制的代码的代码、结构的可移动性,以及保持动态语言汇编的经典技术(如即实时(JIT),但根本不可行。 在本文中,我们描述在微核心语言上构建一个动态语言的汇编方法的汇编方法, 用来替代了我们当前核心成果结构的可变缩缩缩的系统。

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
CCF推荐 | 国际会议信息10条
Call4Papers
7+阅读 · 2019年5月27日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
最佳实践:深度学习用于自然语言处理(三)
待字闺中
3+阅读 · 2017年8月20日
已删除
将门创投
5+阅读 · 2017年8月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Arxiv
37+阅读 · 2021年2月10日
VIP会员
相关资讯
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
CCF推荐 | 国际会议信息10条
Call4Papers
7+阅读 · 2019年5月27日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
最佳实践:深度学习用于自然语言处理(三)
待字闺中
3+阅读 · 2017年8月20日
已删除
将门创投
5+阅读 · 2017年8月15日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Top
微信扫码咨询专知VIP会员