タグ

algorithmとGCに関するyuguiのブックマーク (4)

  • 中里一日記: 弱参照キャッシュの罠

    弱参照キャッシュの罠 Javaの弱参照をキャッシュに使いましょう、という話がよくある。しかしこの手を考えなしに使うと、罠にはまる。私がはまった。 キャッシュ対象を生成する操作で、大量のメモリを確保・解放したら、なにが起こるか? あるときはなにも起こらない。あるときはガベージコレクションが起こる。起動後しばらくは前者であることが多い。起動からしばらくすると、後者がぼちぼちと起こるようになる。 ガベージコレクションは弱参照を消してしまう。 ということは、だ――キャッシュ対象Aを生成するときにB, C, D...が消されてしまい、その消されたBを生成するときにA, C, D...が消されてしまい…… という現象が起こる。しかもこの現象は、起動直後には起こらず、しばらく経ってから起こるようになる。 いったんこの現象が起こると、まるでスイッチが入ったように止まらなくなる。特に、複数スレッドでキャッシ

  • Network Attached Processing の Pauseless GC

    更新履歴 (2005.11.18) 脚注*2を加筆。 (2005.11.17) 文章を推敲。 (2005.11.14) NMT bit の read barrier について嘘を書いていたので修正。 目次 前置き Pauseless GC Marking Phase Relocation & Remap Phase おしまい 参考文献 Azul Sysmtes (米日) は Java や .NET に特化した専用計算機 Network Attached Processing (NAP) を提唱し、 製品として Azul Compute Appliance を開発した。 Azul Compute Appliance は、 すでに稼動中の Solaris/Linux の J2SE/J2EE システムの Java VM を Azul Systems が提供するスタブ JVM に置き換えるだけで、

  • Mostly-Concurrent Mark & Sweep GC のアルゴリズム

    目次 1. 前置き 2. HotSpot VM 1.4.x の GC の種類 3. Mostly-concurrent Mark & Sweep 4. 応用 4.1 世代別 GC との組み合わせ 4.2 カードマーキング (Card Marking) 4.3 並列化 (Parallel GC) 4.4 ビットワイズ・スイープ (Bitwise Sweep) 4.5 インクリメンタル・コンパクション (Incremental Compaction) 5. 参考文献 脚注 コメント 1. 背景 ガーベージコレクション(GC) には色々なアルゴリズムが存在するが、大雑把に言って Stop-the-World (STW) 型 GC と On-the-fly 型 GC に大別される。 STW 型の GC はプログラムの実行中にはガーベージの回収を行わず、メモリが枯渇した時になって始めてガーベージの回

  • Garbage Collection: Algorithms for Automatic Dynamic Memory Management: 洋書: Richard Jones,Rafael Lins

    Garbage Collection: Algorithms for Automatic Dynamic Memory Management: 洋書: Richard Jones,Rafael Lins
  • 1