タグ

Memoryに関するpaellaのブックマーク (6)

  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • メモリバリアを理解するために必要な3つのこと - yamasaのネタ帳

    Togetter - 「メモリバリアとガチャピン先生」 上の話において、「メモリバリア」の意味するところをもう少し明確にすべきかなあと思ったので、簡単にまとめてみます。 「メモリバリア」が満たすべき性質は、以下の3つに分類することができます。 atomicity release/acquire fence sequential consistency これらの性質は、C++0xのmemory_orderと以下のように対応しています。 C++0x memory_order 持っている性質 memory_order_relaxed atomicity memory_order_acquire, memory_order_release, memory_order_acq_rel atomicity + release/acquire fence memory_order_seq_cst ato

    メモリバリアを理解するために必要な3つのこと - yamasaのネタ帳
    paella
    paella 2011/02/20
    「release/acquire fence では、release操作とacquire操作の対によってアクセスの順序付けを」並行プログラミングでときどき勘違いするので、注意注意。
  • 仮想メモリーを支えるもうひとつのキャッシュ TLB (1/3)

    仮想アドレスと物理アドレスを変換する Address Translationの基 前回はメモリーの階層構造と同様に、複数段階のキャッシュ構成があることを説明した。今回はちょっと見方を変えた話をしたい。まず、キャッシュという形でCPU内部に搭載されている、別のメモリーについて触れよう。 ご存知の通り、1次キャッシュは通常「ハーバード・アーキテクチャー」と呼ばれる構造に基づき、命令用とデータ用がそれぞれ別に用意される。詳細は後述するが、2次キャッシュや最近では3次キャッシュを搭載するプロセッサーも多くなった。ただ、これらはいずれも「プログラムそのもの、およびプログラムの実行時に利用されるデータ」である。 「ではそれ以外に何かあるのか?」と言われると、これが結構ある。一番多く利用されるのが「TLB」(Translation Lookaside Buffer)と言われるものだ。これは「仮想記憶」

    仮想メモリーを支えるもうひとつのキャッシュ TLB (1/3)
    paella
    paella 2010/11/11
    キャッシュについて。TLB(Translation Lookaside Buffer)、そしてハーバード・アーキテクチャー。
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    paella
    paella 2010/09/23
    一般的なメモリ管理(仮想化・ページの概念)の話を踏まえて、カーネル空間とユーザー空間でどのようにメモリの情報をやり取りしているか、関連するAPIを解説。ふむふむ。
  • Windowsの物理メモリの使用状況 - なひたふJTAG日記

    Windowsの物理メモリがどのように使われているかを調べてみました。 (当に正しいかどうか怪しいですけど・・) 検証に使ったマシンは、メインメモリ2GBで、OSはWindowsXPです。 次の図は、OSが起動してからあまり時間が経っていないときに、mallocして確保したメモリが、物理メモリ上でどのアドレス(物理ページ)に配置されるかを図にしてみたものです。 16MBytesの領域をmallocで確保して物理ページを調べ、その後freeし、再びmallocして調べ・・ということを延々と繰り返しています。 なお、画面上の1ドットが1物理ページ(=4096バイト)に対応しています。一度使った点を消していないので、物理アドレス上のどの領域がどんなふうに使われていくかがわかります。 (クリックでアニメーションします。アニメーションGIFのサイズ3882kB) Windowsが起動後間もないので

    Windowsの物理メモリの使用状況 - なひたふJTAG日記
    paella
    paella 2010/05/12
    Windowsが物理メモリをどう使っていくかを調べた結果。アニメ有り。他OSも知りたいし、ツールはどうやって作るのかなあ
  • ReadMe (Libera Memory)

    Libera Memory Mac OS X はディスクアクセス時に生成される IO バッファをメモリ内にキャッシュとして保持し続けます。再度ディスクアクセスが発生した時にそのバッファキャッシュを使うことで処理を速くする仕組みになっています。この仕組みを Unified Buffer Cache(UBC)といいます。 アクセスがなければ古いバッファキャッシュから消えていきます。普通に OS を使う程度であれば、UBC は快適さを提供してくれます。しかし、たとえば巨大なファイルを多量に次から次へと処理し続けるような状況では、再利用されることのない不要なバッファキャッシュがどんどん溜まり、物理メモリの空き容量が圧迫されてシステムのパフォーマンスが低下してしまうことがあります。 技術には必ず「落としどころ」があります。それが優れた技術であるならなおさらです。UBC もすべての状況でその利点を発揮

    paella
    paella 2009/06/25
    アクセスがなければ古いバッファキャッシュから消えていきますが、実際はなかなか消えてくれません。状況によっては物理メモリの空き容量を圧迫することもあります。Libera Memory はこれを素早く安全に消去します
  • 1