Atomic I/O letters column #46Originally published in Atomic: Maximum Power Computing Reprinted here June 2005.
Last modified 16-Jan-2015.
I have recently acquired a server and was looking to make it into a dedicated games server, and am currently in a meaningful discussion with some friends regarding the fastest configuration of the drives.
The server has three 74Gb 10k HDs on an Adaptec RAID controller. Should I use a RAID 1 mirrored set with a separate page file disk, or should I just stay with the RAID 5 disk set and take advantage of the security and space it provides?
Is a separate paging disk going to increase the performance of the server?
Unless the server's actually flogging its swap a lot, the difference will not be noticeable. A game server certainly shouldn't be hitting the disk during normal operation except on level transitions; even a mere 1Gb of physical RAM should be enough to accommodate the four or five different dedicated server executables that'll swamp the upstream bandwidth of most Internet links.
If this is going to be a LAN server then bandwidth shouldn't be an issue, even on plain 100BaseT Ethernet. But if you install 2Gb of RAM, you'll still probably run out of CPU power before you run out of physical memory, even if you've got a steaming dual processor system.
This depends on the games you're running, of course. A lot of game servers have surprisingly light system requirements; if you only want to run one dedicated server, a superannuated ex-business 400MHz P-II box can still handle most of what people are playing today (though probably not a big BF1942 game).
With a good controller, RAID 1 (mirroring) and RAID 5 will both give you considerably improved read performance, which is what you want. There won't be a noticeable difference, for your purposes, between two-drive RAID 1 and three-drive RAID 5. There also won't be any difference in total disk capacity; either way you're giving up one disk worth of capacity for data protection, though the RAID 5 option gives you redundancy for all of your data if one drive fails, while the RAID 1 option only protects the mirrored disks from one of them failing.
If all you're considering putting on the third drive is the page file, though, then this could actually be a plus. If it's not RAIDed at all and it fails, you'll be able to swap it out quickly and easily without having to do any RAID rebuilding.
You will, of course, have tons of disk space left over on the machine, if all it's doing is serving games. Consider using only one drive for everything; any 10,000RPM drive really is likely to be perfectly adequate. Then you could use one of the others as a nightly or weekly backup disk, and keep the third one to swap in if one of the others fails. Sorted.
After I found out about A4Tech's BatteryFree Wireless Mouse, that gets power from its mousepad, I had a better idea. Why not have the mouse be powered by the user's wrist movements? Like Seiko's "Kinetic" watches, which don't require changing of batteries. I'm pretty sure the same could be done for mice. After all, you have to move the mouse to move the cursor.
You shake this flashlight to charge it, but I wouldn't want to shake a mouse like that.
There's a big, big difference between the power you need to run a wristwatch and the power you need to run a mouse.
A modern cordless optical mouse, like a Logitech MX 700, will draw something like 80 milliamps (mA) from its two AA NiMH cells, in constant normal use. That's not a whole lot - it gives you something like a straight day of use from a couple of fully charged AAs (and, of course, you can recharge the batteries whenever you're not using the mouse).
80mA at the nominal 2.4 volts of the two rechargeable AAs is 0.192 watts. Wristwatches need a lot less power than that, which is why they can be powered by a feeble shaker generator.
Even a relatively big (11 by 3mm) G10 silver oxide button cell - which is considerably larger than the cells that power most wristwatches - will only have a capacity of 60 milliamp-hours at 1.5 volts. That's a big 90 milliwatt-hours, and it'll run a watch for, what, two years straight?
Actually, you'll usually get a couple of years of service out of a much smaller battery in a digital watch, but let's say only 24 months from a G10.
This adds up to a current draw of less than four microamps, at only 1.5 volts - about five microwatts. A 192 milliwatt mouse is drawing around 37,400 times as much power.
So even if you cut the power the mouse was consuming by a factor of ten, and increased the power the kinetic charging system produced by another factor of ten, you'd still be making less than three thousandths of the power you'd need to run the mouse.
At work we have some users who have all their drive letters taken up with network drives. When they plug in a device such as a USB memory stick or a card reader we have to unmap a network drive to be able to access it. This is a real problem for the users, because they don't have admin rights to the machine.
So what I was thinking about doing was creating some shell folders which point to the UNC path in question instead. So instead of having, say, \\server\Data mapped to the G drive, you can have a folder in My Computer called Group Data instead.
I got the idea from this tip, which works in a limited way. It lets you put the folders in My Computer, but when you try and browse to somewhere to save your work, the folder doesn't come up.
Do you guys have any ideas on how to do this?
Yes, it can be done, and it can even be done in a fairly point-and-drool way. This page (which is only promised to work right in Internet Explorer) lets you generate a Win2000/XP registry file to create shell folders, on the desktop and/or in My Computer, which can point to anything you like, including network shares. And they show up in file requestors.
Note: The "GUID/CLSID" can be anything you like, as long as it's of the right form nothing else is using the same ID. fd4df9e0-e3de-11ce-bfcf-abcd1de12345 seems to be rather popular.
(A crueller soul than me might point out that a bunch of these .reg files concatenated together would be an excellent small, one-shot device for filling someone else's desktop and My Computer with rudely named, undeletable-without-registry-editing "System Folders".)
There are a few other ways to collapse multiple local drives on a Win2000 or WinXP system into one drive letter. Disk Management makes it easy to mount NTFS volumes as folders instead of drive letters, for instance, and the standard mountvol.exe utility lets you do the same thing and more from the command line. Even if you've got the Win2000 Resource Kit or the more fancily named XP version of the same thing, though, the extra Linkd and Delrp utilities won't help you with your problem. They, too, only deal with local volumes.
The way Microsoft want you to solve this problem is by doing the letter-reduction on the server side. If you've got Windows servers that're sharing multiple drives, you can concatenate those drives on the servers by the above methods, and thus have fewer drives being mounted on the clients. If you've got as many sharers as shares, though - your clients are mounting 24 shares from 24 servers - then this isn't a way around the problem unless you invest in a fancy distributed filesystem solution.
Which Microsoft will, of course, be happy to sell you.
Why aren't there double-sided CDs with twice the capacity?
Actually, it's been done. The only problem is that it didn't work very well.
Nobody thought of making CDs double-sided when they were invented (not least because that'd make it impossible to put a label on one side), so the CD spec requires a standard thickness of polycarbonate on the data side, on top of the reflective layer. On the other side of the reflective layer is a thin coating of epoxy; that's why the "label side" is so much more susceptible to scratch damage than the other, armoured side.
If you make a disc with regulation-thickness polycarbonate on both sides and a two-sided data layer, you end up with a thicker disc than the CD standard allows. It won't fit properly in various drives, and may overstrain drive motors as well.
To avoid this, you could make a disc with half-thickness polycarbonate on each side, but then the laser will have trouble focussing. It expects the data layer to be 1.2mm under the surface of the disc.
The DVD format doesn't have these limitations. DVDs have the same exterior dimensions as CDs, but their data layer is in the middle of the disc, 0.6mm from each side. DVD was designed to accommodate "flippy" discs, as well as the more common double layer single sided discs, from the outset.
DVD-ROM drives could probably therefore, physically, work with double sided CDs that're built like a DVD with the data layer in the middle of a 1.2mm sandwich rather than over on one side. But they don't. In CD mode, they expect a standard CD and work like a CD-ROM drive.
At least one CD-R maker, a few years ago, did produce double sided discs. Compatibility problems meant they didn't stay on the market for long, though.
I need to edit really big text files. Like, a couple of hundred megabytes, at least. On Windows. How do I do it?
I've fished through a few editors that claim to have large file support, but it looks like their idea of "large" isn't the same as mine. Even Emacs on 32 bit systems craps out at 128Mb. I discovered that Microsoft Word can handle incredibly big files if you're willing to wait (turn off spell checking!), but that's totally horrible.
I don't need any special features in the editor, just speed. What should I use?