サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
sakaia.hatenadiary.org
Erlangの軽量プロセスが軽いというので、ちょっと眺めている。 Erlangは、BEAMという仮想機械で動作する。BEAMのソースコードは、erts/emulator/beam以下にある。コンパイルは、erlcコマンドで、.erlから.beamに変換することにより行う。 さて、軽量プロセスってふと思えば、スレッドのことである。しかし、それでも309ワード(1236バイト)というのはすごい(うちヒープのサイズはデフォルト233ワードらしい)。さらに、ネイティブスレッドではなくグリーンスレッドなので、メモリ消費が少ない。軽量プロセスは、spawnの延長で呼ばれるerl_create_process関数で起動している。やっていることは、メモリを取得して、プロセス構造体を定義して、それをrunq(add2runq)につないで終了となっている。これしか作っていないのだから、プロセスの生成は早くて当
AWSがFormal Methodsを使っているというので、見てみる。分散アルゴリズムの検証に、形式手法が有効だったという話である。調べてみると、ACMの記事になる4年も前から、発表されていたらしい。 論文によると How Amazon Web Services Uses Formal Methods | April 2015 | Communications of the ACM AWSでは、2011年からFormal Methodsを使って、重要な分散システムのアルゴリズム設計を行っている。また、外部公開I/Fを単純化して提供することで、大規模な分散システムでサービスを提供できる秘訣となっている。AWSでは、顧客のデータを保護するために、フォールトトレラントな分散アルゴリズムを使っている。また、分散アルゴリズムはたくさんあるが、それらを組み合わせるのは難しい。 TLA+は、プログラマが
このページを最初にブックマークしてみませんか?
『sakaia.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く