2007-04-01から1ヶ月間の記事一覧

5km

ずいぶん走ってなかったので、短い距離から。 これでこの距離は3回目で、1回目より4分以上縮めた。 走行距離 5.0km 実時間 23分2秒 走行時間 23分2秒 平均速度 13.0km/h あまり計ったことがなかったので、これでもベスト。 でも、2ヶ月前はもっと速く走れて…

マルチスレッドの効率(6)

タスク数ごとにスレッド数を変えると効率がどうなるかを示した。スレッド数が多くなれば効率があがるが、その分オーバーヘッドが大きくなる。例えば、スレッドが1つ多くなると効率が0.02下がるとする。そのとき、10タスクなら、 2,0.802507 3,0.854111 4,0.8…

マルチスレッドの効率(5)

Nスレッドのときを考える。 例えば4スレッドに6タスク投入のとき、次のような分配が考えられる。 2 2 1 1 3 1 1 1 2 2 2 0 3 2 1 0 4 1 1 0 3 3 0 0 4 2 0 0 5 1 0 0 6 0 0 0 これを出す関数を作るのにけっこうてまどった。 これを出せば、あとは確率とかか…

マルチスレッドの効率(4)

効率が1に近づくことを示すには、 2lCl2-2l → 0 (l → 0) を示せばよい。 スターリングの公式、 を使うと、 となって、緩やかに0に近づく。

マルチスレッドの効率(3)

前回のEの計算は、 これを使えば簡単なことに昨日の夜気がついた。 (n - k)nCk = nn-1Ck まず、 N = 2l + 1 と表せる場合を考える。 I = NNC0 + ... + (N - l)NCl + (N - l)NCl+1 + ... + NNCN とおくと、 I / 2 = 2N-1E = NNC0 + ... + (N - l)NCl = NN-1C0…

マルチスレッドの効率(2)

タスクはランダムに選ばれたスレッドに投入されるとする。 2スレッドのときは簡単で、分配は2項分布で表され、それぞれのスレッドに投入されたタスクの数がa,bとすると、かかる時間はmax(a,b)となる。 だから、合計N個のタスクが投入されるときにかかる時間…

マルチスレッドの効率(1)

最近マルチスレッド化を行ったところ、シングルコアのハイパースレッディング(HT)にもかかわらず、2スレッドより4スレッドの方が速かった。 それより驚いたのは、2コアよりシングルコアのHTのほうが、マルチスレッド化によるスピードアップ率が高かったこ…

東京・埼玉(2)

神田 10:04 〜 10:06 秋葉原 山手線 秋葉原 10:09 〜 12:46 さいたま新都心 京浜東北線 さいたま新都心 15:32 〜 15:35 大宮 高崎線 大宮 16:53 〜 16:56 さいたま新都心 京浜東北線 さいたま新都心 20:08 〜 20:10 大宮 高崎線 大宮 21:17 〜 21:43 池袋 埼…