Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Microsoft IT

Debugging Microsoft.com 511

teslatug writes "Channel 9 has an interesting video interview with Chris St.Amand and Jeff Stucky who test and debug Microsoft.com. They reveal some of the big problems they used to face such as recycling processes every 5 minutes due to memory leaks and 32 bit limitations, and being unable to push more than 10 Mbits of data to their datacenters due to Windows' networking stack limitations."
This discussion has been archived. No new comments can be posted.

Debugging Microsoft.com

Comments Filter:
  • Missing info... (Score:5, Informative)

    by DaHat ( 247651 ) on Monday December 05, 2005 @08:28PM (#14189921)
    The summary is missing the fact that many of their problems went away after upgrading to an early 64 bit version of Vista with its improved networking stack.
  • Easy. (Score:4, Informative)

    by wilymage ( 934907 ) <wily@b[ ]st ['ur.' in gap]> on Monday December 05, 2005 @08:31PM (#14189953) Homepage Journal
    1. mplayer [mplayerhq.hu]

    2. xine [xinehq.de]

    Not that tough, really, now is it?
  • by ThinkFr33ly ( 902481 ) on Monday December 05, 2005 @08:42PM (#14190037)
    The limitations discussed in the video of the Windows TCP stack are not limited to Windows. These are limitations imposed by a to-the-spec implementation of TCP. TCP is 30+ years old, and it wasn't designed for the kinds of networks it runs on today.

    The new TCP stack in Vista effectively implements TCP is such a way that it removes these limitations while preserving compatibility with old stack implementations.
  • Re:Missing info... (Score:5, Informative)

    by Swamii ( 594522 ) on Monday December 05, 2005 @09:00PM (#14190143) Homepage
    Let's not forget that this limitation is a limitation of TCP itself as implemented in the 30 year old spec. See this /. post [slashdot.org] for more info.
  • Compound TCP (Score:3, Informative)

    by kyoko21 ( 198413 ) on Monday December 05, 2005 @09:07PM (#14190192)
    Slightly off topic, but the new Windows TCP stack will be implementing their new Compound TCP stack, aka, CTCP. More information can be read here:

    http://research.microsoft.com/research/pubs/view.a spx?type=Technical%20Report&id=940 [microsoft.com]
  • by ThinkFr33ly ( 902481 ) on Monday December 05, 2005 @09:23PM (#14190265)
    Opps... I posted the wrong link. Somebody later on in the comments posted the correct link to the document that describes the new Microsoft TCP stack called Compound TCP [microsoft.com] (CTCP).
  • Re:Missing info... (Score:4, Informative)

    by ipb ( 569735 ) on Monday December 05, 2005 @09:32PM (#14190321) Homepage
    No more so than windows.

    All that chimney does is provide a standard way for windows to offload the tcp-stack to a seperate processor running on the NIC.

    From the white paper: "TCP Chimney offloads the TCP protocol stack to a Network Interface Card (NIC) "
    This has been available for high-end systems for a decade or more.

    A quick google search for "linux tcp/ip accelerated" will find numerous examples of Linux cards that offload the stack.
  • by ThinkFr33ly ( 902481 ) on Monday December 05, 2005 @09:34PM (#14190334)
    Got any links? I suspect that has more to do with kernel mode listeners (which at the time Tux had and IIS 5.0 didn't) than the TCP stack, and since IIS 6.0 has a kernel mode HTTP listener, it's probably not an issue anymore.

    Regardless, that has little to do with the problem Microsoft encountered in connecting two datacenters that where phsyiscally seperated by a long distance but connected with a high bandwidth pipe. See this research paper [microsoft.com].
  • Re:Hmm.... (Score:1, Informative)

    by Anonymous Coward on Monday December 05, 2005 @09:55PM (#14190437)

    I know you're making a joke, but the "Windows uses the BSD stack" FUD has got to stop.

    Windows NT 3.1 and 3.5 included a port of the BSD stack.

    Windows NT 3.51 (and all subsequent versions) included a completely new written-from-scratch stack. There are still bits of BSD fluff around (for example, the uber-lame FTP client) but the TCP/IP stack is not the BSD stack.

    The TCP/IP stacks shipped with Windows for Workgroups 3.1, Windows 95, Windows 98, and Windows ME were based on the NT 3.51 stack. In fact, the NT 3.51, WfW 3.11, and Win95 stacks were developed more-or-less concurrently using the same source base.

    In other words, no version of Windows shipped in the past 10 years has used any derivative of the BSD TCP/IP stack.

  • Re:Missing info... (Score:3, Informative)

    by ThinkFr33ly ( 902481 ) on Monday December 05, 2005 @10:01PM (#14190465)
    Sorry, that chimney article was the wrong link. I really need to read things more carefully before hitting post.

    Read this [microsoft.com] instead.
  • by schon ( 31600 ) on Monday December 05, 2005 @10:06PM (#14190495)
    You're confused.

    No, he's not.

    Just because you can push 480Mb/s doesn't mean you're getting 480Mb/s throughput on any given connection.

    Yes it does - it means that he's getting 480Mb/s to the outside world. Whether that is to one client on the same local link, or split between 1000 clients across the globe, it's still 480Mb/s.

    Suppose you had 1Gb/s on two connections seperated by 5000 miles. You really think you're going got get 1Gb/s?

    Yes. By definition. That's what 1Gb/s means. Latency and bandwidth are orthogonal.

    The inherant latency delays in the protocol make it impossible to get anywhere near optimum bandwidth.

    Latency and bandwith are orthogonal. If you could get 1Gb/s to Mars, it's *still* 1Gb/s, even though the latency would be measured in seconds (or possibly minutes.)

    As they say, never underestimate the bandwith of a station wagon full of backup tapes hurtling down the highway.
  • by ThinkFr33ly ( 902481 ) on Monday December 05, 2005 @10:09PM (#14190506)
    Read this [microsoft.com] to see what they're doing.

    I agree that no modern OS runs a 30 year old stack... but most modern OS's today still have major issues with high latency connections even when those pipes have plenty of bandwidth. There is nothing we can do about a 100ms latency when the connection is 5000 miles long, but there is a lot we can do to improve the TCP protocol to optimize for those long distance/high bandwidth connections that are becoming more and more common.
  • by alvieboy ( 61292 ) on Monday December 05, 2005 @10:13PM (#14190524) Homepage
    Bandwidth vs Latency.

    Take a truck. A huge one. Fill it up with recorded DVD's and send it over a hundred miles distance.

    You'll have huge bandwidth.

    But wait, somehow a DVD got lost in transit. What now ?

    You have to phone back and have a taxi to pick it up and deliver the missing DVD.

    As you need the last DVD, you'll have to wait. Your bandwidth decreases.

    It's pretty much costly for you to do so if you miss a DVD.

    So you decide to take only a hundred DVD's per truck and using multiple smaller trucks. But somehow none is missing this time, so you spent a lot of money for the extra trucks.

    This issue is somehow similiar to Heisenberg's Uncertainty Principle [wikipedia.org]. You cannot get maximum bandwidth and minimum latency.

    Linux can respond faster if it has to. OS/X doesn't do that because it does not want to.

    It can also respond slower:

    $ cat /proc/sys/net/ipv4/icmp_ratelimit
    250

    Tune it as you wish.

    Yes, I had some beers today, and what? :)
  • Think you misread (Score:5, Informative)

    by everphilski ( 877346 ) on Monday December 05, 2005 @10:23PM (#14190575) Journal
    No, no, no... they can saturate a 10MB/s connection easily. What they had problems with was database connections over a long distance (a problem with TCP, not windows)... which they rectified (using a concept called CTCP), check this paper out: http://research.microsoft.com/research/pubs/view.a spx?type=Technical%20Report&id=940 [microsoft.com]

    -everphilski-
  • Re:Remember Hotmail? (Score:3, Informative)

    by robogun ( 466062 ) on Monday December 05, 2005 @10:31PM (#14190621)
    Remember the whole Hotmail fiasco in late '97 when Microsoft acquired it? The whole thing was running on UNIX and ran just fine. They tried to replace it with NT servers, and it just couldn't stand up under the weight no matter how much hardware they threw at it.

    It still can't stand up to the weight. Have you tried using Hotmail in the middle of the day and get those SERVER TOO BUSY errors? If it even responds!
  • Re:The Desk (Score:5, Informative)

    by Procyon101 ( 61366 ) on Monday December 05, 2005 @10:41PM (#14190668) Journal
    The one on the left is Coke, the other 3 are Red Talking Rain. Personally, I'm a Green Talking Rain programmer, but I can respect teh other side :) Talking rain (particularly green) is the nectar of the programmers here in Seattle.

    You see, Microsoft started the great thing a few years back where every floor was stocked with 2 giant refrigerators of free soda. The rest of the local software companies quickly moved to copy this ingenious move, so you can't program and not be in contact will all the free soda you can drink. This sounds pretty cool until you've done it for about 2 years. At that time, assuming you are not a natural soda addict, the last thing on earth you want to drink is any kind of beverage with sugar in it, because you are so unbelievably sugared out. In come Talking Rain. Talking Rain is a simple carbonated spring water, with just a hint of fruit oil added, and no sugar. Green Talking Rain adds lime oil, and Red Talking Rain adds Rasberry, I think, although being a Greener myself, I never really paid attention. The fact that only senior programmers have completed this Talking Rain pupation, allows you to easily glance at someone's trash can in their office and peg them for a Senior or Junior level developer. You will almost never see a Junior level developer drinking Talking Rain, and almost never see a Senior level NOT drink it. Kind of a free soda pecking order.

    Of course I may be reading to much into this, but my Greener roots run deep :)
  • by Jeff- ( 95113 ) on Monday December 05, 2005 @11:09PM (#14190786) Homepage
    Latency and bandwidth are not orthogonal when you have flow control. Try looking up 'bandwidth delay product' and tcp windowing. To achieve 1gbp/s to mars you need to buffer all that data in case of packet loss. Available memory will throttle your throughput.

    A quick web search says round trip times to mars are between 10-50 minutes. Say 60 minutes * 60 seconds = 360 gigabits of window space to achieve full line rate. Now consider some minor packet loss and even with SACK you're buffering an unreasonable amount of data.

    Annoying that the parent got modded up with bad information and this post will likely be passed over.
  • Re:Missing info... (Score:4, Informative)

    by ergo98 ( 9391 ) on Monday December 05, 2005 @11:10PM (#14190789) Homepage Journal
    That I am streaming video from Microsoft.com, on a story that is front page on slashdot right now? That's a lot of bandwidth ;-)

    The /. effect is grossly exaggerated. I've been Slashdotted, and truth be told I got more hits from a joelonsoftware.com mention than I did from Slashdot. Slashdot has a lot of readers, but very few of them follow the links to TFA.

    Nonetheless, Microsoft does have extraordinary bandwidth. On the day that Visual Studio was released to the MSDN, amid great fanfar, I downloaded that night at 650KB/second (the cap on my cable modem) for the entirity of the download.
  • by Alef ( 605149 ) on Monday December 05, 2005 @11:17PM (#14190808)
    If you could get 1Gb/s to Mars, it's *still* 1Gb/s, even though the latency would be measured in seconds (or possibly minutes.)

    The round trip time to Mars varies between about 10 and 40 minutes, depending on the relative positions of the Earth and Mars.

  • by tomhudson ( 43916 ) <barbara,hudson&barbara-hudson,com> on Monday December 05, 2005 @11:48PM (#14190942) Journal
    It's flamebait because when Microsoft bought Hotmail, it was running BSD. They had to put in 10x the number of servers to get it to run under Windows, and even then, they had problems.

    Even Microsoft acknowledged that BSD was superior to Windows http://www.csse.monash.edu.au/~lloyd/tildeMisc/200 1/2001-MS-BSD.html [monash.edu.au]

    When Microsoft moved to buy Hotmail in 1997, it was already running on FreeBSD, and continued to do so for several years, a source of some embarrassment to Microsoft. The company had earlier said, though, that it removed all FreeBSD from Hotmail last summer, and even has a lengthy technical paper on its Web site describing the transition.

    But Friday, Microsoft conceded FreeBSD was still being used at Hotmail on machines that track advertising and that run a crucial Internet function known as "DNS hosting." A Microsoft spokesman said he couldn't explain why Microsoft had given out incorrect information on the topic.

    The spokesman said FreeBSD was still in use simply because the company had yet to switch the machines over to Windows. But one employee of the Redmond, Wash., company said Microsoft has deliberately kept FreeBSD in parts of Hotmail because of its technical superiority over Windows in important functions and furthermore had decided to actually increase its reliance on FreeBSD. Many of the company's Web sites went down much of a day in January, and this person said FreeBSD was judged to be better than Windows at helping to prevent a recurrence of the problem.

    So, while Microsoft has been adding "improvements", BSD hasn't stood still. Its STILL better than anything Microsoft has.

  • by adventuregeek ( 128208 ) on Monday December 05, 2005 @11:48PM (#14190945)
    It was one of there secondary sites, something like blah.microsoft.com. The ISP was supposed to be hosting it on a colo NT box as part of an outsourced hosting contract. Well the site crashed constantly and the support team got sick of the late night pager calls and moved it over to a BSDI box with Apache and spoofed the server headers to read IIS, never told the M$ guys.
  • by edwdig ( 47888 ) on Monday December 05, 2005 @11:51PM (#14190959)
    You're totally not understanding where the bottleneck is. The issue isn't if it's possible to push 480Mb/s out of one machine, or if it's possible to push it over a link rated at 480Mb/s. The issue is if it's possible to do it *using the original TCP standard*.

    Each end of a TCP connection allocates a receive buffer. The available empty space in this buffer is mentioned as part of the header on every packet. A TCP implementation allowed to continue sending packets to the other machine as long as there is space in the buffer. If machine A says it has an 8 KB buffer, then machine B can send 8 KB without worrying. If machine B receives an ACK packet saying that there is free buffer space from machine A before it sends 8 KB, then it can keep on sending data. However, if 8 KB is sent before machine B hears anything from machine A, machine B is required to completely stop sending data until it receives an ACK indicating free buffer space.

    The buffer size specified in the TCP header is a 16 byte number. This worked fine on slower networks, but according to the article it peaks around 10Mb/s. It becomes an issue of latency. Once you receive a packet, you need to be able to get an acknowledgement packet to the other machine before it can send out 64KB of data (counting the packet you just received). If you can't, the other machine stops sending data until it hears from you.

    Sometime in the 90's when the problem first became an issue, a solution was developed. A new TCP option was created that indicated the buffer size in the TCP header was to be multiplied by a number specified during the initialization of the connection to get the true buffer size. Apparently MS only implemented this recently.
  • by andfarm ( 534655 ) on Tuesday December 06, 2005 @12:20AM (#14191073)
    If you watch the system log on an OS X machine that's getting ping flooded, you'll note that it starts printing "Limiting icmp ping response from (large number) to 250 packets per second". It's entirely intentional.
  • Re:Easy. (Score:3, Informative)

    by evilviper ( 135110 ) on Tuesday December 06, 2005 @02:12AM (#14191483) Journal
    However, they are basically 32-bit x86 only, so if you are not running 32-bit x86, you are SOL. Maybe the GP is running PPC Linux or a 64-bit Linux?

    32-bit DLLs work fine on 64-bit x86 Linux. You have to compile MPlayer as a 32-bit program, of course, but you're still running it on a 64-bit processor, and a 64-bit Linux OS.
  • by SuperQ ( 431 ) * on Tuesday December 06, 2005 @03:48AM (#14191833) Homepage
    #1: tcp window sizes are neat. By changing a couple proc variables, I can push 350mbps with a single tcp flow over a busy I2 link with a single stock fedora core 3 kernel, on a 1ghz P3.

    #2: -10 points for using "synergy" in technical info (linked ms.com article)
  • by Alascom ( 95042 ) on Tuesday December 06, 2005 @05:25AM (#14192111)
    Even with 100ms latency, using a 30bit TCP window size [RFC 1323] [faqs.org] you can theoretically transfer data at 5 gigabits per second.

    1,073,741,824 bits per 200ms (100ms RTT)... and thats with the receiver just ACK'ing after the transfer of each 1 gig chunk, not providing intermittant ACKs throughout the transfer.
  • Re:Missing info... (Score:4, Informative)

    by LizardKing ( 5245 ) on Tuesday December 06, 2005 @06:57AM (#14192372)

    To think that you can slashdot Microsofts site because of a puny WMV-file is naive.

    It's really naive when you consider the that Microsoft don't host their own website. Akamai does.

  • Re:What the... (Score:3, Informative)

    by masklinn ( 823351 ) <slashdot.org@mCO ... t minus language> on Tuesday December 06, 2005 @08:22AM (#14192577)
    The VLC features documentation [videolan.org] states that VLC is able to read WMV under (Open|Free)BSD
  • MOD PARENT DOWN (Score:1, Informative)

    by Anonymous Coward on Tuesday December 06, 2005 @09:15AM (#14192720)
    Who the hell modded this informative?

    The search at rpm.pbone.net in the parent post returns "Your search MPlayer-w32codecs-1.0pre7try2-15.sparc.rpm did not match any entry in database.". Further searches at rpm.pbone.net and Google do not return any hits for this rpm.

With your bare hands?!?

Working...