<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments for Adam Frisby</title>
	<atom:link href="http://www.adamfrisby.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adamfrisby.com/blog</link>
	<description>ZOMGWTFHAI</description>
	<pubDate>Sun, 05 Jul 2009 00:53:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on The Impersistence of Memory by Dale Innis</title>
		<link>http://www.adamfrisby.com/blog/2009/06/the-impersistence-of-memory/comment-page-1/#comment-8245</link>
		<dc:creator>Dale Innis</dc:creator>
		<pubDate>Wed, 01 Jul 2009 17:54:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=327#comment-8245</guid>
		<description>Very cool!  Interesting to speculate how different things might be if SL (say) had had this sort of capability (either server-side or client-side) from the beginning.

I have to ask, though: are they orbital *mind control* lasers?</description>
		<content:encoded><![CDATA[<p>Very cool!  Interesting to speculate how different things might be if SL (say) had had this sort of capability (either server-side or client-side) from the beginning.</p>
<p>I have to ask, though: are they orbital *mind control* lasers?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures in Text-Only OpenSim by Warin Cascabel</title>
		<link>http://www.adamfrisby.com/blog/2009/05/adventures-in-text-only-opensim/comment-page-1/#comment-8239</link>
		<dc:creator>Warin Cascabel</dc:creator>
		<pubDate>Mon, 29 Jun 2009 13:16:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=320#comment-8239</guid>
		<description>Great! 

Ran into an issue when I tried to enable it in my master .ini file; on machines running multiple instances of OpenSim, the second and subsequent instances would crash because the port was already in use.

I've submitted a minor patch (mantis 3852) which adds a Port specifier in the [IRCd] section, so individual instances can select a different port number.</description>
		<content:encoded><![CDATA[<p>Great! </p>
<p>Ran into an issue when I tried to enable it in my master .ini file; on machines running multiple instances of OpenSim, the second and subsequent instances would crash because the port was already in use.</p>
<p>I&#8217;ve submitted a minor patch (mantis 3852) which adds a Port specifier in the [IRCd] section, so individual instances can select a different port number.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to choose a good OpenSim host? by Adam Frisby</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/comment-page-1/#comment-8225</link>
		<dc:creator>Adam Frisby</dc:creator>
		<pubDate>Wed, 24 Jun 2009 03:09:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199#comment-8225</guid>
		<description>Hi Miguel,

I can tell you this is a persistent issue with Mono - whether or not the issue has spread is not my concern, the issue is primarily that Mono does have serious memory management problems - as I outlined before, the issue is mostly visible with scripts, users and time. Any tests you do need to have concurrent users (you can use some of our demo bots such as pcampbot to see the problem) and it needs to run for at least 24hrs.

I would suggest contacting 'nebadon' on #opensim-dev on irc.freenode.net and asking him to take a look at Wright Plaza, which is the best example - this server needs to be restarted daily due to this memory issue.

Adam</description>
		<content:encoded><![CDATA[<p>Hi Miguel,</p>
<p>I can tell you this is a persistent issue with Mono - whether or not the issue has spread is not my concern, the issue is primarily that Mono does have serious memory management problems - as I outlined before, the issue is mostly visible with scripts, users and time. Any tests you do need to have concurrent users (you can use some of our demo bots such as pcampbot to see the problem) and it needs to run for at least 24hrs.</p>
<p>I would suggest contacting &#8216;nebadon&#8217; on #opensim-dev on irc.freenode.net and asking him to take a look at Wright Plaza, which is the best example - this server needs to be restarted daily due to this memory issue.</p>
<p>Adam</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Impersistence of Memory by Mike Joyce</title>
		<link>http://www.adamfrisby.com/blog/2009/06/the-impersistence-of-memory/comment-page-1/#comment-8221</link>
		<dc:creator>Mike Joyce</dc:creator>
		<pubDate>Fri, 19 Jun 2009 20:18:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=327#comment-8221</guid>
		<description>Very interesting article.  I am working in Machinima and using both a region on the OSGrid and a Standalone for formulating my sets.  I would like to be able to basically package up a region when I am done with a set and e able to store it away and then restore it when I need it.

With the current tools available, which method would you recommend for doing this task?

Looking forward to more articles</description>
		<content:encoded><![CDATA[<p>Very interesting article.  I am working in Machinima and using both a region on the OSGrid and a Standalone for formulating my sets.  I would like to be able to basically package up a region when I am done with a set and e able to store it away and then restore it when I need it.</p>
<p>With the current tools available, which method would you recommend for doing this task?</p>
<p>Looking forward to more articles</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Impersistence of Memory by rightasrain</title>
		<link>http://www.adamfrisby.com/blog/2009/06/the-impersistence-of-memory/comment-page-1/#comment-8214</link>
		<dc:creator>rightasrain</dc:creator>
		<pubDate>Tue, 16 Jun 2009 18:38:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=327#comment-8214</guid>
		<description>we are planning to release one of the tools we used to transfer ALL our sims over to OARs. Just finishing some stuff on it now, so it should be out in next week. Go take a look at the King Tut sim on heritage-key.com and you will see that it is identical content. In fact it is not split onto 6 opensim regions instead of clogging one SL sim. Cross-grid tps work fine as well (ok, we loose a few attachments every now and then).</description>
		<content:encoded><![CDATA[<p>we are planning to release one of the tools we used to transfer ALL our sims over to OARs. Just finishing some stuff on it now, so it should be out in next week. Go take a look at the King Tut sim on heritage-key.com and you will see that it is identical content. In fact it is not split onto 6 opensim regions instead of clogging one SL sim. Cross-grid tps work fine as well (ok, we loose a few attachments every now and then).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Impersistence of Memory by epredator</title>
		<link>http://www.adamfrisby.com/blog/2009/06/the-impersistence-of-memory/comment-page-1/#comment-8213</link>
		<dc:creator>epredator</dc:creator>
		<pubDate>Tue, 16 Jun 2009 07:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=327#comment-8213</guid>
		<description>Nice work Adam. Whilst it can feel quite quaint and artistic to consider the builds we do in SL as transient places, ever evolving we are in fact losing a piece of history and of a fast moving culture with no real archiving in SL of any sort. 
I realized this when I had to change Hursley and IQ sim into flat regions again in order to rent them out. We all took pictures and what we could, but a permanent historic record would have been so much better. After all this is something we cant do in RL :)
You might be interested in what Rodney Harrison says about archeology in SL in excavating the internet on this Open University podcast. http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.open.ac.uk.2083662357</description>
		<content:encoded><![CDATA[<p>Nice work Adam. Whilst it can feel quite quaint and artistic to consider the builds we do in SL as transient places, ever evolving we are in fact losing a piece of history and of a fast moving culture with no real archiving in SL of any sort.<br />
I realized this when I had to change Hursley and IQ sim into flat regions again in order to rent them out. We all took pictures and what we could, but a permanent historic record would have been so much better. After all this is something we cant do in RL <img src='http://www.adamfrisby.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
You might be interested in what Rodney Harrison says about archeology in SL in excavating the internet on this Open University podcast. <a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.open.ac.uk.2083662357" rel="nofollow">http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.open.ac.uk.2083662357</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to choose a good OpenSim host? by Adam Frisby</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/comment-page-1/#comment-8211</link>
		<dc:creator>Adam Frisby</dc:creator>
		<pubDate>Sun, 14 Jun 2009 22:34:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199#comment-8211</guid>
		<description>Recycling instances is quite possible - it's easy enough to do. 

The problem is mainly resuming user sessions; in the process of resuming - we lose all the user socket connections (they get disconnected, etc). 

Startup time can also be a problem; initialising user scripts by the truckload (not uncommon to have 1000+ user scripts running simultaneously.) and other things can prevent a very quick resume.

The big issue is that unlike apache, we're maintaining a multiuser session environment - that means that each user is experiencing the same data being updated in realtime; if we split users across processes, we could end up with a horrible amount of duplicated data in memory; along with the woes of interprocess communication.

Right now, we do restart the process regularly - but it's by force rather than choice (ie we hit swap and everything stops).</description>
		<content:encoded><![CDATA[<p>Recycling instances is quite possible - it&#8217;s easy enough to do. </p>
<p>The problem is mainly resuming user sessions; in the process of resuming - we lose all the user socket connections (they get disconnected, etc). </p>
<p>Startup time can also be a problem; initialising user scripts by the truckload (not uncommon to have 1000+ user scripts running simultaneously.) and other things can prevent a very quick resume.</p>
<p>The big issue is that unlike apache, we&#8217;re maintaining a multiuser session environment - that means that each user is experiencing the same data being updated in realtime; if we split users across processes, we could end up with a horrible amount of duplicated data in memory; along with the woes of interprocess communication.</p>
<p>Right now, we do restart the process regularly - but it&#8217;s by force rather than choice (ie we hit swap and everything stops).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to choose a good OpenSim host? by Adam Frisby</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/comment-page-1/#comment-8210</link>
		<dc:creator>Adam Frisby</dc:creator>
		<pubDate>Sun, 14 Jun 2009 22:30:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199#comment-8210</guid>
		<description>We use a mix - but the experience is fairly consistent. 

1.9/2.0 did give us some benefits, and the newer 2.5 builds have improved things - we're now able to keep some of the regions up for up to 2 days between restarts.

I can tell you that the problem is visible on both x64 and 86 architectures, for at least the following versions; 1.9.1, 2.0, 2.2, 2.5. The problem does not appear to be unique to any distribution or kernel version; and is fairly reproducible under any test conditions.</description>
		<content:encoded><![CDATA[<p>We use a mix - but the experience is fairly consistent. </p>
<p>1.9/2.0 did give us some benefits, and the newer 2.5 builds have improved things - we&#8217;re now able to keep some of the regions up for up to 2 days between restarts.</p>
<p>I can tell you that the problem is visible on both x64 and 86 architectures, for at least the following versions; 1.9.1, 2.0, 2.2, 2.5. The problem does not appear to be unique to any distribution or kernel version; and is fairly reproducible under any test conditions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to choose a good OpenSim host? by Miguel de Icaza</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/comment-page-1/#comment-8209</link>
		<dc:creator>Miguel de Icaza</dc:creator>
		<pubDate>Sun, 14 Jun 2009 22:30:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199#comment-8209</guid>
		<description>Adam,

I have a final question.

It seems to me that OpenSim must have some sort of system to snapshot the system and resume execution from a snapshot to ensure that it can recover from a crash.

A crash could be caused by all sorts of events, like operating system crashes, power failures, bugs in OpenSim itself, the underlying libraries, or any other source of problems.

If this is the case, I assume that OpenSim would support some mechanism to serialize its state, and resume execution from a serialized state.

If that is the case, and running OpenSim on Mono does have leaks, what is preventing admins from recycling OpenSim instances (this is common in server scenarios, for example Apache recycles processes after certain number of transactions).

And this is also how Google ensures operations: they assume that there will be failures, and write the code to recover from failures.

Miguel.</description>
		<content:encoded><![CDATA[<p>Adam,</p>
<p>I have a final question.</p>
<p>It seems to me that OpenSim must have some sort of system to snapshot the system and resume execution from a snapshot to ensure that it can recover from a crash.</p>
<p>A crash could be caused by all sorts of events, like operating system crashes, power failures, bugs in OpenSim itself, the underlying libraries, or any other source of problems.</p>
<p>If this is the case, I assume that OpenSim would support some mechanism to serialize its state, and resume execution from a serialized state.</p>
<p>If that is the case, and running OpenSim on Mono does have leaks, what is preventing admins from recycling OpenSim instances (this is common in server scenarios, for example Apache recycles processes after certain number of transactions).</p>
<p>And this is also how Google ensures operations: they assume that there will be failures, and write the code to recover from failures.</p>
<p>Miguel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to choose a good OpenSim host? by Miguel de Icaza</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/comment-page-1/#comment-8208</link>
		<dc:creator>Miguel de Icaza</dc:creator>
		<pubDate>Sun, 14 Jun 2009 22:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199#comment-8208</guid>
		<description>Hello Adam,

Thanks for the extra information.

Many objects is not a problem for the GC.   It just means that the GC will take longer, but it does not mean that it will give up on collecting them.

Mono has one important difference when it comes to memory management when compared to .NET, it does not have a compacting collector (yet) and older versions of Mono used too many resources (generics caused vtables to bloat out of proportion, megabytes of tables at a time).

Compacting collection can become a problem if allocations have a pattern like this: allocate large object, wait for it to be collected, allocate objects that fit in the previous hole, allocate the same large object (triggering a new heap expansion).

It would help if you guys could provide information as the configuration that you are using (Mono version, Linux version, architecture).</description>
		<content:encoded><![CDATA[<p>Hello Adam,</p>
<p>Thanks for the extra information.</p>
<p>Many objects is not a problem for the GC.   It just means that the GC will take longer, but it does not mean that it will give up on collecting them.</p>
<p>Mono has one important difference when it comes to memory management when compared to .NET, it does not have a compacting collector (yet) and older versions of Mono used too many resources (generics caused vtables to bloat out of proportion, megabytes of tables at a time).</p>
<p>Compacting collection can become a problem if allocations have a pattern like this: allocate large object, wait for it to be collected, allocate objects that fit in the previous hole, allocate the same large object (triggering a new heap expansion).</p>
<p>It would help if you guys could provide information as the configuration that you are using (Mono version, Linux version, architecture).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
