質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

マルチスレッド

マルチスレッドは、どのように機能がコンピュータによって実行したのかを、(一般的にはスレッドとして参照される)実行の複合的な共同作用するストリームへ区分することが出来ます。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Q&A

解決済

2回答

1568閲覧

非同期処理の仕組みはマルチスレッドもしくはマルチプロセスですか?

DeepRoastBeans

総合スコア81

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

マルチスレッド

マルチスレッドは、どのように機能がコンピュータによって実行したのかを、(一般的にはスレッドとして参照される)実行の複合的な共同作用するストリームへ区分することが出来ます。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

0グッド

1クリップ

投稿2024/12/08 03:38

非同期処理の仕組みは、ググって記事などを読むと同時にタスクを実行する仕組みとありますが、これはマルチスレッドもしくはマルチプロセスを使っている仕組みなのでしょうか?イマイチ理解できなかったので詳細や違いを教えて欲しいです。

■マルチスレッド 1つのプログラム内で同時に処理を実行
e.g. PythonでいうThreadPoolExecutor、threading
■マルチプロセス 複数のプロセス(システムリソース)で同時に処理 
e.g. PythonでいうProcessPoolExecutor

※質問の背景
Blockchainのsolanaは非同期処理によって早いトランザクションスピードを実現しているようですが、その仕組みを研究しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Blockchainのsolanaは非同期処理によって早いトランザクションスピードを実現しているようですが、その仕組みを研究しています。

暗号通貨における「同期処理」「非同期処理」というのは、トランザクションの承認アルゴリズムに関するものであって、
プログラミング言語におけるマルチスレッドやマルチプロセスと言った観点での「同期処理」とは切り口が異なります。

したがって、solanaの仕組みを調べようとしているときに、マルチスレッドやマルチプロセスの詳細を知ろうとしてもあまり意味がありません。

言い換えると、「Blockchainのsolanaが非同期処理によって早いトランザクションスピードを実現している仕組み」を調べようとなら、「マルチスレッド」や「マルチプロセス」と言ったキーワードは(関係性がゼロというわけではないが)関係性が遠いため、これらのキーワードから辿っていくのは効率が悪いです。

むしろ「Proof of History」や「Proof of work」といったキーワードから、Solana 以前の代表的な暗号通貨(イーサリアムやビットコインなど)の仕組みをまずつかみましょう。そのうえで、Solana はそれらとどう違うのか、と言った観点から情報を収集すべきだと思います。

投稿2024/12/08 04:12

patapi

総合スコア874

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DeepRoastBeans

2024/12/08 04:25

つまりsolanaの「PoS, Proof of History, Tower BFT」でいう非同期処理というのは、BTCの「PoW」などと違って、ノード間でブロック承認の検証をしないという意味での非同期処理という理解であってますか?
patapi

2024/12/08 05:40

「ノード間でブロック承認の検証をしないという意味での非同期処理」→おおむねyes。 なお、Tower BFT は攻撃への耐性の話で、PoSは報酬承認の受け取りの話でしょう。これらはPoHにおける非同期処理と直接には無関係です。
guest

0

ベストアンサー

ご質問の、「非同期処理の仕組み」については、アーキテクチャやモデルによって様々です。

たしかに、プロセスやスレッドの分散処理において、それぞれ非同期に処理をすることを非同期処理といいます。しかし、非同期処理と呼ぶものには他にも色々なアーキテクチャやモデルがあるので、Solanaの非同期処理を、マルチスレッドやマルチプロセスモデルで説明することが、妥当かどうかはわかりません。

詳細は承知していませんが、Solanaの説明を読むと、各ノード(=各コンピューター)が、それぞれのノードと非同期にトランザクションを処理するので高速でスケールするのだということが書かれています。

つまり、複数ノードの分散処理において、個々のノード(=コンピュータ)が、連動しつつも、他ノードの処理を待たないで、処理ができるので、従来のボトルネックが解消されるという意味だと思いました。

そういうことなので、マルチスレッドやマルチプロセスとは、扱う層が違うと思います。従来のブロックチェーンプロトコル上では、同期処理が必要だった部分が、非同期で処理できる新たな仕組みを考えたよ。って感じでしょうか。

詳細については、従来のブロックチェーンのスーパーマジョリティの仕組みを調べると良いかもしれません。なぜ同期が必要なのか、なぜトランザクションが遅延するのかが分かったうえで、Solanaの PoH の仕組みを理解するのが 近道のような気がしました。

ご参考まで。

投稿2024/12/08 04:55

take88

総合スコア1467

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DeepRoastBeans

2024/12/08 05:21

素晴らしいですね。ありがとうございます! ※非同期処理に様々なアーキテクチャ、モデルがあるんですか。。。深いですな。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問