Atomic I/O letters column #46

Originally published in Atomic: Maximum Power Computing
Reprinted here June 2005.
Last modified 16-Jan-2015.

 

Disk swapping

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?

Brett

Answer:
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.

 

Shake shake shake, shake your mousie...

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.

Siriuz

NightStar flashlight
You shake this flashlight to charge it, but I wouldn't want to shake a mouse like that.

Answer:
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.

 

X:, Y:, Z:, α:, β:...

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?

Wil

Fun with Disk Management
Reducing drive letter clutter is easy, as long as network shares aren't involved...

Answer:
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.

 

It worked for laserdisc...

Why aren't there double-sided CDs with twice the capacity?

Kevin

Answer:
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.

 

Choke_a_horse.txt

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?

Stu

Answer:
You should use TextPad. It's old-fashioned fully functional shareware, it's $US29 for a single user license, and it laughs at cutting and pasting 400Mb at a time.

 

Other letters columns

I/O #1
I/O #2
I/O #3
I/O #4
I/O #5
I/O #6
I/O #7
I/O #8
I/O #9
I/O #10
I/O #11
I/O #12
I/O #13
I/O #14
I/O #15
I/O #16
I/O #17
I/O #18
I/O #19
I/O #20
I/O #21
I/O #22
I/O #23
I/O #24
I/O #25
I/O #26
I/O #27
I/O #28
I/O #29
I/O #30
I/O #31
I/O #32
I/O #33
I/O #34
I/O #35
I/O #36
I/O #37
I/O #38
I/O #39
I/O #40
I/O #41
I/O #42
I/O #43
I/O #44
I/O #45
I/O #46
I/O #47
I/O #48
I/O #49
I/O #50
I/O #51
I/O #52
I/O #53
I/O #54
I/O #55
I/O #56
I/O #57
I/O #58
I/O #59
I/O #60
I/O #61
I/O #62
I/O #63
I/O #64
I/O #65
I/O #66
I/O #67
I/O #68
I/O #69
I/O #70
I/O #71
I/O #72
I/O #73
I/O #74
I/O #75
I/O #76
I/O #77
I/O #78
I/O #79
I/O #80
I/O #81
I/O #82
I/O #83
I/O #84
I/O #85
I/O #86
I/O #87
I/O #88
I/O #89
I/O #90
I/O #91
I/O #92
I/O #93
I/O #94
I/O #95
I/O #96
I/O #97
I/O #98
I/O #99
I/O #100
I/O #101
I/O #102
I/O #103
I/O #104
I/O #105
I/O #106
I/O #107
I/O #108
I/O #109
I/O #109
I/O #110
I/O #111
I/O #112
I/O #113
I/O #114
I/O #115
I/O #116
I/O #117
I/O #118
I/O #119
I/O #120
I/O #121
I/O #122
I/O #123
I/O #124
I/O #125
I/O #126
I/O #127
I/O #128
I/O #129
I/O #130
I/O #131
I/O #132
I/O #133
I/O #134
I/O #135
I/O #136
I/O #137
I/O #138
I/O #139
I/O #140
I/O #141
I/O #142
I/O #143
I/O #144
I/O #145
I/O #146
I/O #147
I/O #148
I/O #149
I/O #150
I/O #151
I/O #152
I/O #153
I/O #154
I/O #155
I/O #156
I/O #157
I/O #158
I/O #159
I/O #160
I/O #161
I/O #162
I/O #163
I/O #164
Dan's Data letters #1
Dan's Data letters #2
Dan's Data letters #3
Dan's Data letters #4
Dan's Data letters #5
Dan's Data letters #6
Dan's Data letters #7
Dan's Data letters #8
Dan's Data letters #9
Dan's Data letters #10
Dan's Data letters #11
Dan's Data letters #12
Dan's Data letters #13
Dan's Data letters #14
Dan's Data letters #15
Dan's Data letters #16
Dan's Data letters #17
Dan's Data letters #18
Dan's Data letters #19
Dan's Data letters #20
Dan's Data letters #21
Dan's Data letters #22
Dan's Data letters #23
Dan's Data letters #24
Dan's Data letters #25
Dan's Data letters #26
Dan's Data letters #27
Dan's Data letters #28
Dan's Data letters #29
Dan's Data letters #30
Dan's Data letters #31
Dan's Data letters #32
Dan's Data letters #33
Dan's Data letters #34
Dan's Data letters #35
Dan's Data letters #36
Dan's Data letters #37
Dan's Data letters #38
Dan's Data letters #39
Dan's Data letters #40
Dan's Data letters #41
Dan's Data letters #42
Dan's Data letters #43
Dan's Data letters #44
Dan's Data letters #45
Dan's Data letters #46
Dan's Data letters #47
Dan's Data letters #48
Dan's Data letters #49
Dan's Data letters #50
Dan's Data letters #51
Dan's Data letters #52
Dan's Data letters #53
Dan's Data letters #54
Dan's Data letters #55
Dan's Data letters #56
Dan's Data letters #57
Dan's Data letters #58
Dan's Data letters #59
Dan's Data letters #60
Dan's Data letters #61
Dan's Data letters #62
Dan's Data letters #63
Dan's Data letters #64
Dan's Data letters #65
Dan's Data letters #66
Dan's Data letters #67
Dan's Data letters #68
Dan's Data letters #69
Dan's Data letters #70
Dan's Data letters #71
Dan's Data letters #72
Dan's Data letters #73
Dan's Data letters #74
Dan's Data letters #75
Dan's Data letters #76
Dan's Data letters #77
Dan's Data letters #78
Dan's Data letters #79
Dan's Data letters #80
Dan's Data letters #81
Dan's Data letters #82
Dan's Data letters #83
Dan's Data letters #84
Dan's Data letters #85
Dan's Data letters #86
Dan's Data letters #87
Dan's Data letters #88
Dan's Data letters #89
Dan's Data letters #90
Dan's Data letters #91
Dan's Data letters #92
Dan's Data letters #93
Dan's Data letters #94
Dan's Data letters #95
Dan's Data letters #96
Dan's Data letters #97
Dan's Data letters #98
Dan's Data letters #99
Dan's Data letters #100
Dan's Data letters #101
Dan's Data letters #102
Dan's Data letters #103
Dan's Data letters #104
Dan's Data letters #105
Dan's Data letters #106
Dan's Data letters #107
Dan's Data letters #108
Dan's Data letters #109
Dan's Data letters #110
Dan's Data letters #111
Dan's Data letters #112
Dan's Data letters #113
Dan's Data letters #114
Dan's Data letters #115
Dan's Data letters #116
Dan's Data letters #117
Dan's Data letters #118
Dan's Data letters #119
Dan's Data letters #120
Dan's Data letters #121
Dan's Data letters #122
Dan's Data letters #123
Dan's Data letters #124
Dan's Data letters #125
Dan's Data letters #126
Dan's Data letters #127
Dan's Data letters #128
Dan's Data letters #129
Dan's Data letters #130
Dan's Data letters #131
Dan's Data letters #132
Dan's Data letters #133
Dan's Data letters #134
Dan's Data letters #135
Dan's Data letters #136
Dan's Data letters #137
Dan's Data letters #138
Dan's Data letters #139
Dan's Data letters #140
Dan's Data letters #141
Dan's Data letters #142
Dan's Data letters #143
Dan's Data letters #144
Dan's Data letters #145
Dan's Data letters #146
Dan's Data letters #147
Dan's Data letters #148
Dan's Data letters #149
Dan's Data letters #150
Dan's Data letters #151
Dan's Data letters #152
Dan's Data letters #153
Dan's Data letters #154
Dan's Data letters #155
Dan's Data letters #156
Dan's Data letters #157
Dan's Data letters #158
Dan's Data letters #159
Dan's Data letters #160
Dan's Data letters #161
Dan's Data letters #162
Dan's Data letters #163
Dan's Data letters #164
Dan's Data letters #165
Dan's Data letters #166
Dan's Data letters #167
Dan's Data letters #168
Dan's Data letters #169
Dan's Data letters #170
Dan's Data letters #171
Dan's Data letters #172
Dan's Data letters #173
Dan's Data letters #174
Dan's Data letters #175
Dan's Data letters #176
Dan's Data letters #177
Dan's Data letters #178
Dan's Data letters #179
Dan's Data letters #180
Dan's Data letters #181
Dan's Data letters #182
Dan's Data letters #183
Dan's Data letters #184
Dan's Data letters #185
Dan's Data letters #186
Dan's Data letters #187
Dan's Data letters #188
Dan's Data letters #189
Dan's Data letters #190
Dan's Data letters #191
Dan's Data letters #192
Dan's Data letters #193
Dan's Data letters #194
Dan's Data letters #195
Dan's Data letters #196
Dan's Data letters #197
Dan's Data letters #198
Dan's Data letters #199
Dan's Data letters #200
Dan's Data letters #201
Dan's Data letters #202
Dan's Data letters #203
Dan's Data letters #204
Dan's Data letters #205
Dan's Data letters #206
Dan's Data letters #207
Dan's Data letters #208
Dan's Data letters #209
Dan's Data letters #210



Give Dan some money!
(and no-one gets hurt)