view cerium-rl.ind @ 0:a9fda18657b3 default tip

add
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 16 Dec 2009 10:05:04 +0900
parents
children
line wrap: on
line source

-title: Cerium Project

--Double Linked TaskQueue

実装してみましたが、word count あたりでは、あまり効果はないらしい。

--HTask と ListData

128byte に align してない。ListData (DMA list の配列)は毎回送っている。

なので、一緒に送ってみたけど、速度的には関係ないらしい。

少なくとも、必要なサイズに抑えるべき。

ListData ではない read/write の Task が廃止されているのはおかしい。
(大半は、そういうもののはず)

--Write DMA

Rendering Engine では使ってないらしい。

Object の破壊時に、Write DMA 待ちするとか言うコードはわかってない。

SPU Task の中で、outData を指定するのが正しい。

Task の中では 手動DMAを許さない方針で。

--ReNew Task

複雑すぎ。要書き直し。

TaskList を受け取った後、TaskQueue に書き換えて、あとはTaskQueue
で処理すれば良い。

--Task と HTask

PPU側のTaskと、SPU側のTaskで出来ることが違うのはおかしい。
SPU側からも、PPU側のTaskが生成できた方が良い。

TaskManager から create するのと、ShcedTask から create する
二つの方方法がある。

--Post function

引数に、SchedTask を渡せば、Task と同じ形式になる。そちらの方が良い。

--Application

Mac OS X は簡単に分離してみました。

Cell 側は、SPU Task id を調整する必要がある。

Embeded binary にした方が扱いが楽。Path の問題があるので。

hoge.app の下に、spu/task/xmlfile/binary と置くのが良いのでは。
だったら、spu-main でも良いけど。

view.cc を直接変更するのは、やめて下さい。

MainLoop を自分で定義して、それを使う。

--Fifo の方が速い

どこが遅いのかを計測しないと。

Word count だけの問題か?

--Idle Time

mail blocking の idle time を計ってない?

--Memory Model

MemList で全体を統一するのが良いのではないか?

    LRU, Hash, Queue

として使う。これが、Code Segment に対応する Data Segment になる。

Copying を行ない、自動的な GC (Garbage Collection) になる。

MemList は固定長だが、不定長も許して良い。
    read/write buf には、MemList を直接指定する