並列メモリ割り当てとは何ですか?

並列メモリ割り当てとは何ですか?

並列メモリ割り当てが何であるかを知りたいです。

「メモリ割り当て」とは何かを理解していますが、「並列性」という用語は理解していません。おそらくマルチプロセッサに関連していますか?

また、Cで並列メモリ割り当てを実装する必要があります。おすすめの良いウェブサイト/ページがありますか?

ベストアンサー1

並列メモリ割り当ては、マルチCPUアーキテクチャで実行されるマルチスレッドアプリケーションのメモリ割り当ての問題をカバーします。単一のCPUアーキテクチャと比較して、メモリ共有の競合(ロック、キャッシュの無効化など)を考慮する必要があります。たとえば、同じキャッシュラインにアクセスし続ける異なるCPUで実行される2つのスレッドは、ローカルキャッシュメモリが常に別のCPUによって無効化されるため、CPUがローカルキャッシュメモリの利点を享受できないため、深刻なパフォーマンス低下を経験するできます。

独自のルーチンを作成する前に、hoardなどの組み込みライブラリを使用することをお勧めします。http://www.hoard.org/)、これらのルーチンの堅牢性をテストすることは、発生する可能性がある多くの競合状態のためにやや複雑な作業であるためです。

編集する:

次の文書を見ることができます。http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf- これもホード実装に関する内容ですが、関連する多くの問題を深く説明しているので読んでみる価値があります。

おすすめ記事