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

2022 Fiscal Year Research-status Report

Application-Specialised Memory Management for Embedded Systems

Research Project

Project/Area Number 18KK0315
Research InstitutionThe University of Tokyo

Principal Investigator

鵜川 始陽  東京大学, 大学院情報理工学系研究科, 准教授 (50423017)

Project Period (FY) 2019 – 2023
KeywordsJavaScript / メモリ管理 / hidden class / インタプリタ / 遺伝的アルゴリズム / ストレージストラテジ / 動的言語
Outline of Annual Research Achievements

本年度は,事前プロファイリングによってJavaScriptプログラムで使われるオブジェクトの実行時型の集合と実行時型の遷移を求め,それに基づき実行時型を表すデータ構造である隠れクラスと実行時型の遷移を表す遷移グラフを事前に構築する手法を研究した.JavaScriptでは実行中に任意のプロパティをオブジェクトに追加することができ,それによってオブジェクトの実行時型は変化する.どのようなプロパティがいつ追加されるかは一般にはプログラムを実行してみなければ分からない.そのため,オブジェクトを作る時に,そのオブジェクトが最終的にどのような型になるかを決定できず,適切な大きさのメモリ領域を割り当てることができない.そこで,実行中にオブジェクトのメモリを割り当て直すか,最初に余分にメモリを割り当てる方法が用いられる.これらは,どちらも実行時間かメモリ消費量のオーバヘッドを伴う.
本研究では,事前プロファイリングによって,プログラム中のオブジェクトを生成する各文によって作られたオブジェクトがどのような動的型の変遷をたどる可能性があるかを調べ,オブジェクトの動的型の遷移を表すデータ構造をプログラム中の各オブジェクト生成文に関連付ける.これを用いて,実行時にはオブジェクト生成時に最適な大きさのメモリを割り当てることができ,オーバヘッドを減らすことができる.
さらに,オブジェクトの型が変化しなくなることで,Javaのような静的型付け言語のような最適化が可能になる.本研究では,オブジェクトの型を利用してハードウェアでメモリを圧縮する技術への応用も研究した.
この他,コレクションデータ構造を特定の要素型に特化させてアクセスを高速化する手法(ストレージストラテジ)を応用して,配列の要素のサイスを減らす研究や,インタプリタの命令ハンドラの並べ順を遺伝的アルゴリズムで最適化する研究を行い,国内外で発表した.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

2021年度までは新型コロナウィルスの影響により渡航を見合せていたが,2022年度は渡航して共同研究を進めることができた.
当初の計画にあったプログラム毎に仮想機械を最適化することでメモリ使用量を削減する研究として,事前プロファイリングによる隠れクラスグラフの最適化の研究を行った.渡航前のリモート会議システムを使った意見交換や渡航先で直接の打ち合わせで順調に進めることができ,その成果は仮想機械に関する国際ワークショップに採択された.
また,当初の予定になかった,インタプリタの命令実行部分を高速化する研究のアイデアも生まれ,その研究にも取り組んだ.その成果はソフトウェア関係で評価の高いシンポジウムに採択された.
さらに,ストレージストラテジを応用して配列のメモリ消費を抑える研究や,ハードウェアを用いてメモリを圧縮する研究でも一定の成果が得られている.

Strategy for Future Research Activity

2022年度までで計画にあるほぼ全ての研究を終えた.2023年度は研究の総括として,開発したJavaScript処理系の整備と公開を行う.また,共同研究先の研究者と今後も交流関係を維持,深化させ次の共同研究につなげるための活動を行う.

  • Research Products

    (6 results)

All 2023 2022

All Journal Article (3 results) (of which Int'l Joint Research: 1 results,  Peer Reviewed: 3 results) Presentation (3 results) (of which Int'l Joint Research: 1 results)

  • [Journal Article] Optimizing the Order of Bytecode Handlers in Interpreters using a Genetic Algorithm (掲載予定)2023

    • Author(s)
      Wanhong Huang, Stefan Marr, Tomoharu Ugawa
    • Journal Title

      Proceedings of the 38th Annual ACM Symposium on Applied Computing

      Volume: - Pages: -

    • Peer Reviewed / Int'l Joint Research
  • [Journal Article] ストレージストラテジーによる組み込み向け JavaScript バーチャルマシンのメモリ使用量の削減 (掲載予定)2023

    • Author(s)
      永谷 龍彦, 鵜川 始陽
    • Journal Title

      コンピュータソフトウェア

      Volume: - Pages: -

    • Peer Reviewed
  • [Journal Article] Generating Virtual Machine Code of JavaScript Engine for Embedded Systems2022

    • Author(s)
      Yuta Hirasawa, Hideya Iwasaki, Tomoharu Ugawa, Hiro Onozawa
    • Journal Title

      Journal of Information Processing

      Volume: 30 Pages: 679-693

    • DOI

      10.2197/ipsjjip.30.679

    • Peer Reviewed
  • [Presentation] Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded Systems2022

    • Author(s)
      Tomoharu Ugawa, Stefan Marr, Richard E. Jones
    • Organizer
      The 14th ACM SIGPLAN International Workshop on Virtual Machines and Language Implementations
    • Int'l Joint Research
  • [Presentation] Cooperative Memory Management of a JavaScript Virtual Machine with Datatype based Hardware Memory Deduplication2022

    • Author(s)
      Zihan Li, Tomoharu Ugawa, Ryota Shioya
    • Organizer
      日本ソフトウェア科学会 第39回大会
  • [Presentation] フラッシュメモリを持つマイコン向けJavaScript仮想機械の文字列管理2022

    • Author(s)
      近森凪沙, 高田喜朗, 鵜川始陽
    • Organizer
      第24回プログラミングおよびプログラミング言語ワークショップ

URL: 

Published: 2023-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi