ヘテロFPGAの刺激を受け、ストリーム計算から言語マシンまで行ってしまった夢想

@kazunori_279さんがヘテロコア型FPGAに刺激を受けたblog記事(以下)に端を発して、 "あまりパッとしたDremelクローンが出てこないので俺が考えた" http://d.hatena.ne.jp/kazunori_279/20121210/1355105959 "Zynqサーバーの使われ方を妄想してみるスレ" http://d.hatena.ne.jp/kazunori_279/20121212/1355324946 続きを読む
3
前へ 1 ・・ 3 4
Mikio Yoshida @kibayos

@kazunori_279 @oza_x86 @h_kaw ELIS/TAOはこの辺を。http://t.co/obb3ygRo 学生時代の研究室ではまさにLispマシンの研究してました。近くの研究室ではマイクロプログラミングの研究してて、Prologマシンを作ってました。

2012-12-13 23:06:10
Mikio Yoshida @kibayos

@kazunori_279 @h_kaw あー、また勉強しないといけないことが増えたよー。bloom積読状態でした。

2012-12-13 23:09:26
Mikio Yoshida @kibayos

@kibayos @kazunori_279 @oza_x86 @h_kaw 昨日刺激を受けて考えていたんですが、LispがGCを必須とするのに対し、pureなPrologはGCを必要としないのですよ。WAMというProlog仮想マシンがあるのですが、この制約から逃れたいなと思っ

2012-12-13 23:18:03
Kazunori Sato @kazunori_279

ハードでGCって研究って進んでるのかな、、ってググってみたら、FPGAでRubyチップ作ってGCもハード実装しようとしてる猛者がいたw http://t.co/2DRXgy4y

2012-12-13 23:21:04
Mikio Yoshida @kibayos

@kazunori_279 @oza_x86 @h_kaw 不変(immutable)にプラスして、単調(monotonic)という概念が論理型にはありまして、並行・並列処理に向く要素なんですが、個人的にはもっと追求していきたい。そのためには既存のハードじゃつまんない。文字書けな

2012-12-13 23:23:59
Mikio Yoshida @kibayos

@kazunori_279 メモリー管理ってCPUパワー食いますよね。GC要らない、mallocも簡単なのでいいとなると、wired logicに落としやすいかな、と思って。(なんと低レイヤの発想 orz)

2012-12-13 23:27:10
Kazunori Sato @kazunori_279

@kibayos GCはハードでやると面倒そうですよね。。GC不要って何かふしぎですねw参照GCみたいな仕組みを想像してしまう。。

2012-12-13 23:30:49
Mikio Yoshida @kibayos

@kazunori_279 感覚的なこと書きますが、データフローのようにトークン流すだけとかimmutableなデータを交換するだけのactorモデルの計算機だとデータが蓄積されないし、データ間の参照もほとんどないですよね。GCがなくても動きそうな感じしません?

2012-12-13 23:36:55
Mikio Yoshida @kibayos

@kazunori_279 この文脈で、@h_kaw さんはデータストリームの専門家でSQLの内部最適化にもお詳しいので、もう面白いことが起こりますよ。

2012-12-13 23:40:07
Kazunori Sato @kazunori_279

@kibayos むー、、cons脳なので想像しにくい。。w意外とPrologって実時間システムに会ってたりしてw金融のHFTとかAndroidとかブラウザのJSエンジンとか、みんなGCのハングアップに困ってるし。

2012-12-13 23:44:52
Kazunori Sato @kazunori_279

@miyox @h_kaw @kibayos パーサーやコンパイラはCPU実装が適してそうですね。そういう使い分けの点でも、zynqみたいなヘテロコアが楽しそうです(私はつい最近DE0でHDL入門初めました)

2012-12-13 23:50:10
Mikio Yoshida @kibayos

@kazunori_279 さんがされてた逆転の発想ですよ。CPUにデータを処理させるのでなく、データにCPUを都度あてがう。データストリームとかデータフローですね。WAMだとGCが必要になってしまいますが、WAMを忘れて、ユニファイア(データ)を流すようにするとできるんです。

2012-12-13 23:52:15
Kazunori Sato @kazunori_279

@kibayos まずWAMを理解せねば、、とおもってググったら、たけおかさんのページが出て来ましたwデータがイミュータブルならばゴミはでない、、でなさそう、、って感じはなんとなく分かります。

2012-12-14 00:00:54
Mikio Yoshida @kibayos

@kazunori_279 Prologと実時間性ですか.. これは自信ないです。非決定性(バックトラックする話)という元々の性質があるので、処理時間が予測できない。決定性を持つコーディングしないといけないですね。

2012-12-14 00:03:25
Kazunori Sato @kazunori_279

@kibayos そうか、そもそも宣言的ですからね。たしかに。

2012-12-14 00:13:25
Mikio Yoshida @kibayos

@kazunori_279 詳しい説明はさすがに紙面が...。あーだこーだ言う前に実装論文書くとか、処理系作るとかしないといけないと思っているのですが、なかなか。orz

2012-12-14 00:25:35
Mikio Yoshida @kibayos

@kazunori_279 でも、俺様謎サーバーはやりましょう!アーキテクチャが変われば、その上で動く処理系もプログラミングも新たな発想で何か生まれますよ。その1つの例として私が夢想している論理型があるのでして。

2012-12-14 00:30:06
Kazunori Sato @kazunori_279

@kibayos まだすごーくもやもや状態ですけど、何か面白いものつくりたいですね!

2012-12-14 08:12:15
前へ 1 ・・ 3 4