We present ALFRED: a virtual memory abstraction that resolves the dichotomy between volatile and non-volatile memory in intermittent computing. Mixed-volatile microcontrollers allow programmers to allocate part of the application state onto non-volatile main memory. Programmers are therefore to explore manually the trade-off between simpler management of persistent state against the energy overhead for non-volatile memory operations and intermittence anomalies due to re-execution of non-idempotent code. This approach is laborious and yields sub-optimal performance. We take a different stand with ALFRED: we provide programmers with a virtual memory abstraction detached from the specific volatile nature of memory and automatically determine an efficient mapping from virtual to volatile or non-volatile memory. Unlike existing works, ALFRED does not require programmers to learn a new programming model or language syntax, while the mapping is entirely resolved at compile-time, reducing the run-time energy overhead. We implement ALFRED through a series of program machine-level code transformations. Compared to existing systems, we demonstrate that ALFRED reduces energy consumption by up to two orders of magnitude given a fixed workload. This enables the workloads to finish sooner, as the use of available energy shifts from ensuring forward progress to useful application processing.


翻译:我们展示了ALFRED: 一种虚拟记忆抽象, 解决了间歇计算中挥发性和非挥发性内存之间的二分法。 混合挥发性微控制器使程序员能够将应用状态的一部分分配到非挥发性主内存。 因此, 程序员将手动探讨更简单的持久性管理与非挥发性内存操作的能源管理与非挥发性内存操作的能源间接费用和间歇性异常之间的权衡。 这种方法是劳累性的, 并产生亚优性性性性能。 我们与 ALFRED 采取不同的立场: 我们向程序员提供一种与特定记忆的挥发性分离的虚拟内存抽象性, 并自动确定从虚拟到挥发性或非挥发性主要内存的有效映像。 与现有的工程不同, ALFRED并不要求程序员学习新的编程模型或语言合成法, 而由于重新执行非全时能性能源管理, 我们通过一系列程序机级代码转换来应用ALFRED。 与现有系统相比, 我们展示了虚拟内存的抽象性内存取性内存性内存性内存, 我们证明能性能性能工作能够提前完成能源消耗工作量。

0
下载
关闭预览

相关内容

【MIT干货书】机器学习算法视角,126页pdf
专知会员服务
77+阅读 · 2021年1月25日
必须收藏!MIT-Gilbert老爷子《矩阵图解》,一张图看透矩阵
【IJCAI2020】TransOMCS: 从语言图谱到常识图谱
专知会员服务
34+阅读 · 2020年5月4日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
0+阅读 · 2021年12月3日
Arxiv
6+阅读 · 2021年6月24日
VIP会员
相关资讯
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员