Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

コンピュータ、アーキテクチャ、プログラミング、同期・排他制御、ざっくりまとめ2019年12月20日 07時11分16秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 共有資源の排他制御は、やり方を間違えると大変。しかも、並行処理・並列処理だから、タイミングによってバグが出たり出なかったり、非常にやっかい。
 ほんとは、モデルをきちんと定義して、数学的に間違いないことを証明してから、それを実装するのがいいが、なかなかそうもいかない。
 そういうことをやるのが、形式仕様記述(Formal Methods)という分野。興味があれば、最後に関連するぼくのブログを挙げておきますので、読んでください。

 コンピュータの歴史の中で、複数のプロセス、スレッドの同期、クリティカルセクションの排他制御は、非常にたくさん研究され、いろんなモデル、概念、手法、実装がある。
 単一プロセッサ内でのマルチスレッド、マルチプロセスの世界から、マルチプロセッサ、さらにはネットワークでつながった広域分散アーキテクチャの世界まで、さまざまなアイデアと実装がある。
 ざっくりwikipediaレベルの解説をまとめてみた。

■同期、排他制御に関連する概念
https://ja.wikipedia.org/wiki/同期_(計算機科学)
https://ja.wikipedia.org/wiki/排他制御
https://ja.wikipedia.org/wiki/共有メモリ
https://ja.wikipedia.org/wiki/クリティカルセクション
https://ja.wikipedia.org/wiki/不可分操作
https://ja.wikipedia.org/wiki/デッドロック
https://ja.wikipedia.org/wiki/スレッド_(コンピュータ)
https://ja.wikipedia.org/wiki/スレッドセーフ
https://ja.wikipedia.org/wiki/アクターモデル
https://ja.wikipedia.org/wiki/ABA問題

■アーキテクチャレベル
https://ja.wikipedia.org/wiki/NUMA
https://ja.wikipedia.org/wiki/シェアード・ナッシング・アーキテクチャ
https://ja.wikipedia.org/wiki/ビジーウェイト
https://ja.wikipedia.org/wiki/プロセス間通信
https://ja.wikipedia.org/wiki/キャッシュメモリ
https://ja.wikipedia.org/wiki/キャッシュコヒーレンシ
https://ja.wikipedia.org/wiki/バススヌーピング
 バススヌーピングは、スヌープキャシュともいわれる。

■ハードウェアレベル
 これらのハードウェアのサポートをベースに、後述、ソフトウェアレベルの実装が行われる。
https://ja.wikipedia.org/wiki/テスト・アンド・セット
https://ja.wikipedia.org/wiki/コンペア・アンド・スワップ
https://ja.wikipedia.org/wiki/フェッチ・アンド・アッド
https://ja.wikipedia.org/wiki/Load-Link/Store-Conditional

■ソフトウェアレベル
 OSのAPIでのサポートもさまざま。
 プログラミング言語では、専用構文を設けてサポートするものやライブラリレベルでサポートするものなど、さまざま。
 次のリストは、大体、下にいくほど抽象化レベルが高くなっているつもり。

https://ja.wikipedia.org/wiki/セマフォ
https://ja.wikipedia.org/wiki/ロック_(情報工学)
https://ja.wikipedia.org/wiki/スピンロック
https://ja.wikipedia.org/wiki/ミューテックス
https://ja.wikipedia.org/wiki/Lock-freeとWait-freeアルゴリズム
https://en.wikipedia.org/wiki/Readers–writer_lock
https://ja.wikipedia.org/wiki/リード・コピー・アップデート
 read-copy-update、RCU
https://ja.wikipedia.org/wiki/モニタ_(同期)
 モニタの説明の中に、条件変数の説明もある。
https://ja.wikipedia.org/wiki/メッセージ_(コンピュータ)
 メッセージの説明の中に、メッセージパッシングの説明もある。
https://ja.wikipedia.org/wiki/ソフトウェアトランザクショナルメモリ
https://ja.wikipedia.org/wiki/Future_パターン
 いわゆるFutureとPromise。C++やJavaScriptにも入っている。

 ざっくり、言語やライブラリのサポートでいうと。
 C++には、アトミック変数、ミューテックス、Future/Promiseがある。
 Javaの同期・排他制御のモデルの基本はモニタ。Futureもある。
 Scalaは、いっぱいある(笑)。
 Erlang, Elixirはメッセージパッシング(メールボックス)。
 Clojureはソフトウェアトランザクショナルメモリ(STM)もサポート。
 FutureとPromiseは、多くの言語で利用可能。最近だと、JavaScriptというかECMA Scriptに入った。

https://docs.scala-lang.org/ja/overviews/core/futures.html
ScalaのFutureとPromise
https://cpprefjp.github.io/reference/future/future.html
C++のstd::future
https://cpprefjp.github.io/reference/future/promise.html
C++のstd::promise

形式仕様記述(フォーマルメソッド、Formal Methods) 関連:
http://iiyu.asablo.jp/blog/2018/11/01/8986910
RISC-V原典 オープンアーキテクチャのススメ。FPGAマガジンNo.18 Googleも推す新オープンソースCPU RISC-Vづくり。FPGAマガジン、いろいろやっとるわ。FPGAと(形式手法, Formal Methods)
http://iiyu.asablo.jp/blog/2018/10/30/8985607
テスト駆動開発(TDD)より、形式手法(フォーマルメソッド、形式仕様記述、Formal Methods)。九州大学(九大)の荒木啓二郎先生が、熊本高等専門学校(熊本高専)の校長に!記念、形式手法とネットワーク技術シンポジウム
http://iiyu.asablo.jp/blog/2006/08/20/491884
形式仕様記述(フォーマルメソッド、Formal Methods)
https://ja.wikipedia.org/wiki/SPINモデルチェッカ

■おまけ
 C++のatomic変数は、ミューテックスより、より基本的、原始的なもの。処理が軽いが、使うのは難しい。ロックフリーなアルゴリズムの実装にも使えるが、ちゃんと動く実装は、ほんとに頭のいい人たちがやらないとだめ。
 ミューテックスは、atomic変数に比べたら遅いが、抽象化が進んでいるので、使うのが楽。
 std::lock_guardなどと一緒に使う。そうしないと、ロックを開放し忘れたりする。

 C++のstd::lock_guard, std::unique_lockなどは、コンピュータサイエンスの同期・排他制御でいうロックとは違う。コンピュータサイエンス一般でいうロックは、低レベルなプリミティブだが、C++のstd::lock_guard, std::unique_lockなどは、ミューテックスなどロック可能オブジェクト(Lockableなオブジェクト)を安全に使うためのクラスになっている。

 std::promise, std::futureは、抽象度が高いクラスで、スレッド間でデータを渡すのに使うといい。
https://cpprefjp.github.io/reference/future/future.html
C++のstd::future
https://cpprefjp.github.io/reference/future/promise.html
C++のstd::promise

 C++には、セマフォがないが、次は、C++11のきれいなコードで、セマフォを実装している。
https://yohhoy.hatenadiary.jp/entry/20120323/p1
yohhoyの日記 技術的メモをしていきたい日記
2012-03-23
mutexの制約とバイナリセマフォ

府中、分倍河原のラーメン、麺屋もろ。いまの限定は「豆乳担々麺」。もう2度食った。なんとまた並んだ。以前の限定、開店2周年記念限定「貝出汁100%の塩らーめん」「燕三条系」「濃厚煮干し」も美味しかった。2019年12月20日 07時11分47秒

ASAHIネット(http://asahi-net.jp )のブログサービス、アサブロ(https://asahi-net.jp/asablo/ )を使っています。
---
 府中、分倍河原のラーメン、麺屋もろ、いまの限定は「豆乳担々麺」。
 豆乳担々麺は、以前、限定で、冷やし豆乳担々麺があったが、今回は、寒い日にぴったりの、アツアツの「豆乳担々麺」。
 美味しかった。レンコンや豆腐を小さなサイコロ状に刻んだトッピングも美味しかった。 担々麺好きで担々麺はよく食べるが、レンコンは初めて。
 もう2度食った。そして1回は、なんとまた並んだ。といっても、数分間ですぐ入れたけど。以前、海老担々麺のときに初めて並んだが、それ以来。そのときも担々麺だったし、今回も担々麺。担々麺だと、並ぶのかな。

 麺屋もろが、めでたく開店2周年を迎えたとき、記念の限定、しかも2日間だけの限定「貝出汁100%の塩らーめん」は、絶品だった。貝の出汁、美味しかった。

https://twitter.com/menyamoro/status/1196306375913041920
--- ここから ---
来月12月1日でここ美好町でオープンして丸2年になります。
--- ここまで ---

https://twitter.com/menyamoro/status/1198939463247773699
--- ここから ---
今回は貝出汁100%の塩らーめんになります
4種類の貝から丁寧に出汁をとり
低温肩ロースと鶏チャーシュー
「マキシマムこいたまご」を取り寄せました
--- ここまで ---
https://twitter.com/menyamoro/status/1200941328810405889
--- ここから ---
様の支えがあり無事に今日を迎えることが出来ました🙇‍♂️
今日明日限定ではございますが
貝出汁の限定ラーメンご用意致しましたので是非ご賞味ください。
--- ここまで ---

 そのほかの限定では、「すごい煮干し極」も食った。この煮干しラーメン、スープが濃くて、ほんとにどろどろ。これもうまかった。
https://twitter.com/menyamoro/status/1191631290828615680

 ほかの限定では、「燕三条系ラーメン」。おれ、背脂系は、もう年だから、まず、食わないけど、これはうまかった。脂が甘くておいしかった。
https://twitter.com/menyamoro/status/1184705321320640512

https://twitter.com/menyamoro
ツイッター 麺屋もろ

関連:
 今年、2019年の分だけね。
http://iiyu.asablo.jp/blog/2019/10/16/9165771
府中、分倍河原のラーメン、麺屋もろ、限定「海老担々麺」、うまかった\(^O^)/ お盆休み明けのゲリラ限定、海老3発はすごかった。初めて行列に並んだ。トンコツラーメン「しょうちゃん」のことも。
http://iiyu.asablo.jp/blog/2019/07/04/9111480
府中:分倍河原:讃岐うどんの喜三郎閉店、トンコツラーメンしょうちゃん開店、パンのyukkaya移転でわかる情報省支配。府中:分倍河原、極私的パン屋感想。ラーメン屋のこともちょこっと。電脳騒乱節〈VOL.1 書き殴り西麻布日記編〉のことも。
http://iiyu.asablo.jp/blog/2019/06/12/9085491
府中、分倍河原のラーメン、麺屋もろ、限定「冷やしらーめん」、うまかった\(^O^)/
http://iiyu.asablo.jp/blog/2019/06/04/9080930
府中、分倍河原のラーメン、麺屋もろ、限定「冷やし豆乳坦々麺」、うまかった\(^O^)/
http://iiyu.asablo.jp/blog/2019/05/05/9068603
府中、分倍河原のラーメン、麺屋もろ、限定は、ほとんどパスタな、バジルソースのまぜそば
http://iiyu.asablo.jp/blog/2019/04/21/9062844
府中、分倍河原のラーメン、麺屋もろ、限定は海老トマトつけ麺、うまい。2度も食った\(^O^)/
http://iiyu.asablo.jp/blog/2019/03/28/9052478
府中、分倍河原のラーメン、麺屋もろで、映画「王様になれ」の撮影。今度の限定は海老ラーメン\(^O^)/
http://iiyu.asablo.jp/blog/2019/03/16/9047974
府中、分倍河原のラーメン、麺屋もろ。今の期間限定は、2日間のみ、人気だった鴨つけめんの第2弾は、バジル!
http://iiyu.asablo.jp/blog/2019/02/02/9031419
府中、分倍河原のラーメン、麺屋もろ。今の期間限定は、スパイスカレーヌードル。これ、好き\(^O^)/ 浅草橋・蔵前・鳥越のタンタンタイガー