論文の概要: CHERI Performance Enhancement for a Bytecode Interpreter
- arxiv url: http://arxiv.org/abs/2308.05076v2
- Date: Tue, 12 Sep 2023 20:19:43 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-14 17:20:52.830919
- Title: CHERI Performance Enhancement for a Bytecode Interpreter
- Title(参考訳): バイトコード解釈のためのCHERI性能向上
- Authors: Duncan Lowther, Dejice Jacob, Jeremy Singer
- Abstract要約: 我々は、ネイティブポインタ(一般に64ビット)と比較して、CHERI機能(128ビット)が大きいため、ある種類のソフトウェアが引き起こすランタイムオーバーヘッドを取り除くことができることを示す。
最悪の場合のスローダウンは100倍(最適化前)から2倍(最適化後)まで大幅に改善される。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: During our port of the MicroPython bytecode interpreter to the CHERI-based
Arm Morello platform, we encountered a number of serious performance
degradations. This paper explores several of these performance issues in
detail, in each case we characterize the cause of the problem, the fix, and the
corresponding interpreter performance improvement over a set of standard Python
benchmarks.
While we recognize that Morello is a prototypical physical instantiation of
the CHERI concept, we show that it is possible to eliminate certain kinds of
software-induced runtime overhead that occur due to the larger size of CHERI
capabilities (128 bits) relative to native pointers (generally 64 bits). In our
case, we reduce a geometric mean benchmark slowdown from 5x (before
optimization) to 1.7x (after optimization) relative to AArch64, non-capability,
execution. The worst-case slowdowns are greatly improved, from 100x (before
optimization) to 2x (after optimization).
The key insight is that implicit pointer size presuppositions pervade systems
code; whereas previous CHERI porting projects highlighted compile-time and
execution-time errors exposed by pointer size assumptions, we instead focus on
the performance implications of such assumptions.
- Abstract(参考訳): マイクロPythonバイトコードインタプリタをCHERIベースのArm Morelloプラットフォームに移植した際、多くの重大なパフォーマンス劣化が発生しました。
本稿では、これらのパフォーマンス問題のいくつかを詳細に検討し、それぞれのケースにおいて、問題の原因、修正、および対応するインタプリタのパフォーマンス改善を、標準pythonベンチマークのセットに対して特徴付ける。
モレロがcheriの概念の原型的物理的インスタンス化であることは認識しているが、ネイティブポインタ(一般に64ビット)に比べてcheri能力(128ビット)が大きいため、特定の種類のソフトウェアによって引き起こされるランタイムオーバーヘッドを排除できることが示されている。
今回のケースでは、幾何平均ベンチマークのスローダウンを5倍(最適化前)から1.7倍(最適化後)に削減しています。
最悪のケースのスローダウンは100倍(最適化前)から2倍(最適化後)まで大幅に改善されている。
以前のcheri移植プロジェクトでは、コンパイル時および実行時エラーがポインタサイズ仮定で露呈されているのに対して、代わりに、このような仮定のパフォーマンスへの影響に注目しています。
関連論文リスト
- Accurate Coverage Metrics for Compiler-Generated Debugging Information [0.0]
多くのツールは、プログラム状態のソース言語ビューを示すために、コンパイラが生成したメタデータに依存している。
局所変数のカバー範囲を測定するための現在のアプローチは粗末な仮定に基づいている。
我々は,デバッグ品質を改善するための言語実装のモチベーションとして,ツールによって計算可能な,いくつかの新しいメトリクスを提案する。
論文 参考訳(メタデータ) (2024-02-07T13:01:28Z) - PACE: A Program Analysis Framework for Continuous Performance Prediction [0.0]
PACEはプログラム分析フレームワークで、保留中のコード更新のパフォーマンスへの影響を継続的にフィードバックする。
コード更新によって機能テストケースの実行時間をマッピングすることで,パフォーマンスのマイクロベンチマークを設計する。
我々の実験は、コード性能の予測において、ニューラル表現されたコードスタイメトリーの特徴において、現在の最先端を75%上回る性能を達成した。
論文 参考訳(メタデータ) (2023-12-01T20:43:34Z) - BTR: Binary Token Representations for Efficient Retrieval Augmented
Language Models [84.17177206798695]
Retrieval augmentationは、大規模言語モデルにおける多くの重要な問題に対処する。
検索拡張言語モデル(LM)の実行は遅く、大量の検索されたテキストを処理するため、スケールが困難である。
1ビットベクトルを用いて各トークンを前処理するバイナリトークン表現(BTR)を導入する。
論文 参考訳(メタデータ) (2023-10-02T16:48:47Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Learning Performance-Improving Code Edits [110.40645687991722]
本稿では,大規模言語モデルを高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、77万以上の競合するC++プログラミングサブミッションペアによる、人間プログラマによるパフォーマンス改善編集のデータセットをキュレートする。
学術・産業で使用されるデファクトシミュレータであるgem5フルシステムシミュレータをベースとした環境を設計する。
これらの技術の組み合わせにより、CodeLlama-13Bでは平均5.65X、GPT-3.5では6.86Xのスピードアップが達成され、人間の最高のパフォーマンス(4.06X)を上回った。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - CryptOpt: Verified Compilation with Randomized Program Search for
Cryptographic Primitives (full version) [12.790826917588575]
暗号は例外であり、多くのパフォーマンスクリティカルなルーチンがアセンブリで直接書かれてきた。
CryptOptは、GCCやClangが生成するものよりもはるかに高速なアセンブリコードに高レベルの暗号関数プログラムを専門とする、最初のコンパイルパイプラインである。
形式検証の面では、FiatOptフレームワーク(関数型プログラムをCライクなIRコードに変換する)に接続し、新たに公式に認証されたプログラム等価チェッカーで拡張する。
論文 参考訳(メタデータ) (2022-11-19T11:07:39Z) - POSET-RL: Phase ordering for Optimizing Size and Execution Time using
Reinforcement Learning [0.0]
位相順序付け問題に対する強化学習に基づく解法を提案する。
Oz Dependence Graph (ODG) と呼ばれるグラフを手動順序付けでモデル化する2つの手法を提案する。
論文 参考訳(メタデータ) (2022-07-27T08:32:23Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z) - Enabling Fast Differentially Private SGD via Just-in-Time Compilation
and Vectorization [8.404254529115835]
差分プライベート機械学習における共通の問題点は、差分プライベートグラディエントDescent(DPSGD)の実行時に発生する重要なランタイムオーバーヘッドである。
我々は、強力な言語プリミティブを利用することで、これらのオーバーヘッドを劇的に削減できることを示した。
論文 参考訳(メタデータ) (2020-10-18T18:45:04Z) - Real-Time Execution of Large-scale Language Models on Mobile [49.32610509282623]
BERTの最良のモデル構造は,特定のデバイスに適合する計算サイズである。
我々のフレームワークは、モバイルデバイスのリソース仕様とリアルタイム仕様の両方を満たすための特定モデルを保証することができる。
具体的には、当社のモデルはCPUでは5.2倍、GPUでは4.1倍、BERTベースでは0.5-2%の精度損失がある。
論文 参考訳(メタデータ) (2020-09-15T01:59:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。