Content-Length: 351061 | pFad | http://b.hatena.ne.jp/yass/concurrency/
4. レジスタ・キャッシュ・RAM • レジスタ • CPU内部のメモリ領域 • 数個∼数十個程度 • 動作速度はCPUと同速度 • CPUはレジスタ内のデータのみ制御/計算可能 • キャッシュ • CPUと直結したメモリ領域 • 数k∼数MBytes • 動作速度はCPUと同速度∼数十分の一 • RAM • CPU外部のメモリ領域 • ∼xxGBytes • 動作速度はCPUの百分の一程度 CPU DRAM HDD 演算回路 レジスタ レジスタ キャッシュ 5. パイプライン • CPUの命令実行部分を機能的に分 割したもの • IF:命令フェッチ • RF:命令デコード • EX:命令実行 • MEM:保存先計算 • WR:保存(メモリ/レジスタ) IF RF EX ME WR IF RF EX M W IF RF EX M W IF RF EX M W IF RF EX M W IF
並行処理をプログラミングする方法は大別すると、 スレッドなどを利用した同期処理的な書き方と イベントを利用した非同期処理的な書き方があります (イベントループ)。 最近 C10K問題 が有名になったことや、 Node.js が流行っていて Node.js のメリットとしてイベントモデルであるため C10Kが解決されるというのが上げられていたりして、 イベントモデルのスレッドに対する優位性が注目されることが多いように思います。 しかし個人的な経験として、ある程度以上複雑なプログラムを書く場合、 イベントモデルで非同期処理を多用してプログラムを書くとスレッドで同期処理を使ってプログラムを書いた場合に比べてプログラムの可読性・保守性が著しく悪くなり、 バグが発生しやすくなるように感じます。 しかも並行処理で起こるバグは特定の処理が特定の順序で実行された場合のみ起こるようなことが多く、 再現性が低
As of May 31, 2023, 8x8's Sameroom chat message relay service has been permanently retired. Notifications for this were sent to both 8x8 and Sameroom customers as of April 28, 2023. Applies To Sameroom (Standalone accounts) 8x8 Team Messaging (X Series accounts) Questions & Answers Why was Sameroom shut down? We relied on 3rd party chat services to maintain their operation in such a way that Samer
I’m writing a series of posts based on my Shmoocon talk. In this post, I’m going to discuss “multi-core scaling”. In the decade leading to 2001, Intel CPUs went from 33-MHz to 3-GHz, a thousand-fold hundred-fold increase in speed. In the decade since, they’ve been stuck at 3-GHz. Instead of faster clock speeds, they’ve been getting more logic. Instead of one instruction per clock cycle, they now e
Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of
This article is also available in Japanese, イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 This article is based on a presentation I gave earlier this year at OSCON. It has been edited for brevity and to address some of the points of feedback I received after the talk. A common refrain when talking about Go is it’s a language that works well on the server; static binaries, powerful concurrency, and high per
以前、このような記事を書きました。 Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26) 前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけにフォーカスして、全体が分かるように整理してまとめ直しました。 目次 概要 準備 タスク・フレームワーク (Executor) 同期キュー シンクロナイザー 並行処理コレクション 時間単位 アトミック値型とアトミック操作 ロック・フレームワーク 概要 今回は、Concurrency UtilitiesのAPIをいくつかのグループに分類し、それぞれのグループの主要な機能を「広く浅く」紹介する、という形式でまとめています。 パッケージ単位で分け、それからjava.util.con
この記事は、個人的なおさらいのための、Java Concurrency Utilitiesの一部を使ったサンプルとメモです。 目新しいものは特にありません。 記事内のサンプルとAPIドキュメント参照はJava7(Java SE 7)を基準にしていますが、Java Concurrency Utilities自体は一部を除いてJava5(Java SE 5.0)から使えるようになっています。 あと、いつものことですが、画像がありません。 追記(2014-01-05): この機能の呼称は (Java) Concurrency Utilities が公式で、この記事内の"Utility"というのは正確ではない+混在していますのでご注意ください。ごめんなさい。 追記(2014-08-15): この記事は、キーワード"Java Concurrency Utilities"でGoogle検索した時に2番
Michael Isard, Derek Murray, and I recently sent in a HotOS submission (it’s not blind, so no harm talking about it, we think). The subject is hinted at from the post title (stolen from the paper title): Big data systems may scale well, but this can often be just because they introduce a lot of overhead. Rather than making your computation go faster, the systems introduce substantial overheads whi
僕はNode.jsとはそんなに関わりはなくてshibを使っているのが唯一の接点なんだけど、http://mozaic.fm/post/99334017903/10-node-jsを聞いてたら大変に面白かったので面白かった部分について書く。 このpodcastは全部で2時間以上あって全部聞くのはなかなか辛いんだけどw 僕が面白いと思った部分はCGI -> マルチスレッド -> シングルスレッド+イベント駆動 という技術の歴史的な経緯のあたりです。 インターネットが出た当初は同時アクセス数も少ないのでCGIが一般的でリクエストがくるたびにプロセスが起動してさばくというモデルで全然問題がなかった。 それがECサイトとか出てきて同時アクセス数が増えてくるとCGIモデルが辛くなってきたので、リクエストをスレッドでさばくマルチスレッドモデルが登場した。 余談だが僕が2002年に社会人になってServl
基本的に関数型言語もScalaもJVM言語も初心者なのでその前提で書かせていただきます。 Scala興味なくても関数型と並列に興味がある人なら必要最低限の情報がうまく俯瞰できるようになっていて非常にいいです。関数型プログラミングの基本概念の副作用、単一代入、参照透明性、カリー化、部分適用、遅延評価、クロージャー、再帰、周りが丁寧に解説されています。アクタープログラミングとパーサーコンビネーターのところもまとまっていてわかりやすかったです。 ただ、タイトルのつけ方で若干損をしている感じはした。 関数型やScalaやりたいんだけど若干敷居高いなと感じてる初心者にはおすすめかと思います。 オブジェクト指向プログラマが次に読む本 ?Scalaで学ぶ関数脳入門 作者: 株式会社テクノロジックアート,長瀬嘉秀,町田修一出版社/メーカー: 技術評論社発売日: 2010/11/13メディア: 単行本(ソフ
2. 自己紹介 •宮川拓です •Kink という JVM 言語を作ってます –https://bitbucket.org/kink/kink •大相撲秋場所に向けて準備中です 1
ここ数日の佐藤先生のエントリが熱い! Erlang、Scala、Go、Javaなどの現代の言語(Erlangは古いか)における並行処理の扱い方について、それぞれの歴史的背景や意義、得手不得手などがわかりやすく紹介されてます。80年代から並行処理やオブジェクト指向を研究されてきた佐藤先生ならではの視点ですね。ちょっと長くなりますが特に私が興味深かった部分を引用します(強調は私): 佐藤一郎: Web日記 (2010年) 最近、興味深いのはオブジェクト指向言語のScalaやErlangが話題を集めていることでしょうか。どちらもActor Modelをベースにしているそうですが、オブジェクト指向言語の歴史でいうと、Actor Modelなどの並行処理用オブジェクト指向言語の研究が盛んになったのは1985年からの6,7年ぐらいだと思います(Actor Model自身はもっと古いですが)。そして19
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/yass/concurrency/
Alternative Proxies: