2016年2月7日日曜日

Bitcoin: A Peer-to-Peer Electronic Cash System

シングルカラムでわずか9ページしかない。簡潔。
  • Timestamp Server がアイデアのもと?t時点のデータをt+1時点のデータのハッシュに組み込むことで、t のデータがt-1よりも先行していることを保証する。Timestamp server では、ハッシュをUsenetに投稿するなどする。
  • Hashのchainが最長のものが真のchainである、というアイディアが本質なのだろうか。
  • Mining と ネットワークの維持が一体化している点も巧み。
仕掛けはなんとなく理解できたが、いろいろわからない。
  • Transaction が世間的に認められるには、そのTransaction がふくまれた後続Transactionができたことを確認しないといけないように思うのだけど、それにはある程度の計算が必要で10分ぐらいかかりそう。運用としてどうなってるんだろう。
  • この種のものが信用されるには初期にある程度のサーバが参加していなければならなさそうだが、それをどうやって実現したのか。

2015年12月18日金曜日

DIANNE: Distributed Artificial Neural Networks for the Internet of Things


http://dl.acm.org/citation.cfm?id=2836130

DLフレームワーク。パイプラインのステージを別のデバイスに実装することができる。OSGi をベースにしたAIOLOS上に実装ということなので、Javaらしい。JNIでCUDAを呼び出す。ラズパイやエジソンで動かしている。

レイテンシ重視なのでミニバッチしないらしい。ミニバッチしなくて、GPGPUの性能が出るのかと思うけど、とりあえずでているようだ。不思議。

2015年7月17日金曜日

Optimizing Shuffle Performance in Spark

Optimizing Shuffle Performance in Spark

- [http://www.cs.berkeley.edu/~kubitron/courses/cs262a-F13/projects/reports/project16_report.pdf]

- Spark では相対的にMapとReduceが高速化されるので、shuffleがボトルネックになる。
- shffuleの対策として、mapの出力を圧縮する方法があり、他のDBでうまく言っているカラム単位で圧縮するのを試してみたがうまく行かなかった。
- ファイルの数がMapper 数 x Reducer数になっているのが問題と考え、同じコア上で動作するMapperの出力は同じファイルにするようにしたら速くなった。

論文ではなくてレポート?


2015年7月14日火曜日

圧縮センシングの数理

圧縮センシングの数理

  • 田中 利幸 - [https://www.jstage.jst.go.jp/article/essfr/4/1/4_1_39/_pdf]
    解説論文。圧縮センシングとは、スパースなベクタを限定的な観測を繰り返した結果から類推する という問題。1-ノルムを用いることで線形計画問題に持ち込む?凸なので簡単?

2015年6月29日月曜日

Project Adam: Building an Efficient and Scalable Deep Learning Training System

Project Adam: Building an Efficient and Scalable Deep Learning Training System

  • Trishul Chilimbi Yutaka Suzue Johnson Apacible Karthik Kalyanaraman
  • Microsoft Research
  • Adam というのがシステム名
  • ImageNet で評価。
  • より少ないマシンで効率よく学習しているという主張。
  • 2 bilion のモデル
  • 複数のモデルをパラメータストアで同期
  • 個々のモデルそのものも複数のノードに分散
  • データサーバ - 10-100TBものデータを更に変形して食わせる。変形のために専用のサーバ群を用意する。
  • パラメータサーバとの通信
    • convolution についてはパラメータ数が小さいので普通にやる
    • full connection の部分は、データ量が多くなるので、activation and error gradient vectorを送って、計算はparameter Server 側で行う。これでデータ通信量が MN から k (M+N) になる。
    • parameter serverの実装
    • shard table を使った分散実装。shard size1MB
    • delayed persistence - loss を許容している。

2015年3月12日木曜日

DaDianNao: A Machine-Learning Supercomputer

DaDianNao: A Machine-Learning Supercomputer

Yunji Chen1, Tao Luo1,3, Shaoli Liu1, Shijin Zhang1, Liqiang He2,4, Jia Wang1, Ling Li1, Tianshi Chen1, Zhiwei Xu1, Ninghui Sun1, Olivier Temam2

  • Micro-47 のベストペーパー
  • そのうち誰かがやるだろうと思われていた、DNNをASICで作る、という話。
  • ただし、今のところまだ実物を作っているわけではない。28nm,0.9Vで作った場合をシミュレートしている。606MHzで動作。
  • 基本的には、CNNはメモリフットプリントが小さいのでオンチップメモリに乗る。外部通信は少ない。のでASICで作れば速くなるだろうから作った、ということ。
  • GPUよりも450.65倍速く、消費電力は 150分の1。
  • 分類フェーズだけでなく、学習フェーズもサポート。IBMのチップは前者だけ。

2014年10月16日木曜日

OSv—Optimizing the Operating System for Virtual Machines

ここからダウンロード。
うわさの OSv。このペーパーを読んで何が驚いたかって、”v”が下付きではなく上付きだったこと。えー、そうなの??スライドとかでも、上付きになってるの見たこと無いけど。。
  • 単一アプリをラッピングしてIaaS上で動かす軽量OS。JavaVMが最初のターゲットだったが、今は色々動く。
  • C++でスクラッチから書かれている。
  • プロセスは一個だけしか動かないが、スレッド的に複数のアプリを動かすことが実は可能。ただしメモリは共有される。
  • それどころか、アプリとカーネルの間でもメモリ空間は共有。というか、基本的にカーネルとユーザランドの区別が無い。アプリにOS機能を直接リンクするイメージに近い。
  • 1秒で起動するとのこと。
  • 用途はアプライアンスだろうか。
  • 直接の対抗馬はコンテナ技術か。コンテナよりはきっちりアイソレーションできそう。マイグレーションとの相性も良さそう。コンテナもマイグレーションできるそうだが、プロセスマイグレーションの経験から行くと、VMマイグレーションとは比較にならないほど面倒なので。