{"updated":"2025-01-19T15:15:06.525537+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00218149","sets":["1164:1867:10898:10929"]},"path":["10929"],"owner":"44499","recid":"218149","title":["異種プログラミング言語間での高速なデータ共有を実現する軽量データ変換技術"],"pubdate":{"attribute_name":"公開日","attribute_value":"2022-05-19"},"_buckets":{"deposit":"37c26d44-793d-4c41-922a-ac0863983c0a"},"_deposit":{"id":"218149","pid":{"type":"depid","value":"218149","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"異種プログラミング言語間での高速なデータ共有を実現する軽量データ変換技術","author_link":["566690","566688","566689"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"異種プログラミング言語間での高速なデータ共有を実現する軽量データ変換技術"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"クラウド","subitem_subject_scheme":"Other"}]},"item_type_id":"4","publish_date":"2022-05-19","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"慶應義塾大学"},{"subitem_text_value":"富士通株式会社コンピューティング研究所"},{"subitem_text_value":"慶應義塾大学"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Keio University","subitem_text_language":"en"},{"subitem_text_value":"Keio University","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/218149/files/IPSJ-OS22155007.pdf","label":"IPSJ-OS22155007.pdf"},"date":[{"dateType":"Available","dateValue":"2024-05-19"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-OS22155007.pdf","filesize":[{"value":"1.2 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"11"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"fea7a906-5b76-4959-ac25-6d18a916ab62","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2022 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"野澤, 真伸"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"今村, 智史"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"河野, 健二"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10444176","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"2188-8795","subitem_source_identifier_type":"ISSN"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"異種プログラミング言語を併用することで,それぞれの長所を活かしてアプリを実装する場合がある.その際,異種プログラミング言語間でデータ構造を共有する処理が必要となる.データ共有を行うためには,データ構造を特定のプログラミング言語やマシンアーキテクチャに依存しない中立なフォーマットを経由してやりとりすることが一般的である.中立なフォーマットへの/からの変換をシリアライズ/デシリアライズといい,特に不揮発性メモリのような高速ストレージを媒介してデータ共有を行う場合,そのオーバーヘッドは無視できない.本論文では異言語間でのデータ共有高速化の手法を提案する.異言語間でのデータ共有を行う場合,あらかじめデータ共有を行う言語やアーキテクチャが特定できる場合も多く,そのような状況に特化した方式を示す.例えば,数値計算の前処理を Julia で行い,その後の計算処理を Python で行う場合などがある.このような状況では,1) 汎用性の高い中立なフォーマットを用いる必要がないため,シリアライズ/デシリアライズが簡略化できることに加え,2) ランダムアクセスが高速であるという永続メモリの特性を活かしたシリアライズ/デシリアライズ処理が可能となる.提案手法を Python と Julia 間のデータ共有に用い,Python と Julia に実装された従来のシリアライズ/デシリアライズ処理と比較したところ,Python から Julia にデータを送信する場合は,配列のシリアライズとデシリアライズがそれぞれ 1.57 倍と 3.03×106 倍,辞書のシリアライズとデシリアライズが最大でそれぞれ 2.38 倍と 1.23 倍の高速化が可能であることがことが確認できた.また Julia から Python にデータを送信する場合は,配列のシリアライズとデシリアライズはそれぞれ 3.26 倍と 4.06×105 倍,辞書のシリアライズとデシリアライズは最大でそれぞれ 1.78 倍と 14.4 倍の高速化が可能であることが確認できた.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"8","bibliographic_titles":[{"bibliographic_title":"研究報告システムソフトウェアとオペレーティング・システム(OS)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2022-05-19","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"7","bibliographicVolumeNumber":"2022-OS-155"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:18:34.085668+00:00","id":218149,"links":{}}