• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2019 Fiscal Year Research-status Report

Application-Specialised Memory Management for Embedded Systems

Research Project

Project/Area Number 18KK0315
Research InstitutionKochi University of Technology

Principal Investigator

鵜川 始陽  高知工科大学, 情報学群, 准教授 (50423017)

Project Period (FY) 2019 – 2020
Keywordsマネージドランタイム / JavaScript / ガーベージコレクション / 組込みシステム
Outline of Annual Research Achievements

JavaScriptのオブジェクトをメモリ上で効率よく表現する方法およびメモリ管理を研究した.その結果,我々が開発しているIoT向けJavaScript仮想機械であるeJSのメモリ効率を45%改善しつつ,実行速度を33%向上させることができた.また,共同研究相手のStefan Marr博士が作ったベンチマークプログラムをeJSで利用できるようにした.今後はこのベンチマークプログラムを使って,これまでより広範囲の性能評価が可能になる.
JavaScriptのオブジェクトには実行中にプロパティを追加できるが,現実のプログラムではオブジェクトが持つプロパティ集合(クラス)のバリエーションは多くない.そこで,個々のオブジェクトをクラスへのポインタと配列(値配列)の組で表現し,クラスがプロパティ名から配列のインデックスへの対応表を持つ実装が一般的である.クラスは複数のオブジェクトで共有でき,メモリ効率がよい.
しかし,プロパティの追加のたびに,(1)値配列を拡張するために配列全体のコピーする必要があり実行が遅くなる,(2)プロパティが追加されたクラスを効率よく探すために,全てのクラスを木構造で保持しておく必要があり,eJSが対象とするようなメモリの少ない環境では,メモリを圧迫するという問題があった.
本研究では,特に組込みシステムのプログラムでは,同じプログラム中の位置(割り当てサイト)で作られたオブジェクトのほとんどは最終的に同じプロパティの集合を持つという仮定で,割り当てサイト毎に最終的なプロパティ集合を求め,静的言語のオブジェクトのような表現のオブジェクトを作る仕組みを開発した.これにより,(1)の問題が解決する.さらに,最終的なクラス以外は不要になるので中間的なクラスは解放することができ,(2)の問題も解決する.評価に用いたプログラムでは,メモリ使用量を45%削減できた.

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

2019年の渡航は計画通り行い,研究を進めることができた.特に,共同研究相手との議論により,計画よりも単純で効果のありそうな実装方法に至り,その予備的な評価を行うことができた.しかし,2020年2月中旬より新型コロナウィルスの感染拡大が始まり,渡航が不可能になった.共同研究相手は学部長のため,感染拡大の対応で多忙になり共同研究を一時中止せざるを得なくなった.

Strategy for Future Research Activity

現在は共同研究相手に時間ができたため,オンラインで会議しながら研究を進めている.しかし,渡航自粛要請が続いているため,渡航には至っていない.オンライン会議を利用しての研究推進を続けながら,必要に応じて研究期間延長の申請をして渡航の機会を探す予定である.

  • Research Products

    (1 results)

All 2020

All Presentation (1 results)

  • [Presentation] Pre-forming Object Shapes for In-Object Field Allocation in eJS JavaScript VM2020

    • Author(s)
      Tomoharu Ugawa, Richard E. Jones, Stefan Marr
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ

URL: 

Published: 2021-01-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi