RMS is just another kind of average, the "quadratic mean", which has the nice property of telling us about the magnitude and variance of a set of numbers that would uselessly cancel each other out with other mathematical tools. Just as importantly Pavg=(Vrms)^2/R and similarly Pavg = (Irms)^2R
This is at least in electronics why rms is preferable to the mean of the modulus.
1: Most people will be running either windows which pretty much means you use NTFS whether you like it or not (or you could use fat32 but that isn't exactly going to be any better). Even on linux i'd imagine the number of clueless newbies who would set up a standard filesystem on the device and quickly ruin it would be pretty high. This means high RMA expenses and pissed off users.
2: putting the wear leveling control on the drive puts the drive manufacturer in control of it. That means they can tweak it to match the particular memory array they have, implement new developments without waiting for the operating system to catch up and so on.
3: exposing the memory array directly would require a different paradigm on the interface than current drives use to expose things like the difference between write blocks and erase blocks. Without a major change in interface specs this would mean the filesystem would have no way to get the true characteristics of the array.
Meanwhile, there's already several 20-80 Gbps PCI-e ports on every motherboard ROFLMAO
Pretty much every board has one x16 slot (though in some cases it may be x8 or even x4 electrical). However given that most desktop users buying SSDs will probablly be using this for graphics and the fact that some boards don't like anything but a graphics card in this slot it can't really be considered as a general purpose slot.
The remaining PCIe slots on most boards (if there are any, there are still machines being made where the only PCIe slot is the graphics one) will likely be 1.0 and either all x1 or one x4 (which may be x4 or x16 mechanical) and a few x1 (which will almost always be x1 mechanical). Further they will most likely be 1.0 (afaict southbridges don't generally support 2.0 yet) so that limits you to 5Gbps for x1 and 20Gbps for x4. Worse since most x1 electrical slots are also x1 mechanical you would need to either limit yourself to x1 or produce two different versions of your card. If you also want to take advantage of the extra x16 slots available on higher end boards you will need to make even more variants of the card.
I also disagree that people are running out of expansion slots. On the contrary, other than a video card, I haven't had to use an add-in card for anything for the last three machines I've purchased. It used to be that you had a dedicated slot for your graphics card (AGP or PCIe), maybe an AMR or CNR slot that noone actually used and all the other slots were PCI. High end server/workstation boards had PCI-x but even there in general you could still put most cards in most slots (unless the card manufuacturer was an idiot and made it 5V only or the motherboard manufacturer was an idiot and put a component in a place that blocks the overhanging connector of a 64-bit card in a 32-bit slot).
Nowadays you have a mixture of PCI and PCIe slots with various different subtypes of PCIe. Add this to the fact that you can't usually (i've seen the odd board with a non-standard open back slot) overhang PCIe cards like you could with PCI and most motherboard manufacturers are cheap and fit slots exactly matched to the lane count provided (rather than fitting larger slots to allow a wider range of cards to be used albiet not at max performance) and your chances of having a free slot that is suitable for a given card are much lower than they used to be.
The fact that many video cards are double width and hence block the slot next to them doesn't exactly help either (though most manufacturs are at least sensible enough to put the narrowest slot in the postition that will be blocked).
From what I remember a characteristic of DRAM is that the actual raw memory arrays are generally one bit wide. So different bits in the same word will usually end up in very different places on the chip.
This makes the chance of a bitflip or fault hitting multiple bits of the same word very low.
IIRC it was before multiple core processors were available full-stop, the only way to get two cores in those days was two completely seperate processor chips.
Anyone remember the abit BP6 which was specifically designed for running dual celerons? (I read about it but never actually owned one)
I believe you're right - except about timescales. Because you're saying single core CPUs have now been almost phased out - and that's not quite right. They have been almost phased out of new PCs, but in terms of the overall install base of PCs, there are still a lot of single core machines out there. In fact I'd suspect the majority of actively used computers are still single core. I work at a software company and I'd guess about a quarter of the PCs here are still single core. But afaict gamers tend to replace thier PCs a lot more often than buisness users do. Won't most single core machines be AGP based anyway and hence unable to take the graphics cards modern games need?
That works if you have a significant chunk of the chain that produces a true/false result. If your previous chunk can produce a few billion possible results than unless you have a few billion processors this technique doesn't help you much.
I have to lock around non-lockless data structures and make sure my code is logically able to complete without waiting for any other code that's holding the same lock. The point is not just writing multi-threaded code, it's writing multi-threaded code that actually performs better on a given system (lets say a dual core for now since that's probably the most common configuration right now) than the single threaded code would.
Unfortunately I think 8) is PC gaming gets even deader and an even larger fraction of gaming moves to consoles. Afaict the PS3 still hasn't been cracked and while the xbox 360 has been cracked applying the cracks carries a very real risk of a permanent ban from XBOX live.
I don't particulally like closed platforms but copy protection on an open platform is doomed to failure and ends up getting far more intrusive than the systems closed platforms use.
Yes, and UbiSoft know that. DRM on (PC) video games is all about the "time to crack". Look, this is how the modern piracy scene works and why UbiSoft are doing this. One thing I wish companies would do more (afaict some do it but usually very belatedly) is remove the protection once the point is reached that it really no longer helps them.
This would avoid the need to keep activation servers and helplines up for years and reduce the inconviniance to legitimate customers from the antipiracy meadures.
Even better would be if they promised to do this upfront (and got a reputation for keeping thier promise), so-far I have avoided any game that needs online activation but I might be prepared to accept it if I knew it would be removed after a while making the game viable longterm.
No they can't but there is only so much money you can spend on luxuries for yourself.
Afaict for the really rich money is about buying influence. If you buy a significant proportion of a companies stock or provide a significant proportion of a charities revenue that gives you influence over how they behave. And afaict you can still do this with money that is locked up in a foundation.
Isn't that pretty much what steam does (well there isn't anything technially stopping you reselling your whole steam account but unless you create an account per game that doesn't help you all that much) already?
Linux has a very different driver ecosystem to windows.
On Windows most drivers are developed by the hardware vendor and distributed as binaries to the buyers of the hardware and maybe to windows update. This means there is little quality control (some drivers get submitted to WHQL but many don't and even when they are I don't think MS gets the source) and little to no ability for anybody else (including MS) to update/fix the driver if the hardware vendor can't be bothered to. Writing new drivers from scratch is a possibility but few people are prepared to write Windows drivers if they aren't being paid to do so;).
On Linux most drivers (regardless of whether they are sourced from a hardware vendor or community written) are maintained and distributed as part of the Linux kernel source tree. This means that bugs can be fixed and ports can be made by anyone in the community that cares enough to do so. On the downside the lack of a good method for distributing Linux drivers seperately and loading them into the installer for any distro often makes using Linux on very new hardware painful.
MS disabled use of address space beyond 4GB on 32-bit desktop windows with XP SP2, they claimed this was because of bad drivers. There may be some truth in this (XP SP2 was also the version where they enabled PAE by default for other reasons (data execute protection IIRC) or it may be an attempt to push users to 64-bit or server editions.
Currently the only supported 32-bit desktop edition of windows that hasn't been crippled in this way is windows 2000 and that won't be supported for much longer. IIRC there is still a memory cap at 4GB of memory (rather than 4GB of address space) so using a desktop edition of windows without the PAE crippling doesn't buy you that much in most cases.
There is a hack to enable all your memory in vista and win7 but it involves hex-editing the kernel and then signing it with your own signature and booting with test-signing enabled.
Using a sufficiently high server edition also gets round the crippling but that's an expensive option.
As technology advances you can usually find more RAM squeezed on a single "stick" of RAM. You do but you often find that motherboards are limited in not just the number of ram sticks but the size of them too. Sometimes you can go over the official maximum sometimes you can't.
Because of the fairly frequent changes in ram types I can't just borrow a modern stick from some other machine to try so I either have to stick to the manufacturers official limit or take a risk on ordering an expensive (modules at the large end of thier technology are expensive in my experiance) stick of ram that may or may not be supported.
And a motherboard upgrade can get expensive particulally if it involves replacing other parts and/or MS refuse to activate your OEM copy of windows on your new board.
Another issue is a lot of slightly older (early C2D generation) chipsets only support a 32 bit address space even though they support both a pair of 4GB modules and 64-bit operating systems.
The actual numbers reported for the apps added together frequently exceeds the actual total RAM, no matter which available stats you use. That is common on many operating systems because pages can be shared between apps.
Even that isn't ideal. It makes sense to swap out some library that hasn't been used in hours or days. The more ram available for disk cache the better. Just because something hasn't been used for days doesn't mean it won't be used in the next few seconds.
IMO what matters most for perceived performance is having actions that should be near instant actually be near instant. If firefox has to grind it's way back into ram before it can pop up the window I want because some batch process cased the system to favour disk cache over firefox that is a fail as far as i'm concerned.
It could make sense to page out the entirety of firefox, so as to have more physical ram free for caching of game-content. Unfortunately it's very difficult for the OS to tell whether it makes sense or not.
So you run a long batch process that access loads of files once (say an overnight virus scan) and come back to find firefox entirely swapped out and taking an age to grind it's way back in.
What makes me despair is that ads on these sites actually work. My first thought at landing on such a site is along the lines of wishing the operators would fuck off and die.
Yeah, you could, but why? Because i'm a geek and making stuff work in ways the manufacturers didn't intend amuses me;)
Personally, I'd invest a bit more on some future-proof cat-6a cabling (still don't see 10 GBps ethernet on consumer-grade hardware). Out of interest does anyone know of any suppliers (either in the UK or good about shipping to the UK) that sell cat6a at a reaonsbale price. I'm all for future proofing but £200 a roll seems a bit OTT to me.
RMS is just another kind of average, the "quadratic mean", which has the nice property of telling us about the magnitude and variance of a set of numbers that would uselessly cancel each other out with other mathematical tools.
Just as importantly Pavg=(Vrms)^2/R and similarly Pavg = (Irms)^2R
This is at least in electronics why rms is preferable to the mean of the modulus.
I see a few reasons
1: Most people will be running either windows which pretty much means you use NTFS whether you like it or not (or you could use fat32 but that isn't exactly going to be any better). Even on linux i'd imagine the number of clueless newbies who would set up a standard filesystem on the device and quickly ruin it would be pretty high. This means high RMA expenses and pissed off users.
2: putting the wear leveling control on the drive puts the drive manufacturer in control of it. That means they can tweak it to match the particular memory array they have, implement new developments without waiting for the operating system to catch up and so on.
3: exposing the memory array directly would require a different paradigm on the interface than current drives use to expose things like the difference between write blocks and erase blocks. Without a major change in interface specs this would mean the filesystem would have no way to get the true characteristics of the array.
Meanwhile, there's already several 20-80 Gbps PCI-e ports on every motherboard
ROFLMAO
Pretty much every board has one x16 slot (though in some cases it may be x8 or even x4 electrical). However given that most desktop users buying SSDs will probablly be using this for graphics and the fact that some boards don't like anything but a graphics card in this slot it can't really be considered as a general purpose slot.
The remaining PCIe slots on most boards (if there are any, there are still machines being made where the only PCIe slot is the graphics one) will likely be 1.0 and either all x1 or one x4 (which may be x4 or x16 mechanical) and a few x1 (which will almost always be x1 mechanical). Further they will most likely be 1.0 (afaict southbridges don't generally support 2.0 yet) so that limits you to 5Gbps for x1 and 20Gbps for x4. Worse since most x1 electrical slots are also x1 mechanical you would need to either limit yourself to x1 or produce two different versions of your card. If you also want to take advantage of the extra x16 slots available on higher end boards you will need to make even more variants of the card.
I also disagree that people are running out of expansion slots. On the contrary, other than a video card, I haven't had to use an add-in card for anything for the last three machines I've purchased.
It used to be that you had a dedicated slot for your graphics card (AGP or PCIe), maybe an AMR or CNR slot that noone actually used and all the other slots were PCI. High end server/workstation boards had PCI-x but even there in general you could still put most cards in most slots (unless the card manufuacturer was an idiot and made it 5V only or the motherboard manufacturer was an idiot and put a component in a place that blocks the overhanging connector of a 64-bit card in a 32-bit slot).
Nowadays you have a mixture of PCI and PCIe slots with various different subtypes of PCIe. Add this to the fact that you can't usually (i've seen the odd board with a non-standard open back slot) overhang PCIe cards like you could with PCI and most motherboard manufacturers are cheap and fit slots exactly matched to the lane count provided (rather than fitting larger slots to allow a wider range of cards to be used albiet not at max performance) and your chances of having a free slot that is suitable for a given card are much lower than they used to be.
The fact that many video cards are double width and hence block the slot next to them doesn't exactly help either (though most manufacturs are at least sensible enough to put the narrowest slot in the postition that will be blocked).
From what I remember a characteristic of DRAM is that the actual raw memory arrays are generally one bit wide. So different bits in the same word will usually end up in very different places on the chip.
This makes the chance of a bitflip or fault hitting multiple bits of the same word very low.
IIRC it was before multiple core processors were available full-stop, the only way to get two cores in those days was two completely seperate processor chips.
Anyone remember the abit BP6 which was specifically designed for running dual celerons? (I read about it but never actually owned one)
I believe you're right - except about timescales. Because you're saying single core CPUs have now been almost phased out - and that's not quite right. They have been almost phased out of new PCs, but in terms of the overall install base of PCs, there are still a lot of single core machines out there. In fact I'd suspect the majority of actively used computers are still single core. I work at a software company and I'd guess about a quarter of the PCs here are still single core.
But afaict gamers tend to replace thier PCs a lot more often than buisness users do. Won't most single core machines be AGP based anyway and hence unable to take the graphics cards modern games need?
I'm not convinced they do anymore. Do many people really have the high end graphics cards needed for modern PC games but only a single core CPU?
Unfortunately i'm not aware of any survey which lets you see how common a given combination of graphics power and processor core count is.
That works if you have a significant chunk of the chain that produces a true/false result. If your previous chunk can produce a few billion possible results than unless you have a few billion processors this technique doesn't help you much.
I have to lock around non-lockless data structures and make sure my code is logically able to complete without waiting for any other code that's holding the same lock.
The point is not just writing multi-threaded code, it's writing multi-threaded code that actually performs better on a given system (lets say a dual core for now since that's probably the most common configuration right now) than the single threaded code would.
Unfortunately I think 8) is PC gaming gets even deader and an even larger fraction of gaming moves to consoles. Afaict the PS3 still hasn't been cracked and while the xbox 360 has been cracked applying the cracks carries a very real risk of a permanent ban from XBOX live.
I don't particulally like closed platforms but copy protection on an open platform is doomed to failure and ends up getting far more intrusive than the systems closed platforms use.
Yes, and UbiSoft know that. DRM on (PC) video games is all about the "time to crack". Look, this is how the modern piracy scene works and why UbiSoft are doing this.
One thing I wish companies would do more (afaict some do it but usually very belatedly) is remove the protection once the point is reached that it really no longer helps them.
This would avoid the need to keep activation servers and helplines up for years and reduce the inconviniance to legitimate customers from the antipiracy meadures.
Even better would be if they promised to do this upfront (and got a reputation for keeping thier promise), so-far I have avoided any game that needs online activation but I might be prepared to accept it if I knew it would be removed after a while making the game viable longterm.
No they can't but there is only so much money you can spend on luxuries for yourself.
Afaict for the really rich money is about buying influence. If you buy a significant proportion of a companies stock or provide a significant proportion of a charities revenue that gives you influence over how they behave. And afaict you can still do this with money that is locked up in a foundation.
Isn't that pretty much what steam does (well there isn't anything technially stopping you reselling your whole steam account but unless you create an account per game that doesn't help you all that much) already?
Linux has a very different driver ecosystem to windows.
On Windows most drivers are developed by the hardware vendor and distributed as binaries to the buyers of the hardware and maybe to windows update. This means there is little quality control (some drivers get submitted to WHQL but many don't and even when they are I don't think MS gets the source) and little to no ability for anybody else (including MS) to update/fix the driver if the hardware vendor can't be bothered to. Writing new drivers from scratch is a possibility but few people are prepared to write Windows drivers if they aren't being paid to do so ;).
On Linux most drivers (regardless of whether they are sourced from a hardware vendor or community written) are maintained and distributed as part of the Linux kernel source tree. This means that bugs can be fixed and ports can be made by anyone in the community that cares enough to do so. On the downside the lack of a good method for distributing Linux drivers seperately and loading them into the installer for any distro often makes using Linux on very new hardware painful.
MS disabled use of address space beyond 4GB on 32-bit desktop windows with XP SP2, they claimed this was because of bad drivers. There may be some truth in this (XP SP2 was also the version where they enabled PAE by default for other reasons (data execute protection IIRC) or it may be an attempt to push users to 64-bit or server editions.
Currently the only supported 32-bit desktop edition of windows that hasn't been crippled in this way is windows 2000 and that won't be supported for much longer. IIRC there is still a memory cap at 4GB of memory (rather than 4GB of address space) so using a desktop edition of windows without the PAE crippling doesn't buy you that much in most cases.
There is a hack to enable all your memory in vista and win7 but it involves hex-editing the kernel and then signing it with your own signature and booting with test-signing enabled.
Using a sufficiently high server edition also gets round the crippling but that's an expensive option.
As technology advances you can usually find more RAM squeezed on a single "stick" of RAM.
You do but you often find that motherboards are limited in not just the number of ram sticks but the size of them too. Sometimes you can go over the official maximum sometimes you can't.
Because of the fairly frequent changes in ram types I can't just borrow a modern stick from some other machine to try so I either have to stick to the manufacturers official limit or take a risk on ordering an expensive (modules at the large end of thier technology are expensive in my experiance) stick of ram that may or may not be supported.
And a motherboard upgrade can get expensive particulally if it involves replacing other parts and/or MS refuse to activate your OEM copy of windows on your new board.
Another issue is a lot of slightly older (early C2D generation) chipsets only support a 32 bit address space even though they support both a pair of 4GB modules and 64-bit operating systems.
The actual numbers reported for the apps added together frequently exceeds the actual total RAM, no matter which available stats you use.
That is common on many operating systems because pages can be shared between apps.
Why? Because year after year people kept crossing and getting killed
And even then people STILL get themselves killed on level crossings.
Even that isn't ideal. It makes sense to swap out some library that hasn't been used in hours or days. The more ram available for disk cache the better.
Just because something hasn't been used for days doesn't mean it won't be used in the next few seconds.
IMO what matters most for perceived performance is having actions that should be near instant actually be near instant. If firefox has to grind it's way back into ram before it can pop up the window I want because some batch process cased the system to favour disk cache over firefox that is a fail as far as i'm concerned.
It could make sense to page out the entirety of firefox, so as to have more physical ram free for caching of game-content.
Unfortunately it's very difficult for the OS to tell whether it makes sense or not.
So you run a long batch process that access loads of files once (say an overnight virus scan) and come back to find firefox entirely swapped out and taking an age to grind it's way back in.
Just because two operations are owned by the same parent company does not imply that they behave in the same way.
What makes me despair is that ads on these sites actually work. My first thought at landing on such a site is along the lines of wishing the operators would fuck off and die.
There must be a lot of retards out there I guess.
Yeah, you could, but why? ;)
Because i'm a geek and making stuff work in ways the manufacturers didn't intend amuses me
Personally, I'd invest a bit more on some future-proof cat-6a cabling (still don't see 10 GBps ethernet on consumer-grade hardware).
Out of interest does anyone know of any suppliers (either in the UK or good about shipping to the UK) that sell cat6a at a reaonsbale price. I'm all for future proofing but £200 a roll seems a bit OTT to me.