Dan's Data letters #189

Publication date: 22 August 2007.
Last modified 03-Dec-2011.

 

3Gb limit letter the first

I read your article "What's with the 3GB memory barrier?", and ended with a question.

Will 32-bit Windows fully use both memory channels of a dual channel CPU, such as an Athlon 64, if some of the memory is unusable?

For example, the Dell machine you mention in your article "...with WinXP, 4Gb of RAM, and a pair of Nvidia's oddball 1Gb GeForce 7950 GX2 cards. Result: 56.25% of the installed memory absent without leave. You might as well have only bought 2Gb."

That computer has 4Gb, with only about 2Gb available. Will that be 2 channels at 1Gb each or 1 channel at 2Gb, resulting in a performance loss? I know that both channels are still there, but if the lower 2Gb address range is allocated entirely to the first channel then Windows would effectively only use one channel, right?

Andy

Answer:
I see what you're saying, here. If the memory map is filled up with installed physical RAM in blocks, so a computer with four 1Gb modules will have its first gigabyte of memory map "covered" by the first memory module, the second by the second, and so on, then loss of the whole fourth gigabyte to a dual-graphics-card memory hole would make it impossible for dual channel mode to deliver any benefit for memory accesses in that fourth gigabyte.

(This isn't actually a "Windows" issue, by the way - memory architecture is a low-level hardware feature that affects all operating systems.)

Of course, such an arrangement would also make dual channel mode useless for most memory accesses, unless the physical memory allocated to each process was spread out in little pieces across the memory map.

Accordingly, and based on no research, I don't think it works that way. The memory map is, I think, made up of interleaved parcels of memory from each installed memory module in turn. So dual channel mode should work fine no matter how many memory holes there are.

The reason why I've cavalierly failed to look into this in any great detail is that, in the final analysis, dual channel mode actually doesn't matter much. PC tasks are not generally very memory-intensive. Which is good, because memory access in a PC is one of its biggest theoretical performance bottlenecks. I talk about this in more detail in my old piece here.

(See also the start of this column.)

As I mention in this column, the difference between "pure" dual channel mode and the Dual Channel Asymmetric mode that most-to-all current motherboards support if the physical memory configuration contains some RAM that doesn't have anything to match it on the other access channel is insignificantly small. The difference between dual channel and pure single channel is not a lot larger. It's possible to do stuff with a PC that's RAM-speed limited and which therefore shows a big difference if your RAM is faster, but virtually no desktop computer tasks are significantly RAM-speed limited most of the time.

 

3Gb limit letter the second

I've had issues before with more than 3Gb of RAM, and I knew there were good reasons for staying at or below 3Gb, but never knew exactly why. Your article has a clear explanation.

Question, though: I have an ongoing debate on this very subject. A friend of mine claims the following:

"You can definitely get and use up to 4Gb - the "barrier" is that no SINGLE PROGRAM can allocate more than 3Gb (2Gb actually, normally). However, you can have four programs each using 1Gb and use your 4Gb just fine. Just no running a game that wants to use 3.5GB of your memory all for itself - that's not allowed in 32-bit Windows."

After reading your article, it seems to me that he is dead wrong. That 4th program would not have the RAM available in 32-bit Windows.

Joe

Answer:
Your friend is confusing the Windows virtual address space with the physical RAM accessible to the system.

Windows provides every program with what looks like a flat 4Gb of memory, usually split into 2Gb of RAM the program can directly access and 2Gb for Windows itself to use. If you're running four applications on a Windows computer, each of those four applications will therefore think it's got 2Gb of memory to play with (which you can increase to 3Gb, but probably shouldn't). It doesn't matter how much memory is actually installed in the computer - 1Gb, 4Gb, 128Mb, whatever.

When applications actually ask for some of the memory that's available to them, Windows, like every other modern operating system, figures out how best to split that memory allocation between the swap file and the physical memory in the computer. The more physical memory there is, the less often the system will need to hit the slow hard-disk swap file.

The 3Gb "barrier" affects the amount of physical memory the system can access, not the amount of virtual memory Windows provides to applications. If you have four applications that're each actually doing stuff with 1Gb of memory (ignoring Windows' own memory allocations for a moment), then a "4Gb" PC will not actually have enough usable physical RAM for them all to do that stuff at the same time without hitting the swap file.

(Fortunately, programs often use much less memory than they allocate. If a program allocates 1Gb but only actually does stuff with 100Mb, then Windows will try to put the in-use 100Mb in physical RAM, and leave the rest of the allocated memory sitting peacefully in the swap file.)

 

While we're on the subject

I am ready to get another computer for video and photo editing. I know that video likes speed and Photoshop likes RAM. I have a friend who is heavily into photo stuff - RAW files and lots of manipulation. He just had a computer built with 64-bit WinXP and 8Gb of RAM.

Is that overkill or it is justified?

George

Answer:
It's overkill, for Photoshop.

8Gb of RAM won't make Photoshop work much better than it would on a "4Gb" 32-bit computer (with three-point-something gigabytes of available memory), primarily because there is, as of CS3, still no 64-bit version of Photoshop.

On a 32-bit system, the best Photoshop can get is its own two or three gigabyte share of a 4Gb block of addresses within the 8Gb available. On a 64-bit system, things are somewhat better, because since the CS2 version, Photoshop has been "large address aware". That means it can get a whole 4Gb to itself when running on a 64-bit system with enough RAM, though opinions differ on how well it uses it (Photoshop's got its own internal virtual memory system, with its own scratch-disk "swap files").

In any case, 4Gb is the absolute limit to the physical memory current Photoshop versions will ever be able to use. Any further memory will help keep load off the swap file if you're running lots of other programs, but will not do you any other good.

Fortunately, for the vast majority of photo editing tasks, even if you're working with ten-megapixel-plus 16-bit files, a two or three gigabyte computer is more than enough.

Photoshop can, however, make an ordinary photo into an arbitrarily large file if you keep piling on the layers. If you normally work with files that have numerous adjustment and edit layers, or if you work with very large images (which probably means negative scans, unless you've paid the price of a Bentley for your digital camera), then a single Photoshop file can end up needing gigabytes of storage. Open multiple files at once and things get even worse.

If you're doing that, then there's some further justification for a 64-bit computer, provided of course that you can actually get 64-bit drivers for all of the hardware that you want to use. But you still won't be able to make more than 4Gb of the RAM available to Photoshop until Adobe makes a 64-bit version of the program, which they have not yet done.

 

KiloGigaKibiGibiGabbaGabbaHey

After seeing the incorrect usage of this in two of your previous articles/reviews and now in letters #187, I can't take it anymore!

b is not B!

Adrian

Answer:
There's actually no true correct usage for upper- and lower-case "b" as short for "bit" or "byte". I addressed this back in the very first Dan's Data letters column.

Note that IEEE 1541 does indeed recommend B for bytes. But it also tells you to stop calling 1,048,576 bytes a megabyte, or MB, or Mb.

It'd be great if everybody used the kibi-mebi-gibi-tebi prefixes - if nothing else, it'd stop people from being disappointed by how big their hard drives actually turn out to be. But that's not going to happen any time soon - no major operating system even uses those prefixes yet.

In the meantime, people have to educate themselves about the differences, and try to work out what writers mean from context when the writer doesn't define the terms him/herself.

The same goes for bits and bytes, no matter what abbreviation is used.

 

Seeping electrons

I bought some 2300 mAh AA NiMH rechargeables a while back and although they don't get much use, I think they might be cactus.

What sort of shelf-life-per-charge can I expect when not in use? It seems no sooner have I charged them than they are dead the next time I go to use them. How long should they hold a charge?

Time to invest in new ones perhaps. Are no-names as good?

Russell

Answer:
NiMH self-discharge rates vary widely, and I've not been able to detect any strong relationship between brand (or lack thereof) and rate.

I've got some plain-shrink-wrap cells that're pretty good, and some more expensive Sanyos that only seem to need about a fortnight to lose almost all of their charge.

There's now, thankfully, a whole new category of low self-discharge NiMH cells, also known as "ready to use", because they're charged at the factory and will still have almost all of that charge when you buy them. They have lower nominal capacity than cheaper ordinary NiMHs, but they're supposed to retain 70% of their initial charge after TWO YEARS, if stored at 20 degrees C.

The most famous brand of low self-discharge cell is Sanyo's "Eneloop", but there are now plenty of others.

It's hard to find Eneloops for less than about $AU25 for four, which is too rich for my blood. The GP ReCyko+ versions, however ("Gold Peak" are a major Chinese battery company, not some weird fly-by-night brand), are easy to find on eBay and significantly cheaper. I've bought three sets of ReCykos to use in my three photo flashes, and they seem to perform as advertised.

 

Maximum value on Camry speedometer also very misleading

I bought a small SD card reader which is supposed to be USB2. However, whenever I plug it into my machine I get a warning from Windows saying that the device would perform better if it were plugged into a USB2 port.

The confusing part is that it is plugged into a USB2 port. Please see the attached image for the messages that appear when the device is used.

I have also tried the device on multiple Windows XP machines and they all give me the same error. I don't understand why the computers refuse to use USB2 even when using the correct port. Do you think I have a malfunctioning Flash reader?

Tim

Answer:
Maybe it's broken. Or it may really just be a USB 1 device, and it's working as designed.

USB compatibility problems with cheap gadgets like card readers are very common. They're more common with certain computers (like, any Dell), but it's easy to find cheap USB gadgets that don't work right with all sorts of computers.

If no computer sees the reader as a USB 2 device, though, and if it works at USB 1 speed on them (try copying a good-sized file back and forth and see if you get errors or corruption), then it seems pretty definite to me that the fault lies not with the computers or Windows. The reader really is just a USB 1 device.

I've heard allegations that it's possible for WinXP, at least, to screw itself up such that you get this error for every USB 2 device you plug in, the only solution being an OS reinstall. I can't pin down a reliable source for this, though, and it's obviously not the problem you're having, if other USB 2 devices work fine.

Note that the quick and not very expensive fix for a lot of USB annoyances is to add a USB 2 controller card to your computer, and use that for the troublesome devices. Four-port PCI USB cards for desktop PCs are cheap (and safe to buy on eBay); PCMCIA USB cards for laptops aren't greatly more expensive. Factor one in to the price of any Dell laptop you intend to buy.

UPDATE: Tim got back to me. Yes, his "USB 2" card reader really is, for all practical purposes, just a USB 1 device, sold to him by liars.

Well, that's the executive summary, anyway. As another reader pointed out, a genuine USB 1 device shouldn't give the "this device can perform faster" error message, because Windows is smart enough to detect that a USB 1 device definitely cannot perform faster, no matter what kind of USB port you plug it into.

Just this minute I confirmed this for myself, by plugging the battered old Datafab CompactFlash card reader from this 2001 comparison into my current PC. No error.

One reader suggested that devices that have this problem, therefore, are just unable to communicate properly with the computer at high speed, or just unable to send the signal that tells the USB controller to click into high speed mode. Bad connectors, bad cables, bad internal components or even bad circuit board design can all do it. Sometimes you've just got to plug 'em in right; sometimes, as in this case, they never seem to work.

Conceivably, there's some computer somewhere in the world on which all of these devices actually do manage to work in high speed mode. I'm not at all sure that even the people who made Tim's SD reader were able to get it to perform as advertised, though.

A couple of readers have also mentioned the old "Hi-Speed"/"Full Speed" problem. "Hi-Speed" is the 480 megabit per second speed (theoretically, at least - no USB 2 device actually manages to move more than about 240 megabits per second) that people think of when they see "USB 2" on a sticker.

"Full Speed" is the old 12 megabit per second speed that was the most USB 1 could manage. So someone who's trying to rip people off could make a label that says "USB 2 Full Speed!" or something and kinda-sorta be telling the truth. It's perfectly possible to have a device that's fully compliant with the USB 2.0 spec, but which doesn't use Hi-Speed mode. Usually, that's because the device has no need for Hi-Speed, because it's a mouse or a keyboard or a USB "sound card" or something.

This is a technical quibble, though. If you see "USB 2" on the label of a storage device, you should obviously expect it to be able to transfer data faster than a USB 1 device could, just as you should expect a car sold as having a turbocharger to have that turbocharger actually plumbed into the engine.

 

Possibly just full of helium balloons

I am sure you have seen this video clip, but in case you missed it, considering the fact that you are a super genius with a special interest in cameras, I thought I would send it along.

Brian

Answer:
I hadn't seen that clip specifically. It's certainly a great example of the phenomenon!

As some of the brilliant commenters figured out, you'll see effects like this with all sorts of rotating objects when two conditions are satisfied:

1: The rotating object has to be in the same position each time the camera shutter opens (video cameras don't have a mechanical shutter, but the principle is the same). A helicopter with only two blades has only two points in each full rotation of the blades when they appear to be in the same place; a five-bladed chopper like this one has five possible points.

2: The camera shutter speed has to be fast enough that it actually "stops" the motion of the blades, and doesn't just show them as a blur.

Fast shutter speeds used to only be possible with film cameras, but now there are lots of video cameras that can manage it too. Fast shutter speeds are undesirable for a lot of general videography, as the super-sharp look of moving objects can be fatiguing. But sports events are usually shot that way now.

 

Or you could set the trees on fire

My wife just asked me, "Hey, do they make big LED light bulbs?"

My answer, "Of course! They cost around $20-$40 a pop... they come with a standard socket, and are wicked-awesome efficient!"

So she says, "But what about running them off a 9 volt battery?"

The reason behind her question: She runs a massive "Haunted Forest" event featuring various performances around the woods in the middle of the night. Right now, they run massive, noisy generators and quarter-mile extension cords to power a series of big outdoor 100 watt flood bulbs ("Philips PAR38 4/34", to be specific... they come in a variety of colors).

She dreams of no more generators, no more miles and miles of muddy extension cords... if she could just find the perfect battery- powered solution. It would have to stay on easily for 10 hours without concerns of replacement or constantly dealing with dead batteries, and ideally be somewhat freezing rain-proof, too.

What say you, ye-master-of-all-things-light?

Douglas

Answer:
If you need coloured lighting, it should be noted that incandescent, while cheap, is a dreadful solution, and LED may indeed work surprisingly better. Incandescent lamps naturally throw yellow-white light; you make them coloured by putting filters over them that block everything other than the desired colour, and that drops the lamp efficiency to something really awful. Compare and contrast a normal 40-watt bulb and the common 40-watt coloured bulbs to see what I'm talking about.

Coloured LEDs, on the other hand, now have lumens-per-watt efficacy up there with fluorescents - they've improved significantly since the last time I wrote about this stuff. It's not at all unreasonable to expect a coloured LED light to give you ten times the light per watt of a filtered incandescent, if not more.

This makes coloured LED accent lighting considerably less stupid than white LED general purpose lighting.

As a low-cost test, I suggest you grab a few 12-volt LED lamps. They're commonly sold these days for use in cars for brake/indicator/driving light replacement, and you can get blue and green ones as well that're aimed at people who want their car to look like a Christmas tree. You can run all of those from any 12V source, so you can try them out in the garden and see what you think.

Low voltage lighting is also, of course, better suited to amateur operations, since it's harder for people to kill themselves with it, and you can use commodity batteries for installations in odd places without running long cables.

You can also get LED lamps that fit standard "downlight" dichroic lamp fittings, and also run from 12V. They come in lots of different colours, and may have a better beam profile than the automotive ones.

There are also more and more fluorescent lamp options these days, but it's difficult to get a focussed beam out of them, such as is normal for sealed PAR (Parabolic Aluminium Reflector) lamps (LED lamps generally give you a moderately focussed beam).

That said, though, you certainly can considerably reduce the power demands for many small outdoor lighting situations (like, anything smaller than parking lot lighting) by using fluoros. It'll be easy to find Compact Fluorescent Lamps (CFLs) that screw into existing PAR fittings, but they'll need to have some kind of reflector behind them to work at all well, and may need better weatherproofing too. PAR lamps are naturally well-sealed units, but CFLs typically aren't.

One other disadvantage to all of these alternative lighting ideas, including other high efficiency lighting options like metal halide lamps, is that the lamps are quite valuable. Not many people bother stealing PARs, but fancier lamps disappear quite often if inadequately protected. It is of course also a bigger financial deal if some screw-up or other results in a bunch of expensive lamps being wrecked.


But wait - there's more! Click here to go to page 2 of this letters column!

If you want to ask me a question, feel free - but please read this and this first.

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)