Thursday, November 20, 2008
Tuesday, May 06, 2008
Sunday, November 26, 2006
System simulation
I'm (rather predictably) still working on my distributed rendering system.. but as it's a bit tiresome to make some modifications, recompile, restart.. -- more importantly, that it takes time to do so (1), I wrote a simple and nice simulation program that let me try different rendering/clustering strategies easily, swap them, evaluate or compare them, etc. That way I can concentrate on them rather than waiting 5-10 minutes to start visualizing a one gigabyte dataset on the cluster. Even better, the final idea is to integrate the simulation in the real system (it actually already gets timings from the real one and extrapolate the results) in order to have a nice feedback loop: run things, keep simulations in parallel, switch to other strategies if the simulation says it's better, update timings if needed, etc. Here is a screenshot of the current program:
The screenshot shows three simulated clustering strategies; basically we want to render an image using multiple computers. Each computer having one or more rendering agent. We divide the image in tiles and the rendering agents' job is to render them, send them back to the clustering agent, which will recompose the final image to send it back to a visualisation client. It's a fairly straightforward distributed technic. What's more interesting here is that we have three different strategies defining which tiles are sent to which agent. The simplest one is to divide the total number of tiles by the number of agents, and send continuous tiles up to that number for each agent (second bottom figure -- each color represents one agent). Another is to alternate tiles (eg no consecutive tiles are sent). Another one is to break the tiles according the the image complexity (first bottom left figure). The image complexity beeing the time each tile took to be renderered (bottom right figure).
The graphic shows the evolution of these three strategies depending on the number of agents. We can see that the alternate tiles strategy works fairly well usually (because the complexity is more evenly distributed), unless we ends on a multiple of the width (16), meaning the tiles are aligned, and thus the complexity is not properly distributed. Having a simulator can let us choose which strategy is the best before having to really use it.
(1) which break one of my Rules of Programming, ie, keep the REPL (Read-Eval-Print-Loop) cycle as short as possible: as obviously the shortest it is, the more ideas you can try.
Publié par
Nicolas
à
Sunday, November 26, 2006
0
commentaires
Libellés : cocoa, phd thesis, screenshots
Friday, September 01, 2006
Pfff...
I finally finished writing the last remaining things for my system, integrated everything, and could generate the data for the paper just in time... That was a hell of a week, but at least this deadline is over now ! I'll sleep a bit :-P
I will also try to resume a minimum my gnustep's activity next week (been more than a couple of months it's on hold) -- I have a couple of things to do that shouldn't take much time from me and that would be rather welcomed :-P
Publié par
Nicolas
à
Friday, September 01, 2006
1 commentaires
Libellés : phd thesis
Thursday, July 06, 2006
UDP ...
Well, I'm not working much on anything related to GNUstep/étoilé lately -- I have my thesis to write for december, which also means I need to finish properly my visualisation system soon...
I changed completely the communication stack -- exit XMLRPC/TCP, welcome lossy UDP communication -- good things, it enables broadcast and low latency, bad things... well, using broadcast as an asset, you need to change quite a lot the way you think your program. But it's worth it: not only the end result (the visualization) can be broadcasted, which is nice, but moreover, the rendering process itself can take advantage of broadcasting to be more efficient. Anyway. Here is a screenshot showing a broadcasted MIP visualization of the CThead dataset:
The rendering itself is done on a cluster connected to these 3 machines through a simple udp tunnel. Works quite well..
Publié par
Nicolas
à
Thursday, July 06, 2006
2
commentaires
Libellés : phd thesis
Friday, May 19, 2006
Flow, State and Persistence
I gave a talk today discussing state and persistence in your work environment, for the No Grownups Seminar Series.. Here is a flash version of the talk, and here is the pdf one. Have a look !
Publié par
Nicolas
à
Friday, May 19, 2006
0
commentaires
Libellés : phd thesis, rant, talk
Tuesday, October 11, 2005
Yeah
Just finished (completely, as in "theoretically nothing to add") the paper I was working on for wscg.. (they don't even have a LaTeX template, only a Word one (!!), and it is rather ugly imho..)
Hopefully I'll have some more free time now to work on camaelon and étoilé ;-)
Talking about étoilé, Quentin created a blog ! Étoilé dev will use it to rant about the project :-) -- hopefully it will become an interesting news place..
Publié par
Nicolas
à
Tuesday, October 11, 2005
0
commentaires
Libellés : étoilé, phd thesis