Mercurial > hg > Papers > 2010 > program-symposium
view cerium-rl.html @ 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
<html> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <head> <title>Cerium Project</title> </head> <body> <h1>Cerium Project</h1> <a href=#content>content</a><br> <nr> <p> <hr> <h2><a name="content000">Double Linked TaskQueue</a></h2> 実装してみましたが、word count あたりでは、あまり効果はないらしい。 <p> <hr> <h2><a name="content001">HTask と ListData</a></h2> 128byte に align してない。ListData (DMA list の配列)は毎回送っている。 <p> なので、一緒に送ってみたけど、速度的には関係ないらしい。 <p> 少なくとも、必要なサイズに抑えるべき。 <p> ListData ではない read/write の Task が廃止されているのはおかしい。(大半は、そういうもののはず) <p> <hr> <h2><a name="content002">Write DMA</a></h2> Rendering Engine では使ってないらしい。 <p> Object の破壊時に、Write DMA 待ちするとか言うコードはわかってない。 <p> SPU Task の中で、outData を指定するのが正しい。 <p> Task の中では 手動DMAを許さない方針で。 <p> <hr> <h2><a name="content003">ReNew Task</a></h2> 複雑すぎ。要書き直し。 <p> TaskList を受け取った後、TaskQueue に書き換えて、あとはTaskQueue で処理すれば良い。 <p> <hr> <h2><a name="content004">Task と HTask</a></h2> PPU側のTaskと、SPU側のTaskで出来ることが違うのはおかしい。SPU側からも、PPU側のTaskが生成できた方が良い。 <p> TaskManager から create するのと、ShcedTask から create する二つの方方法がある。 <p> <hr> <h2><a name="content005">Post function</a></h2> 引数に、SchedTask を渡せば、Task と同じ形式になる。そちらの方が良い。 <p> <hr> <h2><a name="content006">Application</a></h2> Mac OS X は簡単に分離してみました。 <p> Cell 側は、SPU Task id を調整する必要がある。 <p> Embeded binary にした方が扱いが楽。Path の問題があるので。 <p> hoge.app の下に、spu/task/xmlfile/binary と置くのが良いのでは。だったら、spu-main でも良いけど。 <p> view.cc を直接変更するのは、やめて下さい。 <p> MainLoop を自分で定義して、それを使う。 <p> <hr> <h2><a name="content007">Fifo の方が速い</a></h2> どこが遅いのかを計測しないと。 <p> Word count だけの問題か? <p> <hr> <h2><a name="content008">Idle Time</a></h2> mail blocking の idle time を計ってない? <p> <hr> <h2><a name="content009">Memory Model</a></h2> MemList で全体を統一するのが良いのではないか? <p> <pre> LRU, Hash, Queue </pre> として使う。これが、Code Segment に対応する Data Segment になる。 <p> Copying を行ない、自動的な GC (Garbage Collection) になる。 <p> MemList は固定長だが、不定長も許して良い。 <pre> read/write buf には、MemList を直接指定する <h2><a name="content">Content</h2> <ol> <li><a href="#content000"> Double Linked TaskQueue</a> <li><a href="#content001"> HTask と ListData</a> <li><a href="#content002"> Write DMA</a> <li><a href="#content003"> ReNew Task</a> <li><a href="#content004"> Task と HTask</a> <li><a href="#content005"> Post function</a> <li><a href="#content006"> Application</a> <li><a href="#content007"> Fifo の方が速い</a> <li><a href="#content008"> Idle Time</a> <li><a href="#content009"> Memory Model</a> </ol> </body></html>