<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx</link><description>I’ve been putting off writing this blog, not just because I’m on vacation in Maui and have far more tempting things to do. It’s because one of my blogs has already been used on Slashdot as evidence that Windows cannot scale and won’t support distributed</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51483</link><pubDate>Mon, 23 Jun 2003 20:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51483</guid><dc:creator>Dmitriy Zaslavskiy</dc:creator><description>Welcome back.</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51484</link><pubDate>Mon, 23 Jun 2003 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51484</guid><dc:creator>Chris Brumme</dc:creator><description>I still have a couple of weeks vacation left.</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51485</link><pubDate>Tue, 24 Jun 2003 09:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51485</guid><dc:creator>Ricky Datta</dc:creator><description>Chris,

Do not worry about &amp;quot;Anonymous Coward&amp;quot; - his knowledge is only skin deep just like most of his fellow &amp;quot;sysadmin&amp;quot;  types who hang out at slashdot - a mostly anti-ms bunch.

Keep up the good work.

Ricky</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51486</link><pubDate>Tue, 24 Jun 2003 16:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51486</guid><dc:creator>Yosi Taguri</dc:creator><description>hi chris,
never stop writing here, there will always be stupid cowards that will twist what you say for their own profit/interests. you could post a disclaimer at the top of the blog and still write all those great things.....

your blog is one of the most insightful one that there is outside of MS.
</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51487</link><pubDate>Wed, 25 Jun 2003 12:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51487</guid><dc:creator>Mike Dimmick</dc:creator><description>Chris,

Thanks for the material, it's very interesting, if not always obviously and immediately useful ;)

In response to what Anonymous Coward wrote on Slashdot, could you explain why you consider that Windows threads and processes are heavier weight than Unix processes and (kernel) threads, and which features of Windows wouldn't be possible without the (presumably) extra features that the Windows thread and process model provides?

Keep up the good work (both with the CLR and this blog)!
</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51488</link><pubDate>Thu, 26 Jun 2003 00:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51488</guid><dc:creator>Ian Ringrose</dc:creator><description>Running out of memory and paging is not good.  Often I have a cache in an application that can be freed if need be.  A more powerful version of the “WeakReference” class would help.

E.g. I wish to be able to say:
“Do not collect this object in a generation 0 collection.”
“Only collect this object if the system is getting low on RAM”
“On any given garbage collection cycle, collect this object with a probability of ..”

It would also be useful to have an event on the WeakReference object that is called when it’s target is collected.

A week hash table would also be useful, however given the above I could write my own.
</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51489</link><pubDate>Thu, 26 Jun 2003 00:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51489</guid><dc:creator>Ian Ringrose</dc:creator><description>On a related note.

Is there any chance of getting week delegates.  They would make a lot of code that use the observer pattern more robust.
</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51490</link><pubDate>Thu, 26 Jun 2003 20:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51490</guid><dc:creator>Gwyn Cole</dc:creator><description>Chris, very interesting and like Mike says, this is &amp;quot;immediately useful&amp;quot;. A couple of questions... 1) is there anything special that goes on behind the scenes in Debug builds? and 2) What advice do you have in resolving ExecutionEngineException's? </description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51491</link><pubDate>Fri, 27 Jun 2003 13:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51491</guid><dc:creator>Sudhakar</dc:creator><description>Chris,

Please don't stop writing this blog...Its a daily page for so many .net guys. Pleeeeaz.</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51492</link><pubDate>Fri, 27 Jun 2003 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51492</guid><dc:creator>MH</dc:creator><description>Don't know much about UNIX, but at a guess:

* Linux threads usually have a smaller stack?
* Linux threads under NPTL are entirely kernel switched iirc (no userland element anymore)
* Context switches on Linux are much cheaper than on Windows. I'm not sure why this is the case.
* Processes take longer to start on Windows, hence Chris' assertion that a well designed Windows app will create and destroy processes at a low rate.

To see that problem in action, try running a GNU style configure script in Cygwin (ie a very large script that involves lots of programs starting and stopping constantly) - on Windows it takes several times longer to complete than on Linux.

It's worth noting that Linux threading is currently experiencing major changes, which have broken a few applications (for instance RealPlayer). NPTL has been designed with extreme scalability in mind - using it, it's possible to start and stop 100,000 threads in about 2 seconds (however that requires a gig of RAM), compared to the 15 minutes it would have taken previously. That test was conducted on a PII/450Mhz Xeon.

IIRC before the introduction of NPTL, the Wine (windows emulation) project found it was not possible to correctly emulate Win32 threading upon pthreads, so they did the reverse and implemented Win32 threads on top of kernel threads, then added a simplistic pthread emulation on top of their Win32 thread system.

Since the introduction of NPTL, which first happened in the Red Hat 9 distribution a few months ago, Wine was forced to reimplement Win32 threads on top of NPTL threads, so presumably they are now somewhat closer in terms of feature parity. For instance inter-process synchronization primitives are now available.

I don't know enough about the two systems to adequately say what features Win32 threads have that Linux pthreads do not. 

However, bear in mind that there is no analog to Win32 message passing on Linux. IPC takes place either through custom protocols on domain sockets, CORBA, or potentially in the future DBUS which is a light weight message passing/IPC system (but not implemented in kernel for obvious reasons). I have no idea what the overheads of the message system might be.

From memory, Windows lets you do things like create threads in remote address spaces. I don't think you can do that on Linux, though I'm having a hard time thinking of reasons you might want to.</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51493</link><pubDate>Tue, 15 Jul 2003 07:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51493</guid><dc:creator>Fabio Galuppo</dc:creator><description>&amp;quot;May the force be with you, use the force Chris&amp;quot;... 

&amp;quot;Anonymous Coward&amp;quot; doesn't know about internals of Windows, Kernel Debugging and CLR... //

This blog rocks!

</description></item><item><title>RE: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#51494</link><pubDate>Sat, 19 Jul 2003 19:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:51494</guid><dc:creator>Chris Brumme</dc:creator><description>Ian,

Weak hashtable and weak delegates are popular and rational requests.  Cache management and eventing have specific challenges in a GC world.  We will make it easier to manage a cache in the next release of the CLR.  But your post is a good reminder that we'll still be lacking some constructs.</description></item><item><title>re: Multi-Threaded applications and Abort, careful not to kill your statics...</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#66990</link><pubDate>Wed, 04 Feb 2004 05:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:66990</guid><dc:creator>Justin Rogers, DigiTec Web Consultants, LLC.</dc:creator><description /></item><item><title>Hosting</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#77596</link><pubDate>Sat, 21 Feb 2004 18:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:77596</guid><dc:creator>cbrumme's WebLog</dc:creator><description /></item><item><title>Hosting</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#120589</link><pubDate>Tue, 27 Apr 2004 00:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:120589</guid><dc:creator>cbrumme's WebLog</dc:creator><description /></item><item><title>Finalization</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#120605</link><pubDate>Tue, 27 Apr 2004 00:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:120605</guid><dc:creator>cbrumme's WebLog</dc:creator><description /></item><item><title>re: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#167038</link><pubDate>Sun, 27 Jun 2004 05:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:167038</guid><dc:creator>小说</dc:creator><description>I don't think you can do that on Linux, though I'm having a hard time thinking of reasons you might want to. &lt;br&gt;</description></item><item><title>re: Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#204811</link><pubDate>Mon, 02 Aug 2004 09:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:204811</guid><dc:creator>dianying xia zai</dc:creator><description>[href=&lt;a target="_new" href="http://www.dmoz.net.cn/"&gt;http://www.dmoz.net.cn/&lt;/a&gt; wangzhidaquang]&lt;br&gt;[href=&lt;a target="_new" href="http://www.86dmoz.com/"&gt;http://www.86dmoz.com/&lt;/a&gt; jingpingwangzhi]&lt;br&gt;[href=&lt;a target="_new" href="http://movie.kamun.com/"&gt;http://movie.kamun.com/&lt;/a&gt; mianfeidianying]&lt;br&gt;[href=&lt;a target="_new" href="http://www.kamun.com/"&gt;http://www.kamun.com/&lt;/a&gt; dianyingxiazai]&lt;br&gt;[href=&lt;a target="_new" href="http://music.kamun.com/"&gt;http://music.kamun.com/&lt;/a&gt; MP3 free download]&lt;br&gt;[href=&lt;a target="_new" href="http://www.pc530.net/"&gt;http://www.pc530.net/&lt;/a&gt; diannaoaihaozhe]&lt;br&gt;[href=&lt;a target="_new" href="http://www.5icc.com/"&gt;http://www.5icc.com/&lt;/a&gt; duangxingcaixingxiazha]&lt;br&gt;[href=&lt;a target="_new" href="http://www.dianyingxiazai.com/"&gt;http://www.dianyingxiazai.com/&lt;/a&gt; dianyingxiazai]&lt;br&gt;[href=&lt;a target="_new" href="http://www.yinyuexiazai.com/"&gt;http://www.yinyuexiazai.com/&lt;/a&gt; yinyuexiazai]</description></item><item><title>Constrained Execution Regions and other errata [Brian Grunkemeyer]</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#433088</link><pubDate>Mon, 27 Jun 2005 23:42:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:433088</guid><dc:creator>BCLTeam's WebLog</dc:creator><description>A customer recently asked a good question about some of our new reliability features in Whidbey:&lt;br&gt;&lt;br&gt;There...</description></item><item><title>Rotor (SSCLI) 2.0 is available!</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#560990</link><pubDate>Sun, 26 Mar 2006 00:01:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:560990</guid><dc:creator>Generalities &amp; Details: Adventures in the High-tech Underbelly</dc:creator><description /></item><item><title>James Manning  &amp;raquo; Blog Archive   &amp;raquo; Minix3 reliability features</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#1322596</link><pubDate>Tue, 19 Dec 2006 08:04:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1322596</guid><dc:creator>James Manning  » Blog Archive   » Minix3 reliability features</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.sublogic.com/2006/12/minix3-reliability-features/"&gt;http://blog.sublogic.com/2006/12/minix3-reliability-features/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Reliability</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#6530903</link><pubDate>Mon, 26 Nov 2007 16:24:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6530903</guid><dc:creator>Reliability</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://feeds.maxblog.eu/item_100146.html"&gt;http://feeds.maxblog.eu/item_100146.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | Green Tea Fat Burner</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9706269</link><pubDate>Mon, 08 Jun 2009 05:04:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9706269</guid><dc:creator> cbrumme s WebLog Reliability | Green Tea Fat Burner</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://greenteafatburner.info/story.php?id=387"&gt;http://greenteafatburner.info/story.php?id=387&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | Best Eye Cream</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9707267</link><pubDate>Mon, 08 Jun 2009 05:56:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9707267</guid><dc:creator> cbrumme s WebLog Reliability | Best Eye Cream</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://besteyecreamsite.info/story.php?id=2644"&gt;http://besteyecreamsite.info/story.php?id=2644&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | Joint Pain Relief</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9708824</link><pubDate>Mon, 08 Jun 2009 21:25:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9708824</guid><dc:creator> cbrumme s WebLog Reliability | Joint Pain Relief</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://jointpainreliefs.info/story.php?id=2756"&gt;http://jointpainreliefs.info/story.php?id=2756&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | Cellulite Creams</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9711707</link><pubDate>Tue, 09 Jun 2009 05:39:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9711707</guid><dc:creator> cbrumme s WebLog Reliability | Cellulite Creams</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://cellulitecreamsite.info/story.php?id=10496"&gt;http://cellulitecreamsite.info/story.php?id=10496&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | debt solutions</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9757015</link><pubDate>Tue, 16 Jun 2009 03:45:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9757015</guid><dc:creator> cbrumme s WebLog Reliability | debt solutions</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://debtsolutionsnow.info/story.php?id=1279"&gt;http://debtsolutionsnow.info/story.php?id=1279&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> cbrumme s WebLog Reliability | alternative dating</title><link>http://blogs.msdn.com/cbrumme/archive/2003/06/23/51482.aspx#9768016</link><pubDate>Wed, 17 Jun 2009 10:34:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9768016</guid><dc:creator> cbrumme s WebLog Reliability | alternative dating</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://topalternativedating.info/story.php?id=13840"&gt;http://topalternativedating.info/story.php?id=13840&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>