Affiliation:
1. Sungkyunkwan University, Suwon, South Korea
2. Seoul National University, Seoul, South Korea
Abstract
Dynamic scripting languages are becoming more and more widely adopted not only for fast prototyping but also for developing production-grade applications. They provide high-productivity programming environments featuring high levels of abstraction with powerful built-in functions, automatic memory management, object-oriented programming paradigm and dynamic typing. However, their flexible, dynamic type systems easily become the source of inefficiency in terms of instruction count, memory footprint, and energy consumption. This overhead makes it challenging to deploy these high-productivity programming technologies on emerging single-board computers for IoT applications. Addressing this challenge, this paper introduces Typed Architectures, a high-efficiency, low-cost execution substrate for dynamic scripting languages, where each data variable retains high-level type information at an ISA level. Typed Architectures calculate and check the dynamic type of each variable implicitly in hardware, rather than explicitly in software, hence significantly reducing instruction count for dynamic type checking. Besides, Typed Architectures introduce polymorphic instructions (e.g., xadd), which are bound to the correct native instruction at runtime within the pipeline (e.g., add or fadd) to efficiently implement polymorphic operators. Finally, Typed Architectures provide hardware support for flexible yet efficient type tag extraction and insertion, capturing common data layout patterns of tag-value pairs. Our evaluation using a fully synthesizable RISC-V RTL design on FPGA shows that Typed Architectures achieve geomean speedups of 11.2% and 9.9% with maximum speedups of 32.6% and 43.5% for two production-grade scripting engines for JavaScript and Lua, respectively. Moreover, Typed Architectures improve the energy-delay product (EDP) by 19.3% for JavaScript and 16.5% for Lua with an area overhead of 1.6% at a 40nm technology node.
Funder
Samsung Research Funding Center of Samsung Electronics
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference55 articles.
1. Angry Birds. https://www.angrybirds.com/games/. Angry Birds. https://www.angrybirds.com/games/.
2. Arduino Yun. https://www.arduino.cc/en/Main/ArduinoBoardYun. Arduino Yun. https://www.arduino.cc/en/Main/ArduinoBoardYun.
3. Intel Edison. https://software.intel.com/en-us/iot/hardware/edison. Intel Edison. https://software.intel.com/en-us/iot/hardware/edison.
4. Espruino. http://www.espruino.com. Espruino. http://www.espruino.com.
5. Intel Galileo. https://software.intel.com/en-us/iot/hardware/galileo. Intel Galileo. https://software.intel.com/en-us/iot/hardware/galileo.
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Stake;Proceedings of the International Symposium on Memory Systems;2018-10