タグ

ブックマーク / kazunori279.hatenablog.com (5)

  • ハード素人が32bit CPUをFPGAで自作して動かすまで読んだ本のまとめ - スティルハウスの書庫の書庫

    男子たるもの一度は自分でCPUを作ってみたいものだけど、ICでLEDをピカピカさせた程度の経験しかないハード素人な俺だったので、CPUを自作してる東大生などを遠くから見て憧れてるだけだった。しかしおよそ一年前のこと、「MIPSなんて簡単に作れますよ!」とKさん(←FPGAでLispマシンを自作するような人)に言われて、お、おぅ。。そりゃKさんはそうでしょうよ。。あれ、もしかして俺にもできるかな。。? と思った。この一言がなければ32bitCPUを自作しようなんて考えなかっただろう。 それから一年ちょい、とくに今年の正月休みやFPGA温泉でがっつりがんばって、なんとかMIPS Iサブセットの自作CPUが動いた。これはフィボナッチを計算してるところ。 ちなみに、これはこんな感じのフィボナッチのコードをCで書いて、 void main() { int i, *r = (int *)0x7f00

    ハード素人が32bit CPUをFPGAで自作して動かすまで読んだ本のまとめ - スティルハウスの書庫の書庫
    hiroomi
    hiroomi 2014/02/10
  • JP Morgan Chaseがデリバティブ専用スパコンをFPGAで作った話 #fpgax - スティルハウスの書庫の書庫

    金融系でFPGAというとHFTへの応用が知られてるけど、この事例はリアルタイムトレードの話ではない。金融業務で必要とされるバッチ処理やHPC(High Performance Computing)でもFPGA格的に使われ始めてるという話だ。 元ネタは、2011年にJP Morgan Chaseの人がスタンフォード大学で講演した内容。このビデオを見ていたらとっっっても面白かったので、 #fpgax 第3回で使う資料として要点を訳し、俺のコメントや補足を追加してみた。 http://www.youtube.com/watch?v=9NqX1ETADn0 (スライドはこちら) なお、FPGAも金融も素人なので、勘違いや誤訳があるかもしれない。FPGAとは何かよく知らない人はこちらをどうぞ。 リーマン・ショック対策のスパコン開発 JP Morgan Chaseは、社債やモーゲージ(不動産を担保

    JP Morgan Chaseがデリバティブ専用スパコンをFPGAで作った話 #fpgax - スティルハウスの書庫の書庫
    hiroomi
    hiroomi 2013/09/03
    「FPGA2個と48GBメモリを搭載したFPGAサーバーを40ノード並べた構成のシステムを構築。」
  • 文字通り「ネットワークがコンピューター」な金融HFTでのFPGAの使われ方 - スティルハウスの書庫の書庫

    ここのところ重度のFPGA中二病にかかってしまい、冬休み中もDE0ざんまいな日々。気になっていた金融のHFT(high frequency trading:大手投資銀行等がμ秒単位の超高速で株式等を売り買いしてる恐ろしい市場)におけるFPGA利用状況について、HFT Reviewにこってりしたレポート(HFT業界のベンダー各社にインタビューしたもの)が載っていたので、勢い余って面白かった部分を超訳してしまった。 元ネタはこちら: FPGA & Hardware Accelerated Trading, Part One - Who, What, Where and Why? FPGA & Hardware Accelerated Trading, Part Two - Alternative Approaches FPGA & Hardware Accelerated Trading, P

    文字通り「ネットワークがコンピューター」な金融HFTでのFPGAの使われ方 - スティルハウスの書庫の書庫
    hiroomi
    hiroomi 2013/01/07
    「GPU + FPGA + CPUを組み合わせるソリューションは、コードベースの分断をまねくダメなソリューションだ。」
  • #appengine でComet! Channel APIでpushできるぞ - スティルハウスの書庫の書庫

    Google I/O 2010ではApp Engine関連の大きな新機能発表がいくつかありましたが、「Channel API」もそのひとつ。これは「Webブラウザとのpush通信(comet)のためのAPI」です。 ついにpushできるよ! これまでApp Engineにおいてクライアントへのpushを行うには、 XMPPプロトコルを通じてのXMPPクライアントへのメッセージ送信 URLFetchを用いて外部のpushサーバー(WebSocket対応サーバーとかTornadoとか)経由でへWebブラウザにpush(例:松尾さんのwebsocket連携) のいずれかしか手段がありませんでした。 しかしXMPPクライアントの実装は容易ではなく、とりわけApp Engine側のXMPPサーバーとしてGoogle Talkサーバーを用いる場合はTLS通信が必須となり、利用可能なクライアントが極端に

    #appengine でComet! Channel APIでpushできるぞ - スティルハウスの書庫の書庫
  • BigtableとSmalltable - スティルハウスの書庫の書庫

    App Engineによる設計手法でひとつ私が実案件で試してなかなかうまくいったと思ったのは、「Smalltable」って私が勝手に呼んでいるアーキテクチャです。簡単にいうと、「複数クライアントのローカルのSQLite間をDatastoreを介して同期する」仕組みです(こういうの一般に何パターンと言うのでしょう…教えてください!)。 クライアントはHTML5やAIR、iPhoneAndroid等のリッチクライアントで(実際に実装したのはAIRとiPhoneです)、SQLite等の小規模RDB(以下、Smalltable)をローカルに持つことが前提 Smalltableは、Datastoreが保持するすべてのデータのうち、そのユーザーが常時使用するデータのみ保持するサブセット アプリケーションの大半のロジックをリッチクライアント内のSmalltableだけで実装する すべてのレコードにはク

    BigtableとSmalltable - スティルハウスの書庫の書庫
    hiroomi
    hiroomi 2009/12/28
  • 1