論文の概要: Locksynth: Deriving Synchronization Code for Concurrent Data Structures
with ASP
- arxiv url: http://arxiv.org/abs/2305.18225v1
- Date: Sat, 20 May 2023 20:28:20 GMT
- ステータス: 処理完了
- システム内更新日: 2023-06-04 11:50:35.488556
- Title: Locksynth: Deriving Synchronization Code for Concurrent Data Structures
with ASP
- Title(参考訳): locksynth: asp.netで並列データ構造のための同期コードを導出する
- Authors: Sarat Chandra Varanasi, Neeraj Mittal, Gopal Gupta
- Abstract要約: 並列データ構造に対する破壊的な更新に必要な同期を自動的に導出するツールである Locksynth を提案する。
Locksynthは、抽象同期コードの導出に関するこれまでの作業の実装として機能します。
- 参考スコア(独自算出の注目度): 6.105901090451622
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: We present Locksynth, a tool that automatically derives synchronization
needed for destructive updates to concurrent data structures that involve a
constant number of shared heap memory write operations. Locksynth serves as the
implementation of our prior work on deriving abstract synchronization code.
Designing concurrent data structures involves inferring correct synchronization
code starting with a prior understanding of the sequential data structure's
operations. Further, an understanding of shared memory model and the
synchronization primitives is also required. The reasoning involved
transforming a sequential data structure into its concurrent version can be
performed using Answer Set Programming and we mechanized our approach in
previous work. The reasoning involves deduction and abduction that can be
succinctly modeled in ASP. We assume that the abstract sequential code of the
data structure's operations is provided, alongside axioms that describe
concurrent behavior. This information is used to automatically derive
concurrent code for that data structure, such as dictionary operations for
linked lists and binary search trees that involve a constant number of
destructive update operations. We also are able to infer the correct set of
locks (but not code synthesis) for external height-balanced binary search trees
that involve left/right tree rotations. Locksynth performs the analyses
required to infer correct sets of locks and as a final step, also derives the
C++ synchronization code for the synthesized data structures. We also provide a
performance analysis of the C++ code synthesized by Locksynth with the
hand-crafted versions available from the Synchrobench microbenchmark suite. To
the best of our knowledge, our tool is the first to employ ASP as a backend
reasoner to perform concurrent data structure synthesis.
- Abstract(参考訳): Locksynthは,一定数の共有ヒープメモリ書き込み操作を含む並列データ構造に対する破壊的な更新に必要な同期を自動的に導出するツールである。
locksynthは、抽象同期コードを導出する以前の作業の実装として機能します。
並列データ構造の設計には、シーケンシャルデータ構造の操作を事前に理解することから始まる正しい同期コードを推測することが含まれる。
さらに、共有メモリモデルと同期プリミティブの理解も必要となる。
シーケンシャルデータ構造を並列バージョンに変換するための推論は、応答セットプログラミングを使って行うことができ、前回の作業でアプローチを機械化しました。
推論には、asp.netで簡潔にモデル化できる推論とアブダクションが含まれる。
データ構造の操作の抽象的なシーケンシャルコードは、並列動作を記述する公理とともに提供されると仮定する。
この情報は、リンクリストの辞書操作や、一定の数の破壊的な更新操作を含むバイナリ検索ツリーなどの、データ構造のための並列コードを自動的に導き出すために使用される。
また、左右の木の回転を含む外部高さバランスの2分探索木に対して、正しいロックセット(ただしコード合成は行わない)を推測することができる。
Locksynthは、正しいロックセットを推測するために必要な分析を行い、最後のステップとして、合成データ構造のためのC++同期コードも導出する。
また、Locksynthによって合成されたC++コードのパフォーマンス解析と、Synchrobench microbenchmarkスイートから手作りバージョンを提供する。
私たちの知る限りでは、当社のツールは、並列データ構造合成を実行するためのバックエンド推論としてaspを使用した最初のツールです。
関連論文リスト
- StrTune: Data Dependence-based Code Slicing for Binary Similarity Detection with Fine-tuned Representation [5.41477941455399]
BCSDは、悪意のあるコードスニペットの識別や、コードパターンの比較によるバイナリパッチ解析といったバイナリタスクに対処することができる。
バイナリは異なるコンパイル構成でコンパイルされるため、既存のアプローチはバイナリの類似性を比較する際にも注目すべき制限に直面している。
データ依存に基づいてバイナリコードをスライスし,スライスレベルの微調整を行うStrTuneを提案する。
論文 参考訳(メタデータ) (2024-11-19T12:20:08Z) - Recurrent Complex-Weighted Autoencoders for Unsupervised Object Discovery [62.43562856605473]
複雑な重み付き再帰的アーキテクチャの計算上の優位性について論じる。
本稿では,反復的制約満足度を実現する完全畳み込みオートエンコーダSynCxを提案する。
論文 参考訳(メタデータ) (2024-05-27T15:47:03Z) - Rhizomes and Diffusions for Processing Highly Skewed Graphs on Fine-Grain Message-Driven Systems [0.0]
本論文は,1)実行時にデータからタスクを生成できるプログラミング・実行モデル,2)データが存在する場所に作業を送信するテキスト分割のための言語構成,3)革新的デザインの統一的な共同設計を提供する。
Rhizomesの概念を用いた頂点中心のデータ構造。
シミュレーション実験により,BFS,SSSP,Page Rankのチップサイズに対する性能向上が確認された。
論文 参考訳(メタデータ) (2024-02-08T22:38:14Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - Motion2Language, unsupervised learning of synchronized semantic motion
segmentation [0.0]
動作から言語への変換と同期のためのシーケンスアーキテクチャの構築について検討する。
目的は、モーションキャプチャ入力を英語の自然言語記述に変換し、その記述が実行された動作と同期して生成されるようにすることである。
本稿では、同期/ライブテキスト生成に適した局所的注意の新たな再帰的定式化と、改良されたモーションエンコーダアーキテクチャを提案する。
論文 参考訳(メタデータ) (2023-10-16T17:16:32Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - Generating Concurrent Programs From Sequential Data Structure Knowledge
Using Answer Set Programming [1.4911092205861822]
人間はしばしば、逐次バージョンをそれぞれの同時バージョンに変換することで、同時データ構造操作を設計する。
自動コモンセンス推論を用いて、この設計プロセスを機械化する。
本稿では,シーケンシャルなデータ構造を等価な並列バージョンに変換する上で,いくつかの理由について述べる。
論文 参考訳(メタデータ) (2021-09-17T01:49:42Z) - A Fast Edge-Based Synchronizer for Tasks in Real-Time Artificial
Intelligence Applications [0.8122270502556374]
デバイス間のタスク同期は、AIアプリケーションのタイムリーな進捗に影響を与える重要な問題です。
入力出力タスクの実行と計算タスクをタイムアライメントできる高速エッジベースの同期スキームを開発しています。
論文 参考訳(メタデータ) (2020-12-21T23:02:21Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。