私はComputing Scienceプロジェクトを行っています。私はCを使ってマルチプロセッサプログラミングをやっています。私たちには、小さなメモリを割り当てることはできません。必要に応じてメモリを大きなチャンクに割り当てることができます。アレイメモリ管理
私は私のプログラムで構造を使うと想像してください。私のプログラムが動作する方法は、動的メモリ割り当てが必要です。しかし、私たちが使用しているハードウェアは非常に高価です。したがって、最善の解決策は、最初に大きなプールを割り当て、必要に応じてこのプールからメモリを割り当てることです。
私は、これらの構造のビット配列を割り当て、このプールからメモリを割り当てて解放する独自のメモリ管理モジュールを作成します。しかし、私はこれらのモジュールを書くのに最も理想的な方法を知りたい。記憶を管理するのに役立つライブラリがありますか、あるいはこれらが書かれている方法がありますか?
EDIT:ここで私が使用しているプラットフォームは、Ubuntuを実行するAMD opteronシステムです。 opteronsにはNUMAアーキテクチャがあり、メモリを割り当てるときにこれを利用したいと思っています。したがって、mallocを使用する代わりに、私はnuma_alloc_onnodeを使用して、特定のノードにメモリを割り当てます。私はこれを使用して大きなメモリのチャンクを割り当て、このメモリを管理するためにメモリマネージャを使用したいと思います。
と:ここではNUMAアーキテクチャ(記事の最後にソースコード)のヒープマネージャを作成するには良いの読み取りですOSでは誰にでも推薦することは難しいでしょう。 –
@Carey:私が扱ってきたほとんどのメモリ管理システムは、特定のシステム制約について知っていても、かなりプラットフォームに依存しない(Cが利用可能な場所であればどこでも)。組み込みシステムは確かに重要です。 –
@エリック:組込みシステムは私がそれを言及した理由です。 OPは彼が異例のプラットフォームを使用していることを暗示しているようである。 –