Friday, July 24, 2009

Quantum Electronics

Recently, scientists at Yale have created the world's first quantum integrated circuit. For those of you who are uninitiated in quantum mechanics, let me first preface this by saying that quantum mechanics do not, fundamentally, make intuitive sense. I don't understand them, and that's okay, because nobody does. But don't take my word for it:

I think I can safely say that nobody understands quantum mechanics.
-Richard Feynman
Okay, that said, this marks a major milestone in quantum computing. What is quantum computing? Basically, it uses the very singular properties and behaviors of subatomic particles to calculate things in ways that seem utterly nonsensical, yet have fantastic power. Quantum computer bits may assume a bizarre state called a 'q-bit', in which they are both zero and one. Using this, a quantum computer may determine all possible outcomes of an algorithm in a single step!

The chip mentioned in the article is a two-bit chip. The two bits of this chip would allow it to investigate algorithms it could compute within the time of holding a q-bit (on the order of microseconds for this model) of a size less than four (22). For instance, say you had a list of four items. Provided a look-up could be done in less than the maximum time the q-bits can be made to persist on the chip, this could look up all four values simultaneously and return the one you wanted, as opposed to a regular chip, which would have to look at the first one, decide if it was the entry you asked for, then look at the second, and so on. That might not sound terribly impressive, but when you scale it up to chips of, say, 16 bits, then it could compute algorithms with 216 possibilities: 65,536 list lookups (in our example) in a single step. That's a tremendous speed boost.

It also spells out some other, less enjoyable implications in the field of security. Most of the current strong cryptographic systems hinge upon (in one form or another) the factoring problem. It runs something along the lines of: Given a number, determine if the number is prime. You've probably even been required to do this (or something like it) in grade school, and for small numbers, it's easy, as everything is fast for small n. However, the only known algorithm for this is to simply try dividing it by numbers. (You can eliminate some as you go, but not enough to really change the category of the problem.) Thus, arbitrarily large numbers can be chosen such that even a computer working at it's fastest speed has trouble completing the problem in any reasonable timeframe.

If you've noticed that this looks similar in pattern to looking up things in a list, you're catching on. A quantum chip could potentially test all numbers within it's maximum capabilities at once. Before, it was relatively easy to keep ahead of computers: a few extra bits in the factoring problem would add orders of magnitude greater difficulty and time to for brute-force solution techniques. With quantum chips, however, security would be in an arms race against chip manufacturers to increase the size of the key space faster than the capacity of chips could be increased. Alternatively, they could opt to try to make the algorithm longer, so that it couldn't be calculated within the lifetime of the q-bits needed to make the magical all-at-once computation happen. Either way, this could get interesting...

Labels:

Monday, July 20, 2009

This Shirt Is Made of Awesome

Really, I think this speaks for itself. Grab one on shirt.woot.com. (No, I'm not paid to advertise this. It really just is that awesome.)

Wednesday, July 08, 2009

Clouds Versus Islands

With their characteristic lack of fanfare, Google announced today that they would be releasing an operating system based on their browser, Chrome. They've long ago learned that they, like Apple, needn't bother making a big deal out of it because the media will do it for them. Already, most every news outlet and blog has started making echos touting the start of the new era and how Google is ready to challenge Microsoft.

Color me skeptical, but I don't think this is going to be any bigger than the launch of Microsoft's Bing search 'decision' engine: a modest success, but nothing earth-shattering or even really threatening to the incumbent. Why? Quite simply, Google will be stepping outside their core competency, and they very nature of the announced operating system shows it. Google is exceptionally good at re-inventing old ideas in the image of the internet. But the operating system is fundamentally different in one very important way: whereas most of the things Google has tackled in the past tended to be ideas that evolved from the desktop into the internet in a piecemeal fashion, the operating system's role and purpose is to control the computer on which it resides. In unveiling a 'Cloud' desktop, Google is (not so) implicitly stating that they want to turn the computer into nothing but a portal to the internet.

This idea isn't new. It's called the thin client approach, and it's been around for a while. However, while it has some benefits, it suffers from a number of problems in execution, which are more than mere technical obstacles. The first is that it largely ignores the capabilities of what the machine itself can do. Yes, this can work in environments with cheaper hardware, but hardware itself is so cheap that it seems absurd not to go ahead and add the power to it. And if it exists, other operating systems will take advantage of it. The second is response time. Barring some advance that trumps the light-speed barrier, a network will never be faster for small operations than a local processor, because the latency in the network will be far greater (if for no reason other than distance) than the latency on the hardware bus inside the computer. For snappy response time, there's just no substitute for having the machine right there. And as Microsoft has learned the hard way, users value snappy response times above many, many other things.

But even if we were to say that people accept very 'dumb' terminals for price and put up with slower computing, there's the issue of ownership. At the end of the day, the data has to reside somewhere, and if it's not on your computer, then you're at the mercy of the internet for access. The internet was not designed to facilitate centralization, it was designed to be resiliently decentralized. That is, it will make a best effort to get information through, but at the end of the day you and you alone are responsible for making sure important information is available. For access to any kind of critical data, be it business, personal, or governmental, this is unacceptable. If Michael Jackson can stress the internet to the breaking point, what would happen if real trouble started? It's even more of a gamble for countries in which Google doesn't physically operate: not only do you not have your data, but you have no legal recourse to get it back short of basically begging. In other words, in the event of an emergency, an island may be disconnected, but it is still solid ground. The same can't be said for a cloud.

Don't get me wrong. I love Google, and I think they've become a role model for how responsible corporations should operate. I would be very surprised if the new Chrome OS made more than a small dent in the adoption of Windows, especially given how competitive it's become of late. In fact, a Chrome OS may be better poised to unseat Linux distros as the free operating system of choice, as Google will undoubtedly apply a level of fit and finish to the product that most Linux distros (yes, even Ubuntu) haven't the discipline to create. Google may even have a firm grip on the limits of scope, and simply decline to stop the media echo chamber. After all, who wouldn't want free publicity? But I think this is at most a mild jab in a sparring match between titans, not a finishing blow.

Labels: , , ,