Warrent's are the correct channel for criminal prosecution. But Al Qaeda is not a criminal organization, they are a terrorist organization. The US does not have the means to prosecute a criminal globally except in a few rare circumstances. Hence we need mechanisms for intelligence that are governed differently (note not laxer, just targeted around intelligence)
Are you kidding? They can of course go abroad and use any illegal method they like to hunt for, trap, and kill Al Qaeda operatives and supporters. But I'll be damned if they can do it in America, to Americans! If someone is suspected of having ties to foreign terrorist organizations, then get a warrant if these enemies are within the U.S. borders. If not, then send a sniper. Don't give me this spoonfed bs that the administration spouts off about. Maybe you'd like to live under King Bush, but I for one am appalled that this issue is not causing people to pass out from sheer anger.
Hmm.... I doubt you'd need a few million cells though.
Some of the tendering spreadsheets i've seen for a few companies i've worked for have had quite a lot of calculation going on in them - change a few cells that others depend on that have others depending on them, etc.... do that all day, it adds up quick.
You only need 1 of those operations in that instance to screw up and you could be down a few million dollars, if it's not picked up.
Even forgetting that it's just the moral thing to do...Risk vs replacement cost = no brainer. If only 3000 cpus are affected at say $300 each for amd to sell retail (i'm sure their cost is FAR less), they'd be mad not to just do it (maybe even offer a free speed bump) and reap the positive PR.
All it needs is for ONE company to blame a budget blowout on them and it's well and truly paid for...
smash.
This could never happen in an Excel spreadsheet. If you'd bother to read the actual AMD errata, first, you need extremely high environmental termperatures. I don't know about where you work, but most people doing spreadsheets are not doing so in a 90+ degree office with high humidity. Second, the FPU code needs to run UNINTERRUPTED (i.e. no checking of counters, no checking of results, no non-fpu instructions period for millions upon millions of iterations of a tight loop). This could never happen on windows (or Linux for that matter). The scheduler would kick in at its given time slice and most certainly execute instructions other than those in the tight FPU loop, which would give sufficient time for this localized heat buildup to dissipate. This is a theoretical bug caused by running a tight FPU loop directly on the bare metal (no OS) in very high environmental temperatures. Just how often is an end user going to be executing code in this scenario? My best guess is with a distributed system where CPUs can be set to run and only return at the end (i.e. no preemption or time-slicing). Oh yeah, and the designer of this system would have to put in inadequate cooling.
Seems not only highly unlikely, but given that only 2-3,000 chips are affected, just what would be the real world odds of this error actually manifesting itself?
Granted, for most people this may well be a non-issue, and data corruption is a fact of life.
However, when a CPU is KNOWN DEFECTIVE in a repeatable, data-corrupting way, it is the vendor's responsibility to replace/fix it.
Similar to vehicle recalls. Most people would never be affected by many of the things vehicles are recalled for, but that doesn't mean that known *serious* defects are simply let go.
I have actually studied this bug, and it is only observed when the fpu code is iterated in the MILLIONS of times without ever executing another instruction (only a tight FPU loop), in addition, the environmental temperature must also be high (think tropical). AMD has stated (1) that this problem has never been identified in actual production code (only a single benchmark in these environmental conditions); and (2) that they are identifying and replacing (for free) all affected CPUs. It is estimated that 2-3,000 chips have this particular defect (out of the millions shipped). Further, AMD has added an additional validation step to identify processors affected by this glitch, which will cause them to be pushed down to a lower speed grade (i.e. 2.8GHz affected CPUs will be sold as 2.6GHz parts), where this problem does not manifest itself.
I for one am happy that this story broke 2 days ago, and 1 day ago AMD had already figured out which CPU batches could potentially be affected, and is offering free replacements (without the customer complaining first). Now today it's on Slashdot. At least this isn't the F00F bug which Intel didn't tell anyone about until the public discovered it and raised hell. Further, the likliehood of data corruption caused by this glitch, even in fpu-heavy code, is extremely unlikely as there would be other non-fpu instructions executed in between in nearly every case (except extreme benchmarking-- i.e. the reason AMD discovered the problem in the first place).
Exactly. I once held off on buying a dual-cpu motherboard because I didn't think the (south)chipset was up to snuff. How stupid. Here was a motherboard with 3 PCI-X(66) and 1 PCI-X(133) (in addition to two PCI32 slots and two PCIe x16 slots). I was upset because the USB host controller only supported USB1.1. Completely neglecting the fact that I could buy a trivially inexpensive add-in card and get the same functionality with minimal effort. People always look to the latest and greatest, but fail to ask one simple question: "What is it buying ME?"
If it's not a huge increase in speed, then you have to understand that legacy platforms will continue to be supported for a good deal of time into the future. Never wait. Who cares? I know there are individual (and technologically sound) reasons why you would, but reviews have stated for ages that AM2 doesn't deliver any boost, and until DDR2-800 is available may not offer any tangible benefit whatsoever.
So what's wrong with buying a nice dual or (drool) quad core desktop with socket 940 processors? You can (at this very instant) buy a quad core with dual x16 SLI and all the integrated platform goodies for about $400. If you wait until AM2 feeds down the pipe, it'll drop by 30%. My questions is this: if this lower priced platform still allows expandability with the peripherals you desire, and still supports (into the forseeable future) any new processor revisions, then what's the problem??
There isn't one. Take care (power) bargain shoppers!
Then again, let's go back to basics. What was the intention of the patent law? It wasn't so someone from his bedroom can stalk the people over his "inventions", nor that more people invent more. The original intention of the patent law was so that those with immense trade expertise accumulated and kept in secret (ie, big business) would share that expertise with the people. The patent law wasn't intended so that some guy in his pajamas would tell us how something is done, it was intended so that experts from a big business would have an incentive to write a few documents describing how something is done and share them with the people. Had there been no patents then big business would still continue to invent, only that they'd do it in secret.
And I thought you were on the right track until I read this. You are a little off base. The patent system was not implemented to induce big business to share their ideas with the world. Sorry. Its purpose is to protect the people actually bringing something to market. It was made to prevent someone from simply stealing your ideas/work product/inventions, and to provide a legal framework in the event that someone did. It also effectively provides a period of freedom from competition, thus allowing an idea to be brought to life without the standard external pressures. These protections induce people (and entities) to invent and innovate. Imagine a system without such protections-- if anyone could steal your work product out from under you at any time and capitalize on it, no one would want to innovate for financial gain, thus substantially limiting both the scope and scale of our technical progress as a society.
The patent system does have the added benefit of making information public knowledge once the patent period expires, but believe me, this is most defnitely not its primary purpose (yes, I know patents are public knowledge anyway, but after the period expires, anyone can use that knowledge).
I agree with your post completely. This article is largely irrelevant. But it is interesting that you bring up the Singularity OS. It is quite a concept, having watched the Channel9 videos and read the whitepaper. Basically, the OS is written in a derivative of C# (which allows some of the things necessary for system level programming (int/trap/call gates, access to priviledged instructions like CLI/STI LGDT, LIDT, etc.)) and runs in a very lightweight.NET (if you can call it that at that point) VM. The really intriguing part of Singularity is that every process/thread/execution unit runs in kernel mode (ring0). The runtime is able to acheive security by analyzing the code prior to execution. Right now, this seems not only terribly inefficient, but brings up serious concerns about security and safety. But MS may be on to something....big. We all complain about the performance implications of managed/interpreted/byte/IL code, but what about when we suddenly have processing resources at the system level that were heretofore unimaginable in consumer level systems? I'm talking 4/8/16/32/+++ cores per die. Then where is the performance hit? Factor in that this new OS also completely eliminates context switching across protection rings. Quite frankly, with proper VM caching, code signing (at the VM layer; i.e. internal) and sound development practices, this type of operating system has the potential to be incredibly fast, and incredibly secure. Now the question is, who will release it first? (i) those trying to imitate MS with free software; (ii) a free software system who isn't hell bent on turning POSIX into a world dominating way of life; or (iii) Microsoft...
Why yes, I have designed and written an 32/64-bit protected mode, fully preemptive operating system from scratch (in C). It was hard.
I hope you're Mr. Tom from AMDZone.com, because you ripped off this comment from the front page of the site word for word. If you are him, I'm sorry, but if not, you don't deserve the +5 moderation for being a rip-off asshat.
You have to go Opteron instead of X2's (as the Athlon64's have only one hypertransport bus externally, wheras Opterons have 1, 2, or 4 depending on series 100/200/800). Your best bet is Tyan or Iwill who both make dual processor Opteron boards that support dual-core processors (for a total of 4 cores). The Tyan Thunder K8WE (S2895) was every gamer's wet dream for a while because it offered true dual PCI-E x16 links for SLI by utilizing two Nforce4 Ultra northbridges. The board also has separate memory for each processor bank (mmm... NUMA goodness!). Iwill offered a very similar board. I also believe both have refreshed their product offerings however. Be very wary though... Expect to pay $450 (street) for the Tyan and Iwill without onboard SCSI and about $550 with. Oh, and these boards both require a beefy EPS12V power supply and a case that can accomodate an SSI-EEB 3.0 motherboard (actually, a case that supports Extended ATX boards up to 12" x 13" will suffice). Further, remember that you're going to pay a premium for the Registered/ECC memory of about 20%. Then come the Opterons. A dual core Opteron will cost about 1.5x to 3x what a comparable dual core Athlon64 X2 will cost. I've priced these systems out tons of times, and you're looking at a minimum of $5k, and that doesn't include any specialized RAID (an actual PCI-X@133 controller, not the onboard crap) or high performance (15k RPM) SCSI hard drives.
A great machine nonetheless, but after I added my hardware plus WindowsXP Pro AND Windows X64 AND Suse Linux 32/64, it was around $9k. Worth it if your life (or job) depends on it, but pretty much overkill for even the most die-hard computer fanatic.
Non-rhetorically, who would you recommend as a viable alternative to VIA?
While it is true that VIA chipsets were flaky in the K7 days, I have used several since with no problems. But, I prefer nVidia, which by all measures produces the fastest, most feature packed, and stable chipset available for the K8/Opteron platform in the Nforce4 Ultra. You can also go AMD on the Opteron side with the 8111 (?), although it is severely outdated as of now (no PCI-E, USB 2.0, 1394).
Sorry, I notice you did mention l4, but at the very end. Further, I had a typo above. Can you spot it?? It says "can," but I meant to type "and." I normally preview, but I'm getting ready for some college football.
Check out the microkernel work done by the late Jochen Leudtke at L4Ka.org. The HURD is most certainly "not going to be the first to get there," since Mr. Leudtke's research has shown that a Microkernel can indeed reduce context switching cost by aggregating system calls can only making the transition at necessary moments rather than on each individual system call. Further, by using the new (since PII) SYSENTER/SYSEXIT instructions rather than the more traditional interrupt/trap gate, the cost of a context switch can be reduced from several thousand cycles down to approximately 800 or so on modern (P4/AMD64) processors.
Who buys retail software?? An OEM copy of XP Home is ~$91 and XP Pro ~$140. An upgrade copy of XP Home is ~$99 and XP Pro ~$189. Why would you ever need to buy a full retail version? Besides, most off-the-shelf Linux distributions nowadays start at $99 and go up from there.
Which means you don't use your computer to make money (or at least not much of it). Because if you did, you'd be a hypocrite, and a thief. You can't steal raw materials to make a widget, why should you steal the tools to make you a living.
Oh yeah, you're probably making fanboy websites and animated GIFs and avatars for your 3l337 forum.
Tell that to my grandmother who doesn't even know how to select text in a text box or push the backspace key. You really think that anyone, much less a technophobe, can figure out that a browser needs the ability to send and receive data on tcp port 80, while it needs access to its configuration files in/etc, etc.... Give me a break... It's exactly this attitude that is the problem. Users of a product should not have to figure out what the program needs. The OS and the application should work hand in hand to ensure this is done correctly. As far as I'm concerned Linux and Windows are both pieces of shit from an era gone by.
If Microsoft hadn't included illegally copied software in DOS from Stac Electronics, perhaps Apple would have been able to compete more effectively and brought us a stable operating system years before Microsoft managed to do it.
You're kidding right? What in the hell does stealing a drive compression routine for DOS, a 16-bit, non-protected, single threaded operating system have to do with Apple delivering us a stable operating system? Or Microsoft for that matter? More likely, if Mac customers had been clamoring for a true multithreaded, protected operating system then Apple would have delivered it, rather than sitting on their asses for six years talking about Taligent, Pink, Copeland, and all the other pipe dreams that never materialized into anything. And if Mac customers had not continued to fork over inflated prices for underpowered machines, then Apple would have been forced sooner. Don't underestimate market forces. MS and Apple haven't competed directly against one another in about 12 years. If you want a Mac, buy a Mac.. We've still got Office @ $499!
If Microsoft hadn't conned their way into a cheap deal for Mosaic, perhaps Internet Explorer wouldn't have the death grip it has on the market, and perhaps web developers would be able to use CSS, PNG, HTML, HTTP, etc without being held back by Internet Explorer's flaws.
The problem with standards and everything else OSS folks bitch about is that you folks don't understand: standards don't mean shit. They really don't. No for profit entity has ever strived for interoperability unless it was in their absolute best interest. He who has the money and the marketshare makes the standards. Period. It's that way in every facet of capitalism, whether it be computers or prosthetic limbs. Gosh, I hope many slashdotters never become entrepeneurs. You'll get eaten for breakfast. Some of the things in our society make Gates & Co. seem like angels. The problem is you're too busy reading slashdot and not busy enough reading about the corporate culture in the rest of America. As crooked as they've been, I doubt Bill Gates has ever taken millions of dollars illegally, lied to investors, inflated numbers, then skipped town when the shit hit the fan. Give me a break.
Very late post, but no modern operating system uses the hardware based TSS mechanism for task switching. One TSS for each privilege level is required, but software switching of only the required values is much faster than invoking a hardware TSS switch (too much is saved that is not necessary). Further, software based swapping of the TSS is so much faster that Intel and AMD stopped optimizing hardware task switching ages ago. In fact, in long mode (64-bit) you MUST use software switching. The TSS structure is still provided, but you have to patch it using software.
You are right on both counts, but the latter is not as big of an issue as RISC advocates would like you to believe. x86 processors since the Pentium Pro (hazy, but maybe the Pentium) have used register renaming, whereby the internal micro-op execution core of the processor has many, many more registers than the IA32 ISA (like 32/64/128 vs. 8).
The greatest speed increase will not come from the number of registers, per se, but rather the compiler's ability to explicitly access those registers. There is only so much a processor can know about a code path prior to execution, and even if it does know as much as we can possibly tell it beforehand, there is no guarantee that two code paths will ever be identical. But a compiler can be much more creative about its knowledge of a given code path and can instead optimize for 16 instead of 8 general purpose registers in addition to making the __fastcall calling convention the ABI's default.
I guess my point is that yes, the number of externally addressable registers is important, but only if a compiler can really make intelligent use of it. Simply using 16 instead of 8 will not get you nearly as much of a speed increase because of the large internal register windows of modern x86(-64) processors. I think you'd be surprised just how optimized that register window is. The speed impact is not zero, but it's nearly imperceptible in most instances. You're much more likely to see a huge imporovement on a given algorithm if all of its instructions and data (and output if it uses it's output for further input) can reside in the on-die cache than anything to do with the number of registers. If that were the case, then we should see a tremendous speed increase just from moving applications to 64-bit. Right now, either due to the compilers not being quite up to snuff or due to the increased memory footprint of 64-bit code, this is simply not the case. Real world ranges from a hit of 10-15% to an increase of 5-10%. Some apps do benefit substantially more, but they are definitely the exception.
Well, as ironic as it is, gcc is the one that used to suck when it came to generating functions called with the __fastcall calling convention (where function arguments are passed via registers instead of on the stack). But now, the ABI for x86-64 seems to encourage the __fastcall convention by default (assuming this is due to the extra general purpose registers). I found this out when doing some OS dev and some ASM test routines were not working in 64-bit mode. I was looking in RAX like I always had (well, EAX at least), and lo and behold, no value!! Well, a quick read of an AMD64 ABI guide from x86-64.org (which went offline last week, don't know if it's back), and I was ready to rock and roll again.
Seeing as how MSVC and icc both conform to the x86-64 ABI, I would assume that both are equally capable (they're already damn near the same anyway) of utilizing the extra registers.
This is not exactly true. When an AMD64 (IA32e/EMT64) is executing in long mode, the cpu does offer a compatibility mode, but it is up to the operating system to set the necessary descriptor tables and initiate the 32-bit task. Likewise, the OS has to be aware so that it can thunk 32-bit library values (change from 64 to 32-bit on the call and from 32 to 64-bit on the return). So a fair amount of OS support is required to run 32-bit native code on a 64-bit native OS. Is it a lot of code? Not really, but the ramifications could be far reaching depending upon kernel design/structure. With MS having built Alpha and Itanium 64-bit builds of the NT kernel, I would think that most of those issues were tackled in a nicely portable way years ago.
129 comments when I start to write this post, and it doesn't look like anyone paid much attention to what this guy has done. Read his description: "Being a Linux Zealot, this is the first time I've actually seen it, but I've obviously heard lots about it. So, I think, lets see what Microsoft makes of a Linux box then.....
clicketyclick. copy-paste-code. clicketyclick.
What copy-n-paste code? I've done WGA tons of times, and I never had to enter any codes?! Then, if you look at his screenshot (here), you will see a dialog box that says "Copy and paste or type this code into the dialog box in Step 2. Then click Validate. Once the code has been accepted, close this Window." Very unusual. It seems to me that he's doing something sneaky. I've never had to do anything with WGA, as stated before, much less enter any codes. Why has no one else noticed this?
Let's see... The same John C. Dvorak that has predicted the death of Windows a thousand times over dating back to the introduction of the platform?
Yawn. I've been reading his columns since 1989, and I still don't think a single one of them has come true. Remind me why he's relevant anymore? Used to be, I would get so excited when a new PC Magazine arrived. I mean, without the internet, I thought it was a great source for information from knowledgeable folks. I want the $35 per year back that I shelled out to Ziff Davis from 89-96. What a ripoff.
Oh yeah, and Dvorak's no different. Only now it's more difficult for him to get his voice out there without being so controversial and/or downright inciteful.
There's only so many hours per day to do kernel development! And where better to discuss actual issues with kernels rather than religious zealotry between Linux and Windows? Oh wait... nevermind. That's what alt.os.development is for...
Warrent's are the correct channel for criminal prosecution. But Al Qaeda is not a criminal organization, they are a terrorist organization. The US does not have the means to prosecute a criminal globally except in a few rare circumstances. Hence we need mechanisms for intelligence that are governed differently (note not laxer, just targeted around intelligence)
Are you kidding? They can of course go abroad and use any illegal method they like to hunt for, trap, and kill Al Qaeda operatives and supporters. But I'll be damned if they can do it in America, to Americans! If someone is suspected of having ties to foreign terrorist organizations, then get a warrant if these enemies are within the U.S. borders. If not, then send a sniper. Don't give me this spoonfed bs that the administration spouts off about. Maybe you'd like to live under King Bush, but I for one am appalled that this issue is not causing people to pass out from sheer anger.
Hmm.... I doubt you'd need a few million cells though. Some of the tendering spreadsheets i've seen for a few companies i've worked for have had quite a lot of calculation going on in them - change a few cells that others depend on that have others depending on them, etc.... do that all day, it adds up quick.
You only need 1 of those operations in that instance to screw up and you could be down a few million dollars, if it's not picked up.
Even forgetting that it's just the moral thing to do...Risk vs replacement cost = no brainer. If only 3000 cpus are affected at say $300 each for amd to sell retail (i'm sure their cost is FAR less), they'd be mad not to just do it (maybe even offer a free speed bump) and reap the positive PR.
All it needs is for ONE company to blame a budget blowout on them and it's well and truly paid for...
smash.
This could never happen in an Excel spreadsheet. If you'd bother to read the actual AMD errata, first, you need extremely high environmental termperatures. I don't know about where you work, but most people doing spreadsheets are not doing so in a 90+ degree office with high humidity. Second, the FPU code needs to run UNINTERRUPTED (i.e. no checking of counters, no checking of results, no non-fpu instructions period for millions upon millions of iterations of a tight loop). This could never happen on windows (or Linux for that matter). The scheduler would kick in at its given time slice and most certainly execute instructions other than those in the tight FPU loop, which would give sufficient time for this localized heat buildup to dissipate. This is a theoretical bug caused by running a tight FPU loop directly on the bare metal (no OS) in very high environmental temperatures. Just how often is an end user going to be executing code in this scenario? My best guess is with a distributed system where CPUs can be set to run and only return at the end (i.e. no preemption or time-slicing). Oh yeah, and the designer of this system would have to put in inadequate cooling.
Seems not only highly unlikely, but given that only 2-3,000 chips are affected, just what would be the real world odds of this error actually manifesting itself?
Granted, for most people this may well be a non-issue, and data corruption is a fact of life. However, when a CPU is KNOWN DEFECTIVE in a repeatable, data-corrupting way, it is the vendor's responsibility to replace/fix it.
Similar to vehicle recalls. Most people would never be affected by many of the things vehicles are recalled for, but that doesn't mean that known *serious* defects are simply let go.
I have actually studied this bug, and it is only observed when the fpu code is iterated in the MILLIONS of times without ever executing another instruction (only a tight FPU loop), in addition, the environmental temperature must also be high (think tropical). AMD has stated (1) that this problem has never been identified in actual production code (only a single benchmark in these environmental conditions); and (2) that they are identifying and replacing (for free) all affected CPUs. It is estimated that 2-3,000 chips have this particular defect (out of the millions shipped). Further, AMD has added an additional validation step to identify processors affected by this glitch, which will cause them to be pushed down to a lower speed grade (i.e. 2.8GHz affected CPUs will be sold as 2.6GHz parts), where this problem does not manifest itself.
I for one am happy that this story broke 2 days ago, and 1 day ago AMD had already figured out which CPU batches could potentially be affected, and is offering free replacements (without the customer complaining first). Now today it's on Slashdot. At least this isn't the F00F bug which Intel didn't tell anyone about until the public discovered it and raised hell. Further, the likliehood of data corruption caused by this glitch, even in fpu-heavy code, is extremely unlikely as there would be other non-fpu instructions executed in between in nearly every case (except extreme benchmarking-- i.e. the reason AMD discovered the problem in the first place).
Exactly. I once held off on buying a dual-cpu motherboard because I didn't think the (south)chipset was up to snuff. How stupid. Here was a motherboard with 3 PCI-X(66) and 1 PCI-X(133) (in addition to two PCI32 slots and two PCIe x16 slots). I was upset because the USB host controller only supported USB1.1. Completely neglecting the fact that I could buy a trivially inexpensive add-in card and get the same functionality with minimal effort. People always look to the latest and greatest, but fail to ask one simple question: "What is it buying ME?"
If it's not a huge increase in speed, then you have to understand that legacy platforms will continue to be supported for a good deal of time into the future. Never wait. Who cares? I know there are individual (and technologically sound) reasons why you would, but reviews have stated for ages that AM2 doesn't deliver any boost, and until DDR2-800 is available may not offer any tangible benefit whatsoever.
So what's wrong with buying a nice dual or (drool) quad core desktop with socket 940 processors? You can (at this very instant) buy a quad core with dual x16 SLI and all the integrated platform goodies for about $400. If you wait until AM2 feeds down the pipe, it'll drop by 30%. My questions is this: if this lower priced platform still allows expandability with the peripherals you desire, and still supports (into the forseeable future) any new processor revisions, then what's the problem??
There isn't one. Take care (power) bargain shoppers!
Then again, let's go back to basics. What was the intention of the patent law? It wasn't so someone from his bedroom can stalk the people over his "inventions", nor that more people invent more. The original intention of the patent law was so that those with immense trade expertise accumulated and kept in secret (ie, big business) would share that expertise with the people. The patent law wasn't intended so that some guy in his pajamas would tell us how something is done, it was intended so that experts from a big business would have an incentive to write a few documents describing how something is done and share them with the people. Had there been no patents then big business would still continue to invent, only that they'd do it in secret.
And I thought you were on the right track until I read this. You are a little off base. The patent system was not implemented to induce big business to share their ideas with the world. Sorry. Its purpose is to protect the people actually bringing something to market. It was made to prevent someone from simply stealing your ideas/work product/inventions, and to provide a legal framework in the event that someone did. It also effectively provides a period of freedom from competition, thus allowing an idea to be brought to life without the standard external pressures. These protections induce people (and entities) to invent and innovate. Imagine a system without such protections-- if anyone could steal your work product out from under you at any time and capitalize on it, no one would want to innovate for financial gain, thus substantially limiting both the scope and scale of our technical progress as a society.
The patent system does have the added benefit of making information public knowledge once the patent period expires, but believe me, this is most defnitely not its primary purpose (yes, I know patents are public knowledge anyway, but after the period expires, anyone can use that knowledge).
Warning - offtopic. Sorry.
.NET (if you can call it that at that point) VM. The really intriguing part of Singularity is that every process/thread/execution unit runs in kernel mode (ring0). The runtime is able to acheive security by analyzing the code prior to execution. Right now, this seems not only terribly inefficient, but brings up serious concerns about security and safety. But MS may be on to something....big. We all complain about the performance implications of managed/interpreted/byte/IL code, but what about when we suddenly have processing resources at the system level that were heretofore unimaginable in consumer level systems? I'm talking 4/8/16/32/+++ cores per die. Then where is the performance hit? Factor in that this new OS also completely eliminates context switching across protection rings. Quite frankly, with proper VM caching, code signing (at the VM layer; i.e. internal) and sound development practices, this type of operating system has the potential to be incredibly fast, and incredibly secure. Now the question is, who will release it first? (i) those trying to imitate MS with free software; (ii) a free software system who isn't hell bent on turning POSIX into a world dominating way of life; or (iii) Microsoft...
I agree with your post completely. This article is largely irrelevant. But it is interesting that you bring up the Singularity OS. It is quite a concept, having watched the Channel9 videos and read the whitepaper. Basically, the OS is written in a derivative of C# (which allows some of the things necessary for system level programming (int/trap/call gates, access to priviledged instructions like CLI/STI LGDT, LIDT, etc.)) and runs in a very lightweight
Why yes, I have designed and written an 32/64-bit protected mode, fully preemptive operating system from scratch (in C). It was hard.
Yeah, and that standard C GUI makes it real easy for apps that spread across six to twelve monitors on and near the trading floor....
Gosh, I sure hope some of you never need to send someone to college one day (or daycare, or sports camps) or anything else for that matter.
Funny as that may be, it didn't work.
I guess $40 Billion is good for something!
I hope you're Mr. Tom from AMDZone.com, because you ripped off this comment from the front page of the site word for word. If you are him, I'm sorry, but if not, you don't deserve the +5 moderation for being a rip-off asshat.
You have to go Opteron instead of X2's (as the Athlon64's have only one hypertransport bus externally, wheras Opterons have 1, 2, or 4 depending on series 100/200/800). Your best bet is Tyan or Iwill who both make dual processor Opteron boards that support dual-core processors (for a total of 4 cores). The Tyan Thunder K8WE (S2895) was every gamer's wet dream for a while because it offered true dual PCI-E x16 links for SLI by utilizing two Nforce4 Ultra northbridges. The board also has separate memory for each processor bank (mmm... NUMA goodness!). Iwill offered a very similar board. I also believe both have refreshed their product offerings however. Be very wary though... Expect to pay $450 (street) for the Tyan and Iwill without onboard SCSI and about $550 with. Oh, and these boards both require a beefy EPS12V power supply and a case that can accomodate an SSI-EEB 3.0 motherboard (actually, a case that supports Extended ATX boards up to 12" x 13" will suffice). Further, remember that you're going to pay a premium for the Registered/ECC memory of about 20%. Then come the Opterons. A dual core Opteron will cost about 1.5x to 3x what a comparable dual core Athlon64 X2 will cost. I've priced these systems out tons of times, and you're looking at a minimum of $5k, and that doesn't include any specialized RAID (an actual PCI-X@133 controller, not the onboard crap) or high performance (15k RPM) SCSI hard drives.
A great machine nonetheless, but after I added my hardware plus WindowsXP Pro AND Windows X64 AND Suse Linux 32/64, it was around $9k. Worth it if your life (or job) depends on it, but pretty much overkill for even the most die-hard computer fanatic.
Non-rhetorically, who would you recommend as a viable alternative to VIA?
While it is true that VIA chipsets were flaky in the K7 days, I have used several since with no problems. But, I prefer nVidia, which by all measures produces the fastest, most feature packed, and stable chipset available for the K8/Opteron platform in the Nforce4 Ultra. You can also go AMD on the Opteron side with the 8111 (?), although it is severely outdated as of now (no PCI-E, USB 2.0, 1394).
Sorry, I notice you did mention l4, but at the very end. Further, I had a typo above. Can you spot it?? It says "can," but I meant to type "and." I normally preview, but I'm getting ready for some college football.
Check out the microkernel work done by the late Jochen Leudtke at L4Ka.org. The HURD is most certainly "not going to be the first to get there," since Mr. Leudtke's research has shown that a Microkernel can indeed reduce context switching cost by aggregating system calls can only making the transition at necessary moments rather than on each individual system call. Further, by using the new (since PII) SYSENTER/SYSEXIT instructions rather than the more traditional interrupt/trap gate, the cost of a context switch can be reduced from several thousand cycles down to approximately 800 or so on modern (P4/AMD64) processors.
Who buys retail software?? An OEM copy of XP Home is ~$91 and XP Pro ~$140. An upgrade copy of XP Home is ~$99 and XP Pro ~$189. Why would you ever need to buy a full retail version? Besides, most off-the-shelf Linux distributions nowadays start at $99 and go up from there.
Which means you don't use your computer to make money (or at least not much of it). Because if you did, you'd be a hypocrite, and a thief. You can't steal raw materials to make a widget, why should you steal the tools to make you a living.
Oh yeah, you're probably making fanboy websites and animated GIFs and avatars for your 3l337 forum.
I need to stop responding to the trolls!
Uhhh.... Neither does FOSS.... What planet are you living on?
Oh yes... I've been trolled.
Tell that to my grandmother who doesn't even know how to select text in a text box or push the backspace key. You really think that anyone, much less a technophobe, can figure out that a browser needs the ability to send and receive data on tcp port 80, while it needs access to its configuration files in /etc, etc.... Give me a break... It's exactly this attitude that is the problem. Users of a product should not have to figure out what the program needs. The OS and the application should work hand in hand to ensure this is done correctly. As far as I'm concerned Linux and Windows are both pieces of shit from an era gone by.
If Microsoft hadn't included illegally copied software in DOS from Stac Electronics, perhaps Apple would have been able to compete more effectively and brought us a stable operating system years before Microsoft managed to do it.
You're kidding right? What in the hell does stealing a drive compression routine for DOS, a 16-bit, non-protected, single threaded operating system have to do with Apple delivering us a stable operating system? Or Microsoft for that matter? More likely, if Mac customers had been clamoring for a true multithreaded, protected operating system then Apple would have delivered it, rather than sitting on their asses for six years talking about Taligent, Pink, Copeland, and all the other pipe dreams that never materialized into anything. And if Mac customers had not continued to fork over inflated prices for underpowered machines, then Apple would have been forced sooner. Don't underestimate market forces. MS and Apple haven't competed directly against one another in about 12 years. If you want a Mac, buy a Mac.. We've still got Office @ $499!
If Microsoft hadn't conned their way into a cheap deal for Mosaic, perhaps Internet Explorer wouldn't have the death grip it has on the market, and perhaps web developers would be able to use CSS, PNG, HTML, HTTP, etc without being held back by Internet Explorer's flaws.
The problem with standards and everything else OSS folks bitch about is that you folks don't understand: standards don't mean shit. They really don't. No for profit entity has ever strived for interoperability unless it was in their absolute best interest. He who has the money and the marketshare makes the standards. Period. It's that way in every facet of capitalism, whether it be computers or prosthetic limbs. Gosh, I hope many slashdotters never become entrepeneurs. You'll get eaten for breakfast. Some of the things in our society make Gates & Co. seem like angels. The problem is you're too busy reading slashdot and not busy enough reading about the corporate culture in the rest of America. As crooked as they've been, I doubt Bill Gates has ever taken millions of dollars illegally, lied to investors, inflated numbers, then skipped town when the shit hit the fan. Give me a break.
Sorry for yelling...
Very late post, but no modern operating system uses the hardware based TSS mechanism for task switching. One TSS for each privilege level is required, but software switching of only the required values is much faster than invoking a hardware TSS switch (too much is saved that is not necessary). Further, software based swapping of the TSS is so much faster that Intel and AMD stopped optimizing hardware task switching ages ago. In fact, in long mode (64-bit) you MUST use software switching. The TSS structure is still provided, but you have to patch it using software.
You are right on both counts, but the latter is not as big of an issue as RISC advocates would like you to believe. x86 processors since the Pentium Pro (hazy, but maybe the Pentium) have used register renaming, whereby the internal micro-op execution core of the processor has many, many more registers than the IA32 ISA (like 32/64/128 vs. 8).
The greatest speed increase will not come from the number of registers, per se, but rather the compiler's ability to explicitly access those registers. There is only so much a processor can know about a code path prior to execution, and even if it does know as much as we can possibly tell it beforehand, there is no guarantee that two code paths will ever be identical. But a compiler can be much more creative about its knowledge of a given code path and can instead optimize for 16 instead of 8 general purpose registers in addition to making the __fastcall calling convention the ABI's default.
I guess my point is that yes, the number of externally addressable registers is important, but only if a compiler can really make intelligent use of it. Simply using 16 instead of 8 will not get you nearly as much of a speed increase because of the large internal register windows of modern x86(-64) processors. I think you'd be surprised just how optimized that register window is. The speed impact is not zero, but it's nearly imperceptible in most instances. You're much more likely to see a huge imporovement on a given algorithm if all of its instructions and data (and output if it uses it's output for further input) can reside in the on-die cache than anything to do with the number of registers. If that were the case, then we should see a tremendous speed increase just from moving applications to 64-bit. Right now, either due to the compilers not being quite up to snuff or due to the increased memory footprint of 64-bit code, this is simply not the case. Real world ranges from a hit of 10-15% to an increase of 5-10%. Some apps do benefit substantially more, but they are definitely the exception.
Well, as ironic as it is, gcc is the one that used to suck when it came to generating functions called with the __fastcall calling convention (where function arguments are passed via registers instead of on the stack). But now, the ABI for x86-64 seems to encourage the __fastcall convention by default (assuming this is due to the extra general purpose registers). I found this out when doing some OS dev and some ASM test routines were not working in 64-bit mode. I was looking in RAX like I always had (well, EAX at least), and lo and behold, no value!! Well, a quick read of an AMD64 ABI guide from x86-64.org (which went offline last week, don't know if it's back), and I was ready to rock and roll again.
Seeing as how MSVC and icc both conform to the x86-64 ABI, I would assume that both are equally capable (they're already damn near the same anyway) of utilizing the extra registers.
This is not exactly true. When an AMD64 (IA32e/EMT64) is executing in long mode, the cpu does offer a compatibility mode, but it is up to the operating system to set the necessary descriptor tables and initiate the 32-bit task. Likewise, the OS has to be aware so that it can thunk 32-bit library values (change from 64 to 32-bit on the call and from 32 to 64-bit on the return). So a fair amount of OS support is required to run 32-bit native code on a 64-bit native OS. Is it a lot of code? Not really, but the ramifications could be far reaching depending upon kernel design/structure. With MS having built Alpha and Itanium 64-bit builds of the NT kernel, I would think that most of those issues were tackled in a nicely portable way years ago.
129 comments when I start to write this post, and it doesn't look like anyone paid much attention to what this guy has done. Read his description: "Being a Linux Zealot, this is the first time I've actually seen it, but I've obviously heard lots about it. So, I think, lets see what Microsoft makes of a Linux box then.....
clicketyclick. copy-paste-code. clicketyclick.
What copy-n-paste code? I've done WGA tons of times, and I never had to enter any codes?! Then, if you look at his screenshot (here), you will see a dialog box that says "Copy and paste or type this code into the dialog box in Step 2. Then click Validate. Once the code has been accepted, close this Window." Very unusual. It seems to me that he's doing something sneaky. I've never had to do anything with WGA, as stated before, much less enter any codes. Why has no one else noticed this?
Am I paranoid? Yep.
Let's see... The same John C. Dvorak that has predicted the death of Windows a thousand times over dating back to the introduction of the platform?
Yawn. I've been reading his columns since 1989, and I still don't think a single one of them has come true. Remind me why he's relevant anymore? Used to be, I would get so excited when a new PC Magazine arrived. I mean, without the internet, I thought it was a great source for information from knowledgeable folks. I want the $35 per year back that I shelled out to Ziff Davis from 89-96. What a ripoff.
Oh yeah, and Dvorak's no different. Only now it's more difficult for him to get his voice out there without being so controversial and/or downright inciteful.
There's only so many hours per day to do kernel development! And where better to discuss actual issues with kernels rather than religious zealotry between Linux and Windows? Oh wait... nevermind. That's what alt.os.development is for...