ハードウェア
2018-01-13

MeltdownとSpectre

MeltdownとSpectreが騒がれている。iOSとMac OSはアップデートされた。linuxはカーネルがアップデートされたはずだが、これはいつされたのか気が付かなかった。去年の年末かな。Windowsはもう使わないので知ったこっちゃない。

投機的実行が脆弱性の原因だ。私は投機的実行は嫌いで、遅延分岐の方が好きだった。最近流行りの多段パイプライン構造にするには投機的実行の方が楽だという理由で、遅延分岐は廃れ投機的実行が主流になった。投機的実行をしたときに使われなかった結果とレジスタがアクセスできる形で保存されているのが今回の脆弱性の原因なので、そこを変えれば容易に対処できるが、シリコンは作り直しになる。今存在しているCPUで対処するにはマイクロプログラムを変えなければならない上にOSも変更が要るので容易ではない。

続きを読む
linux
2018-01-11

wanderlustがdebianのパッケージとしてまだあった

libretto20にRedhat4.2を入れていた20年前,X Windowは動いたのだが画面が小さすぎて見にくいのでコンソールモードで使うことが多かった.IMAPに対応しているテキストメーラーとしてemacsのwanderlustを愛用していた.まだコンピュータ業界で日本語処理の方針が定まっていなかったころはemacsがいちばんうまく日本語を扱えた.nemacsと言ってた.そんな時代がしばらく続いたのだが,画面が広くて軽いノートパソコンが現れてX Windowをメインで使うようになったときGUIのメーラーに移ってしまった.そしてwanderlustもemacsのことも忘れて10年以上経った.今日たまたまSynapticパッケージマネージャをいじっていて”wanderlust”と検索してみた.そしたら出てきたのだ,wanderlustが.まだメンテされていたとは驚いた.私が最後に使ったのはバージョン2.14だったが,今は2.16になっていた.APEL,FLIM,SEMIといった懐かしいパッケージも同時にインストールされた.emacsを起動してesc x wlと入れると懐かしいwanderlustが起動した.見た目は昔と何も変わっていない.MozillaのThunderbirdを使っている今,wanderlustを使う意味はあまりないが,懐かしいのでしばらく使ってみることにした.

続きを読む
読書
2018-01-11

スタニスワフ・レム 砂漠の惑星

NHKの100分de名著にスタニスワフ・レムのソラリスが取り上げられた.ソラリスは本も映画も存在は知っていたが触れたことはなかった.100分de名著の第一話を見て面白いと思ったので,図書館にあるレムの作品全てを予約した.100分de名著を見てたくさんの人が興味を持ったらしく,ソラリスは70人待ちだった.番組が終わってしばらく経ったが,まだ順番が来ない.予約者が少なかった「砂漠の惑星」が最初に届いた.ソラリスはハードSFを期待させたが,いろいろな謎の答を最後まで示してはくれなかった.それに対して砂漠の惑星はハードSFだ.最後は読者を納得させてしまう答を示してくれた.私はハードSFが好きなので,読んでいてとても興奮し,読み終わった後は満足感につつまれた.レムはすごいよ.ジェイムスPホーガンより早い時代にこんなすばらしいSFを書いていたなんて.レムの他の作品も読みたくなった.図書館から連絡が来るのが楽しみだ.

続きを読む
2018-01-11

Spideroakがフリーズしたとき

Spideroakというクラウドストレージサービスがある.ファイルは暗号化されて保存されるので安心感が高い.また,圧縮されて保存されるようで,クラウド容量より大きいサイズのファイルを保存できる.

しかし,たまにフリーズして動かなくなるときがある.アンインストールとインストールを繰り返しても直らない.試行錯誤して,初期化する方法を見つけた.

ユーザー\AppData\Local\SpiderOak\SpiderOakONE

上記ディレクトリの中身を全部削除してからSpideroakを起動するとフリーズが直る.

続きを読む
linux
投資
2018-01-10

軽いチャートはないものか

Thinkpad R31にDebian Stretchを入れて使っている.ラズパイとは違い,せっかく液晶がついているのだからドル円のチャートを表示しっぱなしにしておきたい.ところがFXプライムのHTML5ブラウザ対応プライムチャートを表示すると,CPUロードが1を越えてしまい,そのまま表示し続けているとファンが回り出す.R31にファンが付いているのに初めて気付いた.これまでファンが回ったことなんてなかった.R31はTualatinコアのPentium 3-M 1133MHzなので,けっこう高性能CPUを積んでいる.チャートを表示するだけなら,軽々こなすはずなんだけど.どこか軽いチャートはないかなあ.

続きを読む
deep learning
FPGA
2018-01-10

Google TPU2が今のところ最高性能

Interface誌の2018年2月号に,世界のAIチップの比較表が載っていた.GoogleのチップTPU2は性能の絶対値でも,性能消費電力比でもトップだった.すごいなGoogle.TPU2を超えたいものだが,FPGAでは無理そうな感じだ.リコンフィギャラブルな点を生かした特長がないとFPGAの立ち位置がないなあ.

同じ2月号の27ページに胸のすくようなインテルの発言が書いてあった.引用記事はもうなくなったみたいなので,そのまま書き写しておく.


GPUにはマシンラーニングに必要のない電気回路が数多く存在する.長年にわたって蓄積された価値のない回路で,非常に数が多い.

ニューラルネットワークは非常にシンプルで,ちょっとした行列の乗算と非線形性で成り立っている.直接シリコンを構築して行うことも可能なのだ.ニューラルネットワークのアーキテクチャに非常に忠実なシリコンを構築すればいい.これはGPUにはできないことだ.


もっと言ってやれと応援したくなるが,こうなると私の敵はnVidiaではなくてインテルになるのかもしれない.nVidia相手なら私でも勝てると踏んでいたが,インテル相手だと勝ち目がないような気がする.インテルってアルテラも買収しちゃったからね.

続きを読む
2018-01-09

ビットコインの本質と欠点の簡単な解説

ビットコインの解説文書はたくさんあるが、どれもブロックチェインとハッシュの説明に枚数を割きすぎていて、肝心のビットコインの本質が見えにくくなっている。本質が見えにくいので欠点も見えてこない。本稿では、ブロックチェインとハッシュの説明をばっさり削って、ビットコインの本質だけを簡単にしかしていねいに解説したい。そして本質から見えてくるビットコインの欠点についても述べる。

ビットコインの本質を理解するのにブロックチェインの知識は実は必要ない。本質を理解すれば自然にブロックチェインの概念が導き出されるからだ。しかしハッシュの知識は必要だ。ハッシュについて知らない人は、wikipediaや他の文献を参照されたい。wikipediaのハッシュの解説は正確だが分かりにくいので、分からないと思ったら他の文献を探してほしい。きっとあなたにぴったりの分かる文献がネットのどこかにある。

ここからが本論だ。ビットコインを使った取引は、ある量のビットコインの所有権がAさんからBさんへ移ったという情報(この情報を以降は取引情報と呼ぶ)で表される。取引情報が正当なものであることを確かめるために、ハッシュを用いる。取引情報のハッシュ値が事前に定めた規則正しい数字の並びを含んでいる(このことを以降はハッシュ値がきれいと呼ぶ)とき、その取引情報は正当であると確かめられる。取引情報のハッシュ値をそのまま計算したのでは、ハッシュ値はまずきれいにならないので、乱数を取引情報に足してハッシュ値がきれいになるようにする。乱数をうまく探せば、その乱数を足した取引情報のハッシュ値はきれいになる。この乱数を探すことをマイニングと呼ぶ。乱数を探し出したマイナー(マイニングする人)には褒美にビットコインが与えられる。つまり、新規に取引が発生しなければマイニングすることはできない。

ビットコインで不正をしようとする悪者は取引情報を改ざんする。AさんからBさんへ所有権が移ったという取引情報を、Aさんから悪者へ所有権が移ったように変造する。変造したままだとハッシュ値が変わってきれいにならないので、乱数を選びなおしてハッシュ値をきれいにする。元の真正な取引情報の乱数探しは多くのマイナー達が分業して行うが、変造取引情報の乱数探しは悪者のみの手で行わなくてならないので計算量的に困難な作業になる。これで根気のない悪者はふるい落とされる。根気のある悪者は時間をかけて乱数探しを続け、いつかきれいなハッシュ値をもたらす乱数を見つけるかもしれない。しかしそれはビットコインのルール「互いに矛盾する取引情報が複数あったら、最も長い取引情報を真正なものとみなす」ではじかれる。長い取引情報とは何か。実はビットコインは取引の情報を削除するということはせず、最初から現在まで延々記録するのだ。最初のビットコインの持ち主がAさんだとして、それをBさんへ渡すとAさんからBさんへ渡した取引情報が生成される。そのときマイニングが行われ、取引情報のハッシュ値をきれいにする乱数が探し出される。次にBさんがCさんへビットコインを渡すと、先の取引情報にBさんがCさんに渡したという内容を足した取引情報が生成され、それについてもマイニングが行われ、取引情報のハッシュ値をきれいにする新たな乱数が探し出される。そしてCさんからDさんへ、DさんからEさんへと延々取引情報は追加され続け、その都度乱数が探し出される。先の悪者の話に戻ると、悪者はAさんからBさんへ渡したという取引情報をAさんから悪者へ渡したという取引情報に変造して、それを正しいものに見せかける乱数を自ら探し出して変造取引情報を完成させるが、悪者が変造取引情報を完成したころには、真正の取引情報はCさんDさんの辺りか、もっと先の方まで伸びている。なぜなら真正の方はたくさんのマイナーが力を合わせて乱数探しをするので、悪者より速く処理が終わるからだ。真正の方が長いので悪者の変造取引情報は信用されない.このような処理とルールにより、取引情報が次から次へと生成され続ける限り、悪者が不正をするのはとても困難になる。ここまで読んだ人は「ビットコインはよく考えられているなあ」「ビットコインは信用できる」と思うだろう。そして世の中の解説記事はたいていここで終わっている。しかし、事はそう甘くはないのである。

ビットコインには技術的な欠点がひとつ、地球環境に関わる欠点がひとつ、そして道義的な欠点がひとつあるのだ。それぞれ解説しよう。

まず技術的な欠点だが、それは決済のコストがスケーラブルではないので、ビットコインの取引が増えたら、やがて破たんすることである。何か商取引が行われて新たな取引情報が生成されたら、マイニングを行い乱数探しが完了するまで、その取引情報は正当なものと認められないことを思い出して欲しい。今はまだビットコインで決済できる店が少ないし、使う人も少ないので、取引情報の増加率は小さい。今マイニングしているメンバーだけで、なんとか乱数探しが間に合っている。ところがコンビニでビットコインの利用が可能になって、ビットコインの利用者が増えたらどうだろうか。今の何千倍、何万倍という取引情報が発生することになる。それら全てについて乱数探しをするにはマイナーの数が足りない。コンビニでコーヒー1杯買うのに、決済が完了するまでレジの前で5時間待たされるなんてことが普通に起こるようになるのだ。そしてそれは実際に起こった。去年の12月のことだ。まだコンビニで使えるようになってもいないのに、決済に4時間半かかるようになってしまった。これではこの先使い物になるはずがない。

次は地球環境に関わる問題だ。これはもうたいていの人が分かっていると思う。ビットコインの乱数探しのときは、乱数を作っては取引情報のハッシュ値を計算しすることを、きれいなハッシュ値になるまで繰り返す。ハッシュ値の計算はCPUで行うと遅いため、GPUカードを用いる。いちばんよく使われているGPUカードがnVidiaのGeForce GTX 1080だ。この消費電力が約180W。個人のマイナーはこのGPUカードを1枚から数十枚使う。組織でマイニングしている場合はこのGPUカードを数千から数万枚使う。1万枚使っているとすると、消費電力は180×10000=1800000W=1800kWだ。巨大なオフィスビルの空調の消費電力を遥かに超える。今世界には組織でマイニングしている連中が数十、個人でマイニングしているマイナーが数万人いる。マイニングにかかる電力は想像を絶する。それらの消費電力は大半が火力発電でまかなわれている。発電の基礎データはココを参照のこと。組織でマイニングしている連中は中国に多く、中国は石炭で発電している。こんなことをしたら地球温暖化を助長するだけだ。それなのに巷のパソコン雑誌には個人でのマイニングを勧めるような記事が氾濫している。なんと無責任なことだろうか。

最後に道義的な欠点だ。ビットコインの発案者サトシ・ナカモトを始め、仮想通貨の発案者は、仮想通貨を社会に発表する前に、自分の分をしこたまため込んでから行うのだ。社会に発表した後、仮想通貨が実際の通貨に変換できるようになったら、しこたまため込んだ自分の分を現金に変えてしまう。どれだけ自分の分をためこんでおくかは発案者の自由だ。こんなことが許されて、まともな経済活動と言えるだろうか。小学生でも分かる。「まともな訳ないだろう」と。

欠点だけ挙げて、建設的な意見を言わないのは私の主義に反するので、どうしたら良いかは言っておく。道義的な欠点は、仮想通貨の発行を公正でオープンな機関が行えば解決できるだろう。しかし、公正でオープンな機関というのはそうそうない。国の政府であっても、中国政府とかだったら、自分の分をしこたまため込んでから仮想通貨を発行することを平気でしてしまう。信用できるのは日本政府とか欧州の政府とか米国政府くらいか。技術的な欠点と地球環境的な欠点を解決するのははっきり言って難しい。ビットコインのセキュリティはマイニングに時間がかかることに依存しているからだ。マイニングを軽くしてしまうと、不正をする機会を増やしてしまう。消費電力を少なくするためにマイニングのアルゴリズムを軽くしても同じことが起こる。かなり大きな技術的ブレイクスルーがないと解決は難しいだろう。

現在は上に挙げたような状況なので、ビットコインや仮想通貨への正しい対応は「しばらく関わらない」というのが正しい。道義的な問題があるのだから、マイニングに個人が手を出すのもお勧めできない。悪党に手を貸すのと同じだからだ。

 

 

続きを読む