ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.14
  4. No.4

PelemayFp: An Efficient Parallelization Library for Elixir Based on Skeletons for Data Parallelism

https://ipsj.ixsq.nii.ac.jp/records/213167
https://ipsj.ixsq.nii.ac.jp/records/213167
9b29b7f2-913b-420a-b1fc-692872c52a99
名前 / ファイル ライセンス アクション
IPSJ-TPRO1404007.pdf IPSJ-TPRO1404007.pdf (30.3 kB)
Copyright (c) 2021 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 2021-09-30
タイトル
タイトル PelemayFp: An Efficient Parallelization Library for Elixir Based on Skeletons for Data Parallelism
タイトル
言語 en
タイトル PelemayFp: An Efficient Parallelization Library for Elixir Based on Skeletons for Data Parallelism
言語
言語 eng
キーワード
主題Scheme Other
主題 [発表概要, Unrefereed Presentatin Abstract]
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
University of Kitakyushu
著者所属(英)
en
University of Kitakyushu
著者名 Susumu, Yamazaki

× Susumu, Yamazaki

Susumu, Yamazaki

Search repository
著者名(英) Susumu, Yamazaki

× Susumu, Yamazaki

en Susumu, Yamazaki

Search repository
論文抄録
内容記述タイプ Other
内容記述 In this presentation, we propose Pelemay Fast Parallel map (PelemayFp), which is a library to parallelize Elixir code, efficiently, based on skeletons for data parallelism. PelemayFp is implemented using only Elixir, like Flow, which is a library of previous works. In Flow, the order of the list after computation is not guaranteed, while in PelemayFp, the order of the list is guaranteed because it is sorting while collecting and merging. On the other hand, Pelemay Super Parallelism (Pelemay), which we proposed, generates native code using SIMD instructions and calls it by NIFs, which is one of FFIs that Erlang provides, without performing multi-core parallelism, guaranteeing the order of the list. We evaluated the integer arithmetic performance by logistic mapping of PelemayFp alone, Pelemay alone, the combination of PelemayFp and Pelemay, Flow, and Enum, which is in the standard library of Elixir. When run on an Intel Xeon W-2191B CPU with 18 cores and 36 threads, the PelemayFp alone is up to 2.1 times faster than Enum. It is also faster than Flow without sorting. On the other hand, the combination of PelemayFp and Pelemay is up to 1.27 times faster than Enum. We also estimated the percentage of parallel execution in the entire code based on Amdahl's law. That of PelemayFp is 48-66 percent, while that of the combination of PelemayFp and Pelemay is 21-46 percent. Further analysis revealed that this experimental results can be explained by assuming that when calling native code from Elixir with NIFs, the part that is not executed in parallel increases by about 40 percent. Therefore, when generating native code including SIMD instructions and adopting the approach of parallelizing with Elixir for speeding up, it will be appropriate to incorporate a code optimization mechanism using SIMD instructions into the JIT, which will be released in the next major version of Erlang, or to use another FFI method, Port, instead of using NIFs.
論文抄録(英)
内容記述タイプ Other
内容記述 In this presentation, we propose Pelemay Fast Parallel map (PelemayFp), which is a library to parallelize Elixir code, efficiently, based on skeletons for data parallelism. PelemayFp is implemented using only Elixir, like Flow, which is a library of previous works. In Flow, the order of the list after computation is not guaranteed, while in PelemayFp, the order of the list is guaranteed because it is sorting while collecting and merging. On the other hand, Pelemay Super Parallelism (Pelemay), which we proposed, generates native code using SIMD instructions and calls it by NIFs, which is one of FFIs that Erlang provides, without performing multi-core parallelism, guaranteeing the order of the list. We evaluated the integer arithmetic performance by logistic mapping of PelemayFp alone, Pelemay alone, the combination of PelemayFp and Pelemay, Flow, and Enum, which is in the standard library of Elixir. When run on an Intel Xeon W-2191B CPU with 18 cores and 36 threads, the PelemayFp alone is up to 2.1 times faster than Enum. It is also faster than Flow without sorting. On the other hand, the combination of PelemayFp and Pelemay is up to 1.27 times faster than Enum. We also estimated the percentage of parallel execution in the entire code based on Amdahl's law. That of PelemayFp is 48-66 percent, while that of the combination of PelemayFp and Pelemay is 21-46 percent. Further analysis revealed that this experimental results can be explained by assuming that when calling native code from Elixir with NIFs, the part that is not executed in parallel increases by about 40 percent. Therefore, when generating native code including SIMD instructions and adopting the approach of parallelizing with Elixir for speeding up, it will be appropriate to incorporate a code optimization mechanism using SIMD instructions into the JIT, which will be released in the next major version of Erlang, or to use another FFI method, Port, instead of using NIFs.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 14, 号 4, p. 4-4, 発行日 2021-09-30
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-19 17:14:52.567779
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3