Tuesday, 31 May 2011

Forgive me if I get a little technical ...


As a bit of a technophile it's a fairly constant pleasure to see what can be done with consumer electronics these days. Advances apppear particularly dramatic in the field of computing, since most types of progress are exponential. This does have the side effect of making the whole thing seem a little pointless because if you buy your stuff this year then next year's processor will be twice as fast and use less power to boot. And that's not all, not by a long shot.

The expansion slots in your motherboard double in bandwidth every two years, seven months. The connectors feeding your hard drive double in bandwidth every two years, five months. External connections like USB and their ilk are a little more erratic but conservatively they double in bandwidth every two and a half years as well. I haven't done the sums but it'd be smart money to bet that RAM and CPU bandwidth are following a similar trend. If we project these trends to 2020 which, let's face it, is only nine years away, we can expect a colossal 2 Tbps over whatever graphics bus we're using then. Engineers are working to that goal now, you may depend on it. You can also expect a good 10 Gbps over the cable going to your external device, though, as today, whether you acheive the theoretical maximum may be a matter of "never". To put that into perspective, that's the kind of data rate the very latest graphics cards need to push those trillions of numbers around so the pretty lights happen on your screen in CoD.

It all seems rather excessive. And speaking of excess - yes, newer technology does take less power to do the same tasks as the silicon of yesteryear but don't forget that our ability to write code has ever been ahead of our ability to run that code. The best example to come from the game programmers is Crysis. When it was released in 2007 it had the singular distinction of being so catastrophically demanding at full setting that it was totally unplayable even if you had the best there was. My computer is three years younger than it and by any average person's standards it is a desktop supercomputer (the graphics cards can do about 4.1 TFLOPS), but wouldn't you know it I can't turn everything up to maximum either, not if I want to actually kill those Koreans. And as a result of all this, the total power consumption at maximum load is also going up quite a lot. I've just seen a 1.5 kW power supply. That could comfortably supply four PCs like mine at full chat, or in all likelyhood about seven of yours.

I do wonder, though, whether we will actually get to those kinds of speeds in consumer stuff. After decades of development we are reaching the point where the desktop computer can run photorealistic games at playable framerates. The trend is less towards more power from each chip as it is towards more chips. That's why the new AMD Phenom and the Intel i7 each have six processor cores. It's also why for some time now you could plug in two graphics cards, and now three or even four. And there's nothing stopping you from using those cards with two GPUs so in theory you could have eight GPUs in the one computer. If you are clinically insane.

Of course it is easy to imagine things that need ever more code and ever more processing as a result, but the returns are deminishing. In other words, there's not that much difference between "nearly photorealistic" and actually photorealistic, but there's a huge difference in terms of the processing required. If you don't believe me, consider that I can actually run Crysis quite nicely, but it took a 40,000 processor supercomputer some months to stitch together the complex physics and visuals of Avatar.

I guess the real question is whether gamers of the future will demand things like proper fluid dynamics and fully realistic destructible environments. Hardware tesselation is the showpiece of DX11 so perhaps the notoriously computationally intensive simulations like hair, fluids, cloth and refraction will be in the revisions to come. If they are, though, I really do hope we don't end up with something like an extremely furry wookie wearing Jedi clothes and swimming to Otoh Gunga. 'Cos if we do, we'll have gone backwards. Let's not fall into the trap of too eagerly computing things just because we can.

Friday, 6 May 2011

The Biblical basis for ... blogging?

In returning to blogging after a long absence (see the posts in 2008-10 as an example) I have sometimes considered a rather fundamental question: "why bother?" There are many successful blogs out there, no doubt influencing the thoughts of thousands of people each, but do I really believe that mine would reach that kind of influence? And if it did, what'd be the point anyway? Why do people need to know what I think at all?

Answering a question about a specific case is often difficult unless you have some concept of the bigger picture. A simple way of getting to the big picture is to generalise your own question first, then see if it becomes easier to answer. So if I ask, why do people need to know what I think at all? I can generalise by saying, why do people need to know what anyone thinks or has ever thought? In other words, what is the basis for pedagogy? In today's news there are few articles about the subject of education that don't implicitly or explicitly assume that education is important. I don't think anyone really stops to think of why this is, and why not? Is it so obvious that it doesn't require answering? In some ways it is - it is fairly clear that education has been a large influence in the advancement of Western society to the technological state we experience today. But then once you assert that it's good for building civilisation you have to ask, what is the basis for the desirability of civilisation?

As a Christian I try to take my guidance from what the Bible says about such things. It has plenty of words advising parents to teach their children God's Law, and about the history of God's people. Those things are important but they don't obviously illustrate the basis for general teaching of accumulated knowledge that is not directly about God, by which I mean all we have learned through science, logic, mathematics, philosophy and history. To find the basis for trying to understand nature and ourselves we need look no further than Genesis 1 where God said to the freshly minted mankind: "Fill the Earth and subdue it, and have dominion." To prepare us for the special duty of having dominion over the Earth and being faithful stewards of it, he provided us with curiosity about Himself. This curiosity spills over into curiosity about nature so that we ask the following two questions: how can we be better stewards of the people and land over which God has given us authority? what can we learn about God's nature from His creation?

Taken together, those questions ensure pedagogy, because as much as we have learned about how to do the first and what we have found out through the second, we have to teach our children and fellows so that whatever we have found that improves our ability to live in creation continues to influence future generations without them having to rediscover it, and whatever we have marvelled at in creation, if we pass on that knowledge our descendants can improve and expand on it.

To think that we have achieved all we see only in the last hundred years is a mistake. The 20th century was preceded by the 19th, and they weren't exactly living in caves. We think we are so advanced and enlightened, and we are, but we stand on the shoulders of thousands of generations of enquirers who, through their persistance, and by passing their knowledge on, have blessed every generation that has come after them. The cumulative effect of all this skill is the modern information age in which we live, and we are charged to be equally diligent in asking those two fundamental questions so that future generations can be blessed by us.

So that's the long answer as to why I should blog: I think of things other people might not, and if I don't pass them on, then what is the good of me ever having thought of them at all?