Saturday, May 19, 2018

Computer Chips 101

This post could more accurately be described as "The secrets of Integrated Circuits".  "Integrated Circuit", or IC, is the technical term for what people commonly call a computer chip.  They are the heart of every desktop, laptop, and smartphone.  These devices and many more use all kinds of ICs.  The processor units that computers and smartphones are built around are the most complicated and powerful ICs in existence.  Other ICs can be far less complicated and far less powerful.  Then there are whole classes of special purpose ICs.  But they are all manufactured the same way and all share several important characteristics.  I am going to completely ignore the differences and focus on the commonalities.  In fact, I am going to almost exclusively focus on how they are made.

Don't worry.  I am just going to focus on some key ideas.  It won't require you to have any technical expertise to follow along.  But you will end up with a good overview.  This will enable some surprising insights.  Here's the first one.  The markets for gadgets is supposed to work a certain way.  Take cars, for instance.  If you buy a fancier car it costs more.  And car prices typically increase over time.  I could easily name a hundred other things where the market works the same way.  Fancier is more expensive.  And prices tend to rise over time.  But ICs are different.  Fancier doesn't necessarily mean more expensive.  This is especially true over time.  And over time prices tend to drop for ICs, not rise.  Why is this?

I have been thinking about how to explain this for a long time.  And a long time ago I settled on using picture postcards as the foundation for my explanation.  But between the time I settled on this and now things have changed.  Picture postcards were a part of everyone's shared experience.  I didn't have to explain them.  But the purpose they served for a long time, inexpensively memorializing a place and the fact that you or a friend had visited it, has been replaced by the selfie.  So now I have to worry that when I say "picture postcard" some people will say "what?".

And it's worse.  There is the business of the "picture" part.  In the context of a picture postcard "picture" means a photograph.  But the way people now take pictures has been revolutionized.  Now a digital camera is used, often one that is built into a smartphone.  Understanding how a smartphone takes a picture does not make it easier to understand how an IC is manufactured.  You have to go back to how things worked before digital technology took over the picture-making business.

But with the ubiquity of digital picture-making technology it is also not a given that people understand how things worked previous to this.  So I now feel obligated to throw in an explanation of what a picture postcard is and also an explanation of how photography worked in the time before the digital age.  Fortunately, lots of old movies and TV shows showcase both, so the concepts shouldn't be completely foreign.  Photographs, the non-digital kind, first.

A photograph is in effect a mechanically created painting.  Like a painting there is a supporting medium, something like the canvas painters often use.  In the case of a photograph it is often paper.  But other options like a sheet of clear plastic are available.  And like a painting there is a picture on one side.  In the case of a painting this picture is created by the hand of the artist using, for instance, oil paints.  And the artist frequently introduces various distortions or creates something that never existed in the real world.

With most photographs the idea is to exactly reproduce an image from the real world and to do it without the necessity of someone painting it.  Instead, some very special chemistry and a device called a camera is used.  We seem to have gotten rather far afield at this point.  But from here on out we will head toward not away from our objective.

For our purposes a camera is a simple device.  It has a hollow space inside it and at the back of the hollow space is a film, another word for what will eventually become a picture.  It has a supporting medium, most often paper or clear plastic.  On this supporting medium is spread a thin layer of goo.  A lot of very sophisticated chemistry gives this goo a magical property.  It is photo-sensitive.  If you shine lights on parts of it those parts will have changed chemical properties.  That's the secret that makes it all work.  Special procedures must be used to make sure this special goo is not exposed to light until the proper moment.  The design of the camera assists this.

For our purposes the rest of the camera is quite simple.  It consists of two things.  There is a lens.  The job of the lens is to focus an image from the real world onto the goo on the film.  The image consists of lighter and darker parts.  This pattern of lighter and darker parts is reproduced in the pattern of changed versus unchanged areas of the goo.  The other thing is the shutter.  This is a device that permits light to travel through the lens for only a short period of time.  So you point the camera at a scene you are interested in and trip the shutter. Eventually the scene in question will be reproduced in the picture.

Later the film is removed from the camera and processed.  I am going to skip the details but the result is that the image is "developed" (the part exposed to light change color) and "fixed" (the photograph is no longer changed by subsequent exposure to light).  These subsequent steps are collectively called "finishing" the photograph.  This results in a "negative", a picture where the light parts of the original image are darkened and the dark parts are lightened.  If you "print" the negative (essentially take and finish a photograph of the photograph) you end up with a "positive" a picture of the original image where the parts that were originally dark are dark in the photograph and the parts that were originally light are light in the photograph.

And the process I described above yields a "black and white" photograph.  By what amounts to taking three photographs simultaneously (one for the red parts of the image, a second for the green, and a third for the blue) we can use the same basic process to make color photographs.  "Introduction to photography" is now complete.  What's the point?

Let's say you are on the business of making "picture postcards".  These are cards with a picture on one side, typically of something notable like the Eifel Tower, and a place to put postage, a mailing address, and a short message on the other.  You can buy one, fill out the back side and "snail mail" it to someone.

That used to be the best way to say "I've been to see the Eifel Tower".  Now you can take a Selfie.  With you in the foreground and the Eifel Tower in the background it is much better proof that you were there.  And you can email it or post it on social media immediately.  The level of artistry displayed by the picture postcard is higher.  But the immediacy and convenience of selfies are quickly wiping out the picture postcard business.  But let's ignore all that and go back to picture postcards.

Let's say we want to manufacture a bunch of picture postcards to serve the New York City tourist trade.  (Hang in with me here.  We are about to get to the point of all this.)  We want to give our tourist customers options so we will make postcards featuring pictures of a number of different scenes.  One picture might have of the iconic "LOVE" sculpture.  (It the piece that consists of an "L" and an "O" on top of a "V" and an "E".  The "O" is tilted at an angle.)  The image would be quite simple.  Much of the picture would consist of a neutral background.  Then there would be four blobs, one for each letter.  There would not be a lot of complexity to this picture.

We might decide to use a picture of Broadway during the peak of the afternoon rush as a second option.  This picture would have taxis, other cars of various makes and models, bicyclists, pedestrians, lots of fine detail.  The image here would be a quite complex compared to the one in the "LOVE" picture.  That's all the options I need to complete my explanation so I'll leave it at that.

My point is that it turns out it would cost exactly the same to produce a picture postcard using either of these picture or any other picture we might choose.  We would go through exactly the same process for each option.  We would  start with a piece of paper that had all the stuff we needed on the back.  We would then photograph and finish the appropriate negative to create the picture on the front.  The capital, labor, materials costs, etc. would exactly the same regardless of which picture we chose to put on the front of the postcard.  The only possible place where costs might differ is with the costs associated with procuring the rights to the negatives we want to use.

The secret to why Integrated Circuits keep getting faster, better, and more complex, but the cost stays the same or goes down is that the process of making a simple Integrated Circuit and a complex one is the same.  One might cost more to design than the other but, all things being equal, they are going to cost the same to actually make.  But before diving any further into how ICs are made let's look at why they appeared when they did.

There are certain preconditions that had to be in place before ICs could be invented.  ICs are a type of "solid state device".  The laws governing the operation of solid state devices are called Quantum Mechanics.  So you need to invent Quantum Mechanics in order to be able to invent ICs.  Quantum Mechanics was invented in the nineteen-twenties and -thirties.  Additional refinements had to be added to Quantum Mechanics to be able to figure out how to manufacture transistors and later ICs.  It didn't take long to come up with these refinements.  The first practical transistor was made in 1947 and the first IC followed less than two decades later.

Besides Quantum Mechanics it was also necessary to know how to make super-pure materials.  Twenty-four carat Gold can have impurities representing 1 part in 24 (about 4%).  For most people that's pretty pure.  But there is an even more pure version of Gold called "one thousand fine".  It can only have impurities representing 1 part in a thousand (0.1%).  When it comes to purity, that's about as far as most people's imagination takes them.  But it is far from pure enough to make transistors or ICs.  The least pure materials you can use can only have impurities representing 1 part in a billion.  That's a million times as pure as "thousand fine" Gold.  And for may applications that's not pure enough.  The purity must be taken up another thousand or million fold.  So how do you purify something to that extent?

There's a trick.  Melt the material but keep it just barely hot enough to stay liquid.  Then slowly dip a rod of the same material into the liquid so it is barely touching the surface.  Finally very slowly withdraw the rod.  If you are careful enough very pure material will solidify on the end of the rod causing it to grow.  And the material that grows on the end of the rod will be much purer than either the material in the un-melted part of the rod or in the original pool of liquid.

So you repeat this process.  You draw rods using your originally pretty pure pool of material.  Then you melt the fresh parts of those rods together into a new pool.  The material in this new pool will have far fewer impurities.  If you then draw new rods the fresh part of these rods will be even purer.  If you repeat the process carefully enough and enough times you can create super-pure samples of the material.  And there's a kind of a shortcut you can start using once you have drawn the first set of rods.

You build a special furnace that tightly surrounds a rod.  For most of its length it keeps the rod just below its melting temperature.  But the furnace has a hot spot where it heats the rod to just above its melting point.  If you draw a rod slowly thorough this special furnace you can slowly move a melted area from one end of the rod to the other.  The material melts and re-solidifies as the rod goes through the furnace and past the hot spot.  This concentrates the impurities in the melted part resulting in an increase in purity for most of the length of the rod.

Of course, you eventually end up with a piece on the end of the rod where the impurities are now concentrated.  You just cut that part off and throw it away.  By repeatedly applying this "melt then re-solidify" process you can make rods of extremely pure material.  Companies that specialize in this process have gotten quite good at producing super-pure materials at a surprisingly low price.

Making transistors and ICs depends on an attribute of some materials called semiconduction.  Elements like Copper that are "conductors" of electricity.  Electrons flow freely through them.  Elements like Sulphur are "insulators".  It is nearly impossible for electrons to move around in them.  And an electric current is just electrons flowing.

There are a few special elements called semiconductors that in some circumstances behave like conductors.  But in other circumstances they behave like insulators.  It is possible to manipulate these circumstances on the fly.  This means that at one time one pattern of conductor here and insulator there can be set up.  But a short time later a different pattern of conductor here and insulator there can be set up.  This capability lets ICs do magical things.  With modern ICs circumstances can be changed more than a billion times per second.

The key to this ability to manipulate circumstances is to start with a super-pure semiconductor.  Then a process called "doping" is used to introduce tiny amounts of specific impurities into very small selected areas of the surface of the IC.  Quantum Mechanics tells us that if we have the correct configuration of pure semiconductor and doped semiconductor we can create various kinds of electronic components.  These components can be wired together to perform arithmetic and all the other things a computer (and many other electronic devices) need to be able to do.  An IC is just a whole lot of these components wired together to fly in close formation.

The two most common semiconductors are Silicon and Germanium.  Germanium is relatively expensive and hard to work with.  Silicon, on the other hand, is cheap and much easier to work with.  It is the eighth most common element and is the primary component of beach sand.  Most ICs are Silicon based for cost and convenience reasons.  But Germanium or mixtures of Silicon and Germanium are used in some specialty situations.  And research leading to ICs made from other materials is an active area of investigation.

Okay, so how are ICs made?  The process starts with a rod of super-pure semiconducting material.  It is sliced into very thin "wafers".  Each wafer is processed individually to make many identical ICs at the same time.  Eventually each wafer will be sliced up into many individual ICs.  It is the middle "processing" part that is the interesting part so that's the part I am going to focus on.  And the processing part is an elaboration of the process I outlined above for making pictures.

In the case of the IC the part of the paper or clear plastic is played by our wafer of super-pure semiconducting material.  With a black and white picture we go through a single processing cycle.  We may go through three cycles to make a color picture.  Typically an IC will require many more cycles, sometimes dozens.  But each cycle is just an elaborate version of the processing cycle used for pictures.

At the start of each cycle we first spread some special goo on our wafer.  Then using a bright light, a "mask" (this is what provides the image), and a lens, we project an image onto the goo.  Then we go through a "finish" step.  With photography the finish step is always pretty much the same.  With a color picture we may need to go through a "red" cycle, a "green" cycle, and a "blue" cycle.  But all three cycles are pretty similar.  In the case of ICs things are a bit more varied.  Many more cycles may be necessary and the processing that takes place within a specific cycle varies much more widely than it does with our "red", "green", and "blue" cycles.  But it's the same idea.

The simplest IC process involves doping.  This consists of introducing small amounts of very specific impurities into the semiconductor.  These impurities come in two general classes, P-type impurities and N-type impurities.  The differences are not important to this discussion.  But if the correct pattern of P-type impurities, N-type impurities, and unmodified semiconductor is created in the top layer of our wafer then they work together to create a "gate" or other IC component.  In another process lines of material, most commonly silver or aluminum, are laid down to connect one component to another like a wire would.  In still another process trenches are "etched" into the silicon to separate one component from another.  There are a few more types of cycle but you get the idea.

Repeating myself, the details of each type of cycle are different but the general idea is the same.  A layer of goo, the specifics of which depends on the effect desired, is laid down uniformly over the surface of the wafer.  Then an image of a "mask" is photographed on top of it.  This changes the chemical properties of the parts of the goo that have been exposed to light.  Then another layer of goo is laid down.

This second layer of goo interacts with the first layer of goo .  It may either interact with the parts of the first layer that have been exposed to light or the parts that have not.  The interaction between the two types of goo may result in areas being "doped" with an impurity.  It may result in a line that acts like a wire being laid down.  It may result in a trench being etched in the material.  Whatever changes are necessary to create the IC are made processing cycle by processing cycle.

Typically a cycle finishes with a process that cleans away any unwanted remaining material.  This sets the surface of the wafer up for the next cycle.  Cycle follows cycle until all the layers of patterns necessary for the device to function have been put down on top of the supporting medium.  At this point each device is complete but it is still necessary to cut up the wafer to separate each IC from all the others.

It requires a high degree of knowledge and skill to design the "component layout" on the IC.  It requires a high degree of knowledge and skill to figure out what manufacturing steps (the processing cycles) are necessary.  Then machinery of extremely high precision must be designed, built, and operated to actually produce the ICs.  But I will leave those details aside and move on.  Except that I note that a "fab", a factory for manufacturing ICs, typically costs more than a billion dollars to build.

So the process is essentially the same for all ICs.  ICs with a lot of components require extreme precision machinery to manufacture.  But once the manufacturing process has been set up this has no effect on the "unit cost", the cost to make another identical IC.  And a tiny amount of material goes into each IC.  So material costs contribute little to the cost of the IC.  One factor that does effect unit cost is how many processing cycles are necessary to create the proper components with the proper connections on the IC.  But all ICs that require the same number of processing cycles cost essentially the same.

And the system is set up to make millions of identical ICs.  If you make a million ICs in a billion dollar fab then the fab cost-per-IC runs to $1,000.  That means each IC must be priced at more than $1,000 and that's expensive.  But if you turn out a hundred million ICs, a figure commonly reached over the five year prime lifetime of a fab, then the fab cost-per-IC is $10.  The rest of the process is relatively inexpensive so the fab can make a nice profit turning out chips with a wholesale price of $25 each.

And a fab is not worn out after five years.  Its just no longer a cutting edge facility.  But lots of ICs do not need to be made in a cutting edge fab.  So if the fab that is no longer cutting edge is shifted over to turning out these "commodity" ICs, and it frequently is, then it may now be possible to use that fab to profitably produce ICs that can be sold for far less, perhaps less than a dollar each.

The fact that ICs are made using photographic processes is the big secret to why the IC market behaves so differently than the market for most products.  That's the biggest of the IC secrets.  But there are other, lesser secrets so let's get into some of them.  Another secret has to do with component size.  As the industry has matured it has figured out how to make each component part of an IC, often referred to as a "gate", smaller.  This seems like a good idea in general.  But it turns out to have valuable benefits that are not immediately apparent.

Let's say we want to make an IC with a million components in it.  Then if each component is relatively large the resulting IC will be relatively large.  But there are practical limits on how large you want to make an individual IC.  Turn the relationship around.  If we are making an IC of a certain size then the component size tells us how many components it can have.  Remember, it doesn't much matter how complex the design is.  It still costs about the same amount of money to make it.  So as we reduce component size we can increase the component count and keep the IC size constant.  Components are now so small that some ICs that have tens of billions of components in them.

To recapitulate, fabs use rods of semiconductor, usually Silicon, as their starting ingredient.  These are sliced into thin wafers.  If we can use very small components then we can manufacture a small IC.  And we don't make a single IC from a single wafer.  Instead we divide the surface of the wafer into small rectangular areas and create an identical IC in each rectangle.  The entire wafer is simultaneously subjected to each processing cycle.  So one set of cycles produces many ICs at the same time.  As we make each IC smaller we can fit more of them on a single wafer.  So we can now make more ICs for the same amount of money.  This reduces the cost-per-IC.

In the race to continuously speed ICs up the speed of light is a limitation.  It limits how fast signals can propagate across an IC.  It is a fixed number.  If we make the components smaller then we can put them closer together.  This means the finished IC goes faster because propagation delays, the time it takes for a signal to get from one place to another, are smaller because the components are closer together.  This means we can make an IC faster without changing its design.  All we have to do is make the components (and the final IC) smaller.  For a long time this was one of the big secrets that explained how the industry could keep making their ICs go faster and faster.  They didn't do anything clever.  They just kept shrinking the component size and that reduced propagation delays.

In the early days making components smaller was relatively easy.  You just had to be more and more careful.  But it didn't take long for some interesting problems to start cropping up.  It turns out that you can't focus light infinitely sharply.  There is an inherent limitation based on the wavelength of the light you are using.  At first ICs were manufactured using regular white light.  White light was used because it was the easiest kind of light to come by.  And it worked fine until the components shrank to a certain size.  White light is composed of lots of wavelengths.  That blurred things.  When components were relatively large this blurriness could be ignored.  But at some point components shrank enough that the blurriness started to get in the way.

The obvious fix was to use a light consisting of a single color.  It was easiest to do this with red light.  And that worked for a while.  Red light was sharper than white light so it was an improvement.  But red light has a relatively long wavelength so red light became a no-go when components shrank some more.  Blue light has a shorter wavelength than red so blue lights were used until further shrinkage caused blue to also become a no-go.  Ultraviolet light has a still shorter wavelength so ultraviolet lights were switched in.  And they too worked fine for a while.

But that is pretty much the limit.  The obvious next step would be to go to X-rays.  They have still shorter wavelengths.  But masks by their very nature are full of extremely small details.  After all, they determine the exact shape and location of each part of each component.  Making a mask that has the requisite small detail and stops X-rays has so far proved to be impossible.  So ultraviolet is as good as it gets unless someone comes up with a true breakthrough.  So component sizes can't shrink to the point where they are too small to be manufactured using ultraviolet light.

And it turns out there is another, really strange problem that crops up as you make components unbelievably small.  That is Quantum Mechanics.  It turns out Quantum Mechanics giveth and Quantum Mechanics taketh away.  Quantum Mechanical makes it possible to design and create ICs in the first place.  But new Quantum Mechanical effects come into play when you make components unbelievably small.  Mostly we don't care how many atoms something contains.  That's because even something extremely small still has a fantastically large number of atoms in it.  If lots of atoms are involved then "bulk" Quantum Mechanical effects determine behavior.

But components have now gotten so small they may contain only about 10,000 atoms.  That is where "small scale" Quantum Mechanical effects come into play.  The fewer the number of atoms the greater the small scale effects.  One of these effects is called "tunneling".  If we have a thick insulating barrier the electrons stay on one side.  But if the insulating barrier is thin enough a certain percentage of the electrons "tunnel" through the barrier and end up someplace we don't want them to be.

How thin is thin?  Typically if we have a 10,000 atom component partly surrounded by an insulator only a few electrons will tunnel through the insulator.  But as the atom count drops the percentage of electrons that succeed in tunneling through rapidly goes up.  Components are designed so that they can tolerate a small amount of electricity straying into places where it isn't supposed to be.  But at some point the component stops working properly if the amount of stray electricity gets too high.  No one has been able to figure out how to design components that work properly when they are so small that that tunneling and other small scale effects have to be taken into account.  The solution so far has been "don't go there".  In other words, don't shrink component size to the point where small scale Quantum effects come into play.

These effects are well understood but neither designers nor manufacturers have figured out how to get around them.  The result is that the march toward smaller and smaller components has been drastically slowed.  And this means that the march toward faster and faster components has also been drastically slowed.  Moore's Law predicted that processor speeds would double about every two years.  And for decades they did.  But processor speeds are now little changed from what they were ten years ago.  The dual problems of shrinking components below their current sizes and the design problems caused by small scale Quantum Mechanical effects have combined to bring improvements to a nearly complete halt.

There has been some progress.  But mostly what has happened is that your economy model whatever now has about the same performance as the high end model of five or ten years ago.  This has resulted in PC sales being flat to down.  Why replace an old PC if a new one doesn't go any faster or do anything the older model can't?  For a while laptops and tablets were showing robust sales numbers.  Not so much now.  Again the performance difference between new models and those of a few years ago keeps shrinking.

And the smartphone is now ten years old.  In the early years the new models were much better than similar models from only two or three years previous.  But even the rate of improvements in smartphones has now slowed dramatically.  Manufacturers "maxed out" the performance of PCs first.  Then came tablets and laptops.  Now the same thing is hitting smartphones.

All these devices use ICs.  Power and space requirements were the loosest for PCs so manufacturers found them the easiest to max out.  Specifications are a little tighter for tablets and laptops so manufacturers of ICs for these devices took a little longer to max them out.  Specifications for smartphones are the tightest of all so ICs for these devices got the treatment last.  But they have now gotten the treatment.  The result is a new smartphone that is not much better than the smartphone of a couple of years ago.  Far too many people are now happy with a phone that is one or two generations old.  This is a growing concern among smartphone makers.

What is driving all this is are fundamental laws that can't be easily gotten around.  These limitations that are now inhibiting rapid improvement.  So what's the new,. new, thing?  People have been talking about a couple of things.  Current electronic devices are built out of ICs.  And ICs work by pushing electrons around.  How about replacing electrons with light?  It's the fastest thing in the universe and about three times as fast as electrons moving through wires.

Devices that use light instead of electrons are called "photonic" devices.  There has been a lot of work done in this area.  But no one has been able to figure out how to make a photonic device with more than a few components.  (Remember, processor ICs now have tens of billions of components.)  And light travels in a straight line while electrons are happy follow a bendy wire.  This and other problems have led to photonics being restricted to a very few highly specialized areas.  There seems little chance that will change any time soon.

The other area receiving a lot of attention is Quantum Computing.  Standard computers behave in a "sequential" manner.  They do this then they do that then they do the next thing.  Things proceed a step at a time in sequence.  There are limited exceptions to this.  There are such things as "parallel" computers.  And super-computers are "massively parallel".  But that is somewhat of a cheat.

Parallel computers consist of a few (normal computer) or a whole lot (super-computer) of regular sequential computers all hooked tightly together.  If all these sub-computers are contributing usefully to the solution of the main problem then then these parallel computers will solve that problem way faster than a standard sequential computer could.  This would make everybody happy.  The problem is to get all those sub-computers to contribute productively.  This is called the "partitioning" problem.

If a problem can be partitioned into a number of parts and each part can be assigned to its own sub-computer that can just focus exclusively on that one part while ignoring everything else then a parallel computer can get to the solution much faster than a sequential computer.  Well, there is another thing.  It can't take a long time to do the partitioning on the front or the assembly on the back.  Otherwise, the benefit of doing the middle part quickly will be lost to the cost of doing the front and/or back slowly.

In short, it turns out that partitioning problems is often hard.  In fact, there are lots of problems where no one has figured out how to partition them.  There are only a few super-computers in the world.  There are enough problems that have successfully been partitioned to keep them all busy.  But first let's take a look at a couple of problems that are suited to PCs and other computers that are capable of a relatively modest amount of parallelism.

One PC sized problem that is easy to partition is "rendering" all the stuff we throw up onto our computer screens.  Gaming PCs have a dedicated high end video card.  These cards can do a lot of partitioning and do it very well.  That is a good thing because these cards also feature multiple "graphics processors" that can and do work in parallel.  Gamers prize the improved video experience and are willing to pay for it.  A more limited version of this capability has already started moving down the food chain.

The video IC that came built in to the inexpensive PC I bought a couple of years ago is every bit as capable as were high end video cards from several years ago.  It has a significant amount of parallel processing capability.  And similar ICs are showing up in tablets and laptops.  If they are not already there I'm sure they will soon be found in smartphones.

At the other end of the process, many web pages have multiple components and sub-areas.  It is relatively easy for a good browser to partition all this out and assign each part to a separate sub-processor on a PC.  My main PC has 8 sub-processors.  Most modern PCs, even the inexpensive ones like my newer one, now have at least two.  This allows web pages to load faster.  Unfortunately, a good deal of what loads faster is advertising.  Oh well.

Unfortunately, few other PC tasks partition well.  The same is true for applications that run on laptops, tablets, and smartphones.  A few applications partition well but most don't.  That's why the industry has stopped talking about how many processes a machine can run at the same time.  A higher number generally doesn't result in an improved user experience.  Turning to super-computers.

Weather forecasting turns out to partition well.  That's why so many super-computers are used for weather forecasting.  Meteorologists have figured out how to partition a weather forecast into pretty much as many parts as they want.  If a super-computer with 10,000 sub-processors is available then the forecast is partitioned into 10,000 parts.  When super-computers with 100,000 sub-processors become available they will just partition a forecast into 100,000 parts.

Computer Scientists are getting better at figuring out how to efficiently partition more and more types of problems.  But it is slow going.  There are many more types of problems where they haven't figured out how to partition than there are problems for which they have.  Alas, a problem that does not partition well will run no faster on a super-computer than it will on a regular computer.

100,000 is a large number.  But there are problems that can be partitioned into millions, billions, or even vastly more parts.  Cracking encryption schemes is one of them.  If you can check billions or trillions of keys at once than you can find the key to a particular encryption that would take a super-computer with 10,000 sub-processors an impractically long time to crack.

Quantum Mechanics provides a possible way to solve some problems that would otherwise not be soluble in a reasonable amount of time.  Stories in the press about this sort of thing mix two quite different methods together.  One approach is good for problems where massive partitioning is helpful.  The other approach  depends on Quantum Mechanics but is not appropriate for massively parallel problems.   I will take them separately.

What if it was possible to arrange things so that billions and billions of molecules are all working at the same time to try all the combinations of say potential cryptographic keys?  There are more than a billion molecules in a single drop of water.  So a beaker full of a magic elixir could easily give you a billion times a billion cracks at finding the correct solution.  And the idea is to have all those molecules each try a unique solution at the same time.

Various people have suggested it is possible to mix up special chemicals, say customized DNA, and get them to do just that.  Each molecule would be different so it would test a different possible solution.  Then let's say it is possible to set things up so that the molecule that finds the correct solution fluoresces but all the other molecules don't.  It would then be possible to pick just the "correct" molecule out of the soup, examine it, and from there go straight to the correct solution.  Instead of taking forever it might take perhaps an hour or so to set everything up and get the answer.  That's the idea but no one has come close to making it actually work.

The other and quite different approach depends on Quantum Mechanical phenomena called "superposition" and "entanglement".  It is not appropriate for massively parallel problems.  But it is appropriate for a class of problems that regular computers find hard to solve.  Regular computers are carefully designed so that a particular bit is always either a zero (off) or a one (on).  There are no other possibilities as computer design depends on this.

But superposition and entanglement create situations where something called a Qubit is not either zero or one.  It is in some intermediate indeterminate state.  People have figured out how to use this very indeterminacy to solve certain problems that would otherwise be very hard to solve.  This has the potential of allowing "Quantum" computers to solve problems susceptible to this approach much faster than regular computers operating sequentially.

The theory works just fine.  But the most capable Quantum computer that has been actually built so far can only perform calculations involving a few Qubits.  At this point a simulation of such a small a Quantum computer running on a regular sequential computer would probably get the answer faster than the actual Quantum computer would.  If people can figure out how to build Quantum computers that can calculate using hundreds of Qubits then they would have something.

Lacking some kind of surprise breakthrough I don't expect optical computers or Quantum computers (or chemical solutions) to go anywhere in the near future.  There is nothing on the horizon at this point.  But that's the nature of surprise breakthroughs.  They can arrive out of the blue at any time.  Certainly if a surprise breakthrough materialized I would be forced to change my mind.  I think that's unlikely.  And the same thinking also applies to the prospects of seeing a substantial increase in the speed of standard computers any time soon.  In all likelihood it's not going to happen.

So the likeliest eventuality is boring times ahead in this area.  I see exciting times ahead elsewhere, specifically in biology and medicine.  But that's for another day.  In the mean time you can bore all your friends by wowing them with your deep understanding of computer chips starting with "they are actually called Integrated Circuits".  (At least, that's my fantasy, and we all need fantasies.)  And you can throw shade my way if my pessimistic predictions turn out wrong.  That, at least, is something to look forward to.


No comments:

Post a Comment