【レポート】
MICRO-39において、Intelは2件の論文を発表している。1件は並列プログラムを書きやすくする切り札と考えられているトランザクショナルメモリに関する論文であり、マルチコア化を推し進めているIntelとしては重要な分野の研究である。もう1件はチップを張り合わせる3次元実装を用いることにより、プロセサの性能をどのように改善できるかという研究である。3次元のダイ(チップと同義語)スタックの研究に関しては、IntelのチーフテクノロジオフィサーであるJustin Rattner氏が2005年のIDF Springにおいて、2015年に向けてやっているという研究の中で言及しており、その系列の研究の一端を発表したものと考えられる。
この論文の研究を説明するには、トランザクションやトランザクショナルメモリの知識が必要であり、かなりバックグラウンドの説明が必要である。
一例として、ATMによる預金の引き出しというトランザクションを考えると、残高と引き出し額を比較し、残高が十分にあれば残高から引出し額を引いて、かつ、ATMに対して引出し額を払いだすよう指示する。残高が不足の場合は、残高を引出し額として、残高をゼロにする。
複数のプロセサで並列処理を行っていると、プロセサ1が8万円の引出し要求を受け付け、(1)で残高を読み処理を開始するが、それより一瞬遅れて、プロセサ2が同じ口座への5万円の引出し要求を受け付けて(2)で残高を読むと、両方とも残高は10万円になってしまう。そしてプロセサ1が引出し処理を終わって(3)で残高に2万円と書き込むが、続いてプロセサ2が10万円-5万円=5万円で、(4)で残高に5万円と書き込んでしまう。つまり、10万円の残高の口座から、合計13万円引き出したのに、残高が5万円も残るという問題がおきる。このようにほぼ同時に同じ口座にアクセスが来るという状況はATMの場合はありそうもないが、大規模なオンラインストアなどで、多数のオペレータが問い合わせに対して在庫を確認して納期回答し、注文を受けるような場合には発生しうる。
このため、一般的には、引き出しの処理は残高のデータに対してロックを用いて独占アクセス権を確保してから処理を行い、残高の更新が終わった時点でロックを解除して、他の処理がそのデータをアクセスすることを可能にするという方法がとられる。
この例ではロックすべきデータが1個なので簡単であるが、一般的なアプリケーションでは複数の資源に対してロックを掛ける必要がある。資源AとBを必要とする二つの処理があるとき、一方の処理が資源Aをロックして資源Bのロック解除を待ち、もう一方の処理が資源Bをロックして資源Aのロックの解除を待つという状況になると、どちらも先へは進めずデッドロックとなる。資源が二つ程度であれば大して難しくは無いが、多数の資源と、それらをロックして使う各種の処理があるようなアプリケーションでデッドロックが発生しないようにするのは大変であり、これが並列処理プログラムの開発が困難であるという大きな原因となっている。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |
|
日本の影響でオタク文化が発達!? 設楽統と杉崎美香がシンガポールのエンタメを探る! [00:07 2/11] キャリア |