I think I remember running the ants.clj demo on my netbook and it running normally. I'll check again this evening.
On Tue, Jun 30, 2009 at 12:40 PM, Daniel B Lucraft <d...@fluentradical.com>wrote: > > I didn't think it was possible for the render agent to be interrupted > like that. Isn't the point of the MVCC system that the render agent > will see a consistent view of the world as it was when the render > started? And that the ants can continue modifying the world during the > render's processing but the render agent will not see any of it until > it has completed it's transaction? It only reads the refs so it > shouldn't ever retry. > > Sorry to jump in despite being inexperienced at this, but it makes me > think I don't understand something correctly. > > Dan > > On Jun 29, 6:51 pm, B Smith-Mannschott <bsmith.o...@gmail.com> wrote: > > After watching most of Rich's Clojure presentations over the weekend, > > I found myself playing with ants.clj again on my netbook. The ant > > simulation runs brilliantly on my quad-core machine at work. Not so > > much on my netbook. The problem seems to be that with only a single > > (hyperthreaded) core the render agent is almost constantly interrupted > > by some pesky ant while attempting to snapshot the world, forcing the > > render agent to automatically retry. And so, the ants run merrily > > around the world, only I can't see it. > > > > This raises a question. Clojure's refs and dosync sure are neat, but > > this experience would seem to indicate that there are potential > > scalability problems when combining long-running and short-running > > transactions. Under load (or on a slow machine) a long-running > > transaction may never get a chance to complete and may be stuck > > forever retrying, burning CPU but producing no useful output. This > > makes me uneasy. > > > > I was able to get ants.clj to work reliably on my netbook by playing > > around with the sleep times in such a way as to increase the > > probability of the renderer actually completing a snapshot, but this > > process felt hacky and ad-hoc. What works on my netbook might well be > > sub-optimal on another system. > > > > How could one change the design of ants.clj to work reliably (i.e. > > update the screen periodically) even on slower systems? > > > > // Ben > > > > -- John --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---