The End of Moore's Law?
Lucius Lucanius writes "A recurrent theme of late, the NY Times describes an Intel researcher's paper on the possible end of Moore's law. Soon, 'transistors will be
composed of fewer than 100 atoms,
and statistical variations in this
Lilliputian world are beyond the ability of semiconductor engineers to
control.' Is it for real this time?
"
I'm partially skeptical about quantum computing. Granted, I haven't read a whole lot about the subject, but what I have read indicates that hardware and software are one and the same. The machine is designed for one specific problem, and cannot be reprogrammed short of being disassembled and built into a new machine. If anyone knows of evidence to the contrary, I'd appreciate a link.
I'm not particularly concerned about hitting a theoretical limit to hardware power. At the moment, I'm typing on a system that has unimaginable 20 years ago.
Yet it crashes often enough to be noticeable.
It runs so slowly (a "mere" Pentium 400) that I can actually see my windows redraw.
Booting takes 5 minutes (NT 4.0)
Shutting down takes several minutes, too.
Maybe hitting a limit to processor power will encourage programmers to reintroduce the concept of "knowing how to write good code." Lord knows processor speed and cheap memory have made it possible for even the best programmers to stop thinking about code quality.
- Stever
that the number of times the End of Moore's Law is predicted doubles every sixteen months?
Actually, didn't the move to RISC actually result in LESS transistors?
This is a common misconception. The old RISC chips did have smaller die sizes than the CISC chips of the time. However, given the increase in the number of transistors commonly available on a chip, this shrinkage was not considered much of a win: the attitude was that it would be better to spend those transistors on better performance rather than shaving them off the chip.
The techiniques that were subsequently used to extract the last bit of performance from machines (superscalar and speculative execution, deep pipelines, etc.) resulted in rapid blowup in die sizes, so that a modern "RISC" chip such as the latest Alpha is not that much smaller than a modern "CISC" chip such as the Pentium 3.
> Think to yourself, what is the biggest, most power-consuming thing a computer could ever do. Ever.
Equal the human brain.
> It will stop there
No. WE will stop there. They won't.
I've finally had it: until slashdot gets article moderation, I am not coming back.
I've found the "cyperpunks<n>"/"cyperpunks<n>" trick to work pretty well. For NYT the least magic number is five (that's "least" as in lowest, not "least-magical"). So: cypherpunks5/cypherpunks5.
Hit-and-miss tactics will often find similar magic numbers at other sites.
....I'd log in but I've forgotten who I am.
What part of "Gestalt" don't you understand?
Okay, I'm not an expert but my understanding is that this HAS already happened, and been going on for some time. Since the original pentium intel processors at least have contains multiple cores of sorts which are then used for HEAVY pipelining. The pentium is in some sense two 486 cores welded together and madly piplined. Likewise, the PPro has four cores for piplining. This is why at equal mhz a pentium is about twice the speed of a 486 and a ppro/pII is twice again as fast as a pentium. So my Celeron-433 is roughly 4 times faster than my 200mhz pentium (twice for clock rate, twice again for chip architecture). That's my understanding of it, anyway.
One of the things that bothers me about these debates it that we have gotten ourselves into a trap of requiring more an more CPU power to support the latest widget that someone has thought up. Running into this "wall" may force the computer industry to start making more efficient uses of the resources available to them. NOONE spends time on doing things SMARTER instead of brute forcing things. So long as it works ship it.
Just my $0.02cdn
I have a little net worm program I wrote that is essentially a virtual machine that tracks other virtual machines and passes little programs back and forth. Since dist.net came out I've been meaning to turn it into something better but never have got around to it. I'm afraid it is probably illegal to send something like that into the wild anyway even if all it does is fill spare processes. *sighs*
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Since I don't care to kill my karma.. AC me!
Lets look at this as two vectors. Speed really has no direction, so its not quite a vector, but we'll say its clocks per second, rather than meters or miles. If we take two cars, we have 60 mph twice. Vector A + Vector B, we'd simply get 60 + 60 because the angle betweenthem is zero (right? I really should catch up a bit on vectors). You may not have go at 120mph independantly, but you covered a combined distance in the same time, making it seem like you did (as the CPUs would not be doing the same exact task).
Now you just need to add in real world situations, because even in physics you over simplify and have to learn real world methods. The performance from the second cpu on an x86 system is 50%, plus any cache misses, bus bottlenecks, whether the code can be split between them, etc. So its not exact, but the number of mhz isn't a way to benchmark a system.
The real question is: what is the driving force behind Moore's Law. If the reason for the heretofore seen doubling time is something intrinisic in the process by which the chips are made, then the time of Moore's Law may indeed be drawing to a close. There is no real controversy about the fact that there is a hard bottom to lithography -- it can't continue to quantum dimentions. However, it seems somewhat unlikely that there is a doubling time implicit in a process of manufacture. More likely, the reason that there is a reliable pattern to processor devellopment is that there is such a large industry behind it. Once you have a sufficient number of people working independantly, statistical forces insure that each new breakthrough will inevitably be made with an approximately constant rate.
There is no end. It doesn't only apply to processors but all technology. The time can vary some and there are sometimes dead periods but knowledge tends to grow exponetially and with that knowledge comes faster, smaller, better gadgets.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Quantum computers are something that we think we might be able to build. Don't get your hopes up too soon, as we currently have no idea how to scale beyond tiny tests.
Just because we can arrange atoms individually with a scanning tunneling microscope doesn't mean we can arrange billions of them and sell them at a reasonable cost.
Remember back in the 80's when they said 20 Mhz computers were pushing the outer limits of semiconductors. They thought increasing prevalence of electron tunneling at subatomic levels would doom computers to stay below 25Mhz forever.
Then in the early 90's they said the cost of developing faster chips was becoming a vertical line. Computers would never get far beyond 200Mhz because of the brick wall of development costs.
Well electron tunneling became our friend. Design tools outpaced their costs. Maybe we'll find a way to turn the physical limits to our advantage.
Shouldn't that be CMOS' then?
Use temp128/temp128 (user/passwd). The email I gave it was name@domain.com. That poor bastard gets all my registrations ... :)
If both of you want to reach a certain point, and one of you starts from five miles away on one side, and the other starts from five miles away on the other side, and you both drive at the same speed, you'll reach the point in HALF the time it would have taken if one of you had had to drive ten miles.
If one of the cars breaks down, and you and your friend get out and push, the car is moved faster than if only one of you is pushing.
None of these are accurate analogies, however yours wasn't even CLOSE. (And offtopic, btw)
reached, there are numerous other areas to work
on to improve performance. Among them:
For every problem, there is at least one solution that is simple, neat, and wrong.
Even if the Intel folk were right, and we couldn't make out gates any smaller (I bet we can, with bucky-tubes and those neato single-molecule gates), it wouldn't be the end of Moore's law.
FIrst of all, there is the whole bandwidth problem- We programmers have to worry about cache coherency, cache misses, time to load from disk, time to load from RAM... etc.
These things are the major bottleneck for many applications.
Furthermore, This "limit" would only limit single-processor designs..
There is still a large world on parallel-processing to consider.. What if the CPU could execute EVERY non-dependant, non-aliased branch at concurrently?
(We'd obviously need better compilers, and probably better languages..)
In any case to rehash: Even if the Intel engineers are right about the "gate limit", Plenty of other advances to discover..
But (as far as the patents have shown), transmeta doesn't have some new technology that's cooler than printing something on silicon. The real step is finding some thing besides semiconductors to make transistors out of. Or, basically, repeat what happened in the 40's when they came up with transistors to replace "bulky, expensive, heat-generating" vacuub tubes. What we need now is something smaller, cheaper, less power-consuming, and cooler than transistors that we can use in the same respects. Therin lies the future.
-Chris
cant go any faster
:)
we can just start adding processors
-I go to Rice, so figure out my email address
Using things like distributed.net, there has to be a way to unlocking all of this power and harnessing it in new ways.
We certainly haven't done much research regarding novel ways to allow computers to cooperate in order to get things done, although SETI@HOME is a great example.
Actually, it's less efficient, because you're dragging along the extra weight of the second car that you weren't before. More processors is like having a lot of smaller cars, you have to pay for the standard requirements of each, while a faster chip can be seen as a bus, since it can take less trips to move the same ammount of people.
Sure they did. Most of them are still alive.
I've finally had it: until slashdot gets article moderation, I am not coming back.
Bio and molecular level computing is next.. it will propagate and extend the life of Moore's law for another 10 years.
:)
After that, quantum computing of course
http://www.qubit.org/
I don't get it. The ONLY difference between the two code fragments above was a keyword change.
Right. However, the two keywords would have significantly different effects, and would be used in different situations by the programmer.
Why would we have to have a new keyword when we can simply detect a parallel operation?
Because we *can't* simply detect a parallel operation, 90% of the time. If your code calls a function that isn't in the same object file (or is in a shared library), then there's no way to know whether the for loop is parallelizable. Unless, of course, the programmer tells you that the loop is parallelizable. Hence, the new keyword. If you tried to parallelize every for() loop in existing code, you would break most of it horribly.
There's also the fact that automatically parallelizing foreach() type code will have dramatically different performance effects on different systems; the threshhold size above which one would want incur the overhead of contacting separate threads to run code will vary depending on the CPU interconnections; a cluster would only be helpful for much larger loops than an SMP system. You could write every parallelizable loop with foreach() and hope the compiler will sort it out, but how is a compiler supposed to figure out that
foreach(i=0;i<3;i++) {
tinyfunction(i);
}
shouldn't be split among different threads, while
foreach(i=0;i<3;i++) {
hugefunction(i);
}
should be?
Why generate values of i if they aren't used? If the compiler can prove array[] is never used in your function, it'll just drop the loop entirely Can't get much more efficient than that.
Um, that wasn't at all what I was talking about. I was discussing cases where every value of array[] will be used, but where they could be calculated independently.
Functional languages, which can evaluate arguments to functions in any order (thus parallel), will often not bother to even run the loop until array[i] is needed in a fashion that can't be delayed. The best way to optimize code is to find ways to not run it at all.
Agreed.
I suggest thinking in languages other than C.
Disagreed. The point of SMP isn't to demonstrate some academic feature of Lisp, it is to make programs run faster. If you have a program that requires more than a single fast CPU to run, then you *definitely* don't want to run it in a non-compiled language. And if you have a Scheme compiler whose output will run as fast as C, C++, or Fortran code, I'd like to know about it.
That sounds antagonistic, but I'm absolutely serious; I'll probably be working next summer with fortran code on a 500-node system, and if you've got some means to let me write anything but Fortran, please take pity and let me know about it.
That all means unless you get a sadistic pleasure out of watching engineers shackled by fortran, it would be nice to see more parallel programming features available in C/C++.
C'mon. This idea is so familiar it's even got a name' 'the wall'. There are also a plethora of possible solutions on the horizon. Of course, it's possible that they're all crap and Quake 9 will have little over Quake 8.
Moore himself talked about this on Cnet a couple of years ago.
See Larry Snyder's work on ZPL at the University of Washington.
Thank you; I'll take a look at it. I'd prefer an OO language, but anything that automatically parallelizes code, that links to C code, and that isn't Fortran, is good to hear about.
The idea of embedding parallelism into the language is nothing new.
When did I say it was? I mentioned HPF. Well, not by name, but I at least said Fortran had parallizing keywords already, didn't I?
I was just wondering what everyone's view on using optical computing. The ups, the downs, and the in-betweens. Also wanted opinions on the holopgrahic storage devices that were once a big-talker, but what happened? Did they ever make it worthwhile, or did solid-state hardware pretty much make it not worthwhile? I still remember hearing about the cube-drive thing that had a hologram inside that was the data being stored. I never had a really good chance to read into these technologies, so I lost contact with following them. Anyone have any info, or opinions to spare?
the speed of software halves every eighteen months.
After the engineers push silicon to its limits we will start to see the first gen of bio-procesors or something yet ot be discovered. Trust me the CPU industry has WAY to much to loose if there market suddenly hits a wall. "Gee the new Mac G43234 10e4 mhz is the fastest that there ever will be.... no sense in upgrading!" The only way around this is simple.... we will have HUGE CHIPS.. things the size of HDs may be to come if Bio procesing doesn't come along quickly.
That's awesome... I love that. This should be rated a 5! :) hmekhsia@tufts.edu
O.K., I know it's a nit pick, but it should be CMOS, not C.M.O.'s. May be they should pass their stories through /. for editing too, or get a technology editor that can spot this obvious mistake.
show me the money!
--
I think he was referring to automatic layout tools. Modern chips aren't designed in manual tools anymore... The general approach is designed, as well as what the components should do, then these are encoded into tools that munge away at how to actually make it.
Ray Kurzweil addressed this issue extensively in his book "The Age of Spiritual Machines." He analyzed the trend in computing power from Babbage's first Analytical Engine all the way to the present (mid 1998), and found that paradigm shifts always occurred at just the right moment in the evolution of technology. Just as we reach the point of diminishing returns on improving a specific technology, the increasing demand for the resource inevitably spurs research in other technologies to continue the exponential growth.
Ask me how the Heisenberg Principle may or may not have saved my life.
First of all, where do you get the idea that Lisp is a "non-compiled language".
Secondly, there are other functional languages besides lisp - ones that can be compiled very efficiently indeed.
I don't know what you're coding that you need fortran for, but look at the functional languages, look at the Scheme compilers, look at compilers like Sather which is VERY efficient, and pretty nice too.
It's that the major chipmakers stand to loose a lot of money. Currently they are set up to produce traditional chips. They have a tremendous advantage over anyone entering the market, since they already have equipment, expertise, etc. If the way chips are made changes dramatically, what's to stop a little upstart, that realizes the coming change early on, from becoming serious competition for them?
God does not play dice - Einstein
Not only does God play dice, he sometimes throws them where they
Username: slashdoted
Password: slashdot
Enjoy!
-----
The real meaning of the GNU GPL:
The real meaning of the GNU GPL:
"The Source will be with you... Always."
You're forgetting Microsoft's propensity to throw everything including the kitchen sink into their products. When Windows 2010 requires a 1.5GHz CPU /w 2GB RAM just to boot (come now this is not too unrealistic) your point about the general consumer vs state of the art does not hold up. Sure, there will be some small "appliances" that would do fine with today's high end CPU's, but if MS and Intel has their way then ppl will be in an ever continuing cycle up upgrades -- needing to upgrade their hardware (which contains some "new" features) in order to handle the latest monstrosity from MS, which upgrades their software to handle the few new features in the new hardware (along with a lot of useless bloat), which demands a new hardware upgrade in order to run acceptably, etc....
I don't think the need for faster and more capable hardware will cease until computers advance to our "dream" computers. For each person what this means is different.
What I see most likely is the current manufacturers following their current practices of concentrating their R&D on faster and faster generic purpose CPUs until they reach some sort of "wall." When this happens, they will probably branch out in two separate directions. One focused on R&D into totally new methods of producing generic purpose CPUs that break through this wall and the other on application specific designs. They will most likely need to get the bulk of their revenue from application specific designs, taking a larger and larger percentage from the generic purpose CPUs as they get cheaper and cheaper (because other companies will reach the same barrier and the competition will reflect lower prices).
This is not necessarily a "bad" thing. I think it makes much more sense to design a chip specifically for, say, speach recognition. Sure, there is a very important software part of this and there has been some recent work on neural net chips or systems that supposedly is in the right direction, but someone like Intel spending vast amounts of resources on a speach recognition chip (based on neural computing or not) using 5 micron casts would likely have great success in a short amount of time (2-3 years). Think of all the other application specific areas where Intel and the other manufacturers could branch out if they ever do get to a 5 micron technology. Perhaps "visual" recognition, handwriting recognition, Oh, here's a big one -- language translation. The possibilities are endless, with a matching revenue stream. I could see someone spending $1000 or more for a generic language translation unit to take with them on their vacation (I certainly would and there's a heck of a lot of people in this world).
Even if Moore's Law were to slam into a wall (highly unlikely) then so what? The next paradigm shift is the *macro*cosm, as our microprocessors *connect*. This "network effect" squares the sum value of our internetworked transistors. Exploding bandwidth frees abundant info to flow between 'em. These further enforce the law of increasing returns (and route around material laws based on diminishing returns (which attempt to enforce artificial scarcity (ie: patent, copyright, closed-source (which makes me smile;)))) So transistors shrink in half every 18 months. Big deal! Optical bandwidth doubles every 12. Wireless doubles every 9. Twice as fast as Moore's Law!
Moore's Law: The power of computer processors doubles every eighteen months
Metcalf's Law: The power of the Internet is equal to the square of its nodes.
Gilder's Law: Internet bandwidth will triple every year for the next twenty-five years
Anyone care to do the math?
Thanks for the tip. I'm going to start using that one as well!
-----
The real meaning of the GNU GPL:
The real meaning of the GNU GPL:
"The Source will be with you... Always."
It just occurred to me - all this, just so the government can spy on my Reversi scores? ;)
(It was something I noticed about the first 486 I ever played on - a DX25, them were the days, where it was so fast that in the space of a click, reversi thought I was double-clicking the square and told me to go elsewhere. I had to play it with the keyboard instead!)
Don't spoil my fun. I know it was a buggy mouse driver, but it was fun.
~Tim
--
Rushing on down to the circle of the turn
Doesn't Moore's Law state that Microsoft apps double their bloat every 18 months? This is still holding true.
Or a way to dynamically change the instruction set of a processor so that one "generic" CPU is both a "generic" CPU and application specific CPU at the same time. A lot of the work that generic CPU's do, and will be doing more and more of because they are so fast and have the raw power to do it, is finding solutions to application specific problems. Because generic CPUs are so fast and cheap they are as cost effective as application specific CPUs in certain circumstances.
Look at the "WIN printers" for instance. It was thought that it would be cheaper to take the (relatively cheap) intelligence out of printers and put it into software drivers that are run on a generic CPU. Whether it is true or not (that it is more cost effective) is beside the point. The point is that we are asking the generic CPU to do things that it normally would not, requiring large amounts of processing power due to the timing and other issues.
If Transmeta is working on what is rumored, using current chip manufacturing techniques and not some new fangled method, then both the generic CPU instructions and the application specific instructions could then be executed on the same chip. Since the application specific instruction set would be taylored to the applications, presumably less cycles would need to be done to solve the same problem. This would reduce the need for faster and faster CPU's, would it not? Would not this be a new approach to the "problem?" May be not finding a new way to make a faster same old generic CPU product but finding a new paradigm that used a single unit in order to do both generic and app specific "stuff."
Think about it!
For some real physics on this subject read the paper on The Ultimate Physical Limits of Computing at http://xxx.lanl.gov/abs/quant-ph/9908043
-- SIGFPE
The whole point of the mentioned functional
programming languages is that they are side-
effect free, which avoids the very problems
you are talking about with inter-module
dependencies and messed up side effects that
make it hard to optimize for such cases. It
means that you *can* detect parallelism, and
you *can* sanely optimize for those cases.
Basically what you are saying is that the
programmer should tell the compiler how to
optimize his program, with the use of special
keywords and other hacks attached to legacy
languages like C. This is the wrong approach.
Those "hints" are built into functional languages
in the form of strong typing and no side effects.
Spending time improving the compiler for those
languages is time better spent than improving
specific chunks of C code. It is neither unreasonable nor stupid to expect the compiler
to be able optimize the hell out of certain things, or to figure out stuff that would seem
impossible, as long as the language is not so
broken that it *is* impossible (C, C++)
And there are much better (and more modern)
functional languages than lisp. Haskell comes
to mind. http://haskell.org
Your fundemental argument here is incorrect. Although you make a good point which in itself is not incorrect neither is it the correct response. What the original poster is reffering to is the aggregate quality and focus on the quality of code.
This pertains to large companies, where if there was a set linit to speed (i.e the effective implementation of new-exciting-revolutionary features would take a backseat as what becomes possible is limited by speed). This does not entail the end of computing evolution however as the concentration of coders, ideas-people, marketers, consumers, managers and Board of directors would focus on the next step in the evolution of computing into the next century.
Case in point: a lot of coding books 4+ years old (and up to this day for some) emphasise sitting down with pen and paper to work out an algorithm. This is a remanent of the "hardware-era" of the past, where computer resource time was much more expensive then human resource time. Now at the start of the third mellenium the opposite is true.
The future is "information applications". At the risk of sounding very much like a maketing hypeist... the future will move to offering the average consumer what the need, want and understand. What they do not understand is the assembler code for the x86 architecture. What they do understand is the $ sign on e-commerce websites. This is the future as computers become even more pervaisive and ubiquitous with day-to-day tasks.Hence naturally if software becomes the most important cash-cow for companies and firms in the future, where do you think the research dollars are going to go? On new software methodolgies or creating a new thermal compound to reduce the heat of chips ? Sure this does not discount the fact that hardware is the fundemental base upon which technology is built upon and will be in the future, but the quility of code is horrendous in its current form. Money goes to where money is needed.
the G3 does not. the G4 will soon.
the G3 is really pretty awful at multiprocessing; one of the modes that you kind of need for good MP isn't functional, or something. i think that it works if the software organizes the MP-ing, but the hardware can't handle it alone. I dunno, either way there's something that makes MPing a g3 not worth the bother.
the G4, on the other hand, not only SMPs but does multiple-coring beautifully, has been doing so in the lab for months, and will be doing so in shipping computers relatively soon. When the multiple core g4s do start showing up, it should be truly impressive..
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
There is a lot more to computing than just the speed of the CPU. So what if we get stuck at 2000mhz? Add more CPU's and build operating systems that will handle SMP better. Even if the speed stops growing the speed of the disk will increase, the speed of the memory will increase, new features such as voice recognition, DNA based security systems, Internet TV, etc, etc, etc will continue the evolution of computing. Just look at video cards, in 3 generations they've not really got all that much faster(clock wise) but the design has gotten better and new features have been added.
I agree with the previous poster. If you know anything about quantum theory of semiconductors, the 100 atom limit really is right up against the wall of what can be done - it's all about dopant levels in the transistor junctions.
Suggest you read the other highly informed post on effects of background radiation on very small circuits as well.
A computer simulating the entire universe is impossible, since the computer itself would be part of the universe (thus simulating itself...). The only way to get around it is an infinite universe, but the universe is finite, according Einstein (I think).
I believe his point was that a handful of electrons would be a very great number...
People are investigating this and other possibilities... the architecture community(by and large) have accepted that we can only look at ILP for so long, and will soon have to look at thread level parallelism... What you are describing will probably occur someday... in the meantime, SMT(simultaneous multithreading) is looking like a pretty good idea... read the papers by Dean Tullsen at www-cse.ucsd.edu if you care(and the new one on caches since I had a hand in that one :P)
Has anyone versioned the predictions of the end of Moore's Law? This has to be somewhere in the forties, at least....
Or maybe that's just their excuse to explain their failure when compared to the Athlon and SledgeHammer.
poor bastards...
Everyone is so worried about hitting the proverbial wall. As much as it would be a horrible thing. It would force us to re-examine how and what we use the already abundant power of our computers for. Understandably, we cant have all electronics running at 99.999999% usage, it would jsut be too difficult to get everyone hooked on one cause. But, you never know. In addition to all this, if we were to hit a barrier, engineers would be forced to perfect the technology. Programmers would be less concerned with rushing out a product, the computers wouldn't be going anywhere fast and only market pressure would remain. In essence hitting the wall would, i hope, force us to do what we do better.
That's just my opinion, don't take is as dogma.
During the past year I bought a brand-new blue G3 and an exactly ten-year old SE/30. The SE/30 was $5 at a yard sale. It's really something to compare the ten-year stretch. I had that same thought of "what would sit next to the blue G3 10 years from now?"
... new special-purpose designs like Altivec, basically building a DSP onto the CPU. There was talk of putting the whole chipset on the CPU so they can communicate faster. A few years ago, they were just making bigger, faster, more transistors. I guess what I'm saying is that we get faster at the same pace, but it's taking more and different methods to do it.
I think the industry is very conscious of the wall. Chips are being done in copper, and there's a lot of talk of silicon-on-insulator
Gnome and KDE aren't really in the same class as WindowMaker. Gnome doesn't have its own WindowManager (officially) and kde doesn't require it's WindowManager to be used to run KDE apps. Needless to say I run the gnome panel WITHOUT the main menu foot. I use it for the pager only. I run kde apps on occasion though. The KDE Advanced Editor being the primary one. Just a side bar ;)
"Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
I don't think it's possible, that is copyrighted material.
It can be cited though.
The common misconception is that the speed or some such hogwash doubles every 18 months.
What this "Law", which Mr. Moore said after looking at reletively little data on the matter, just for the sake of saying something, was that transistor density will double every 18 months.
>Modern chips aren't designed in manual tools anymore.
actually I was talking about both. These days we still design high performance datapaths by hand, ram too and in particular the standard cells that our automatic synthesis and P&R use as building blocks
Design of these is done as a stack of 2d layers (metal on top with silicon at the bottom) It used to be that capacitance extraction was a pretty simple thing to do and not that important a reasonable approximation was all that was needed - these days extraction is much more difficult - it has to be done in 3D and includes all the interactions between a wire and allthe other objects that come close to it along its whole length - time was just did capacitance to the substrate and got a good estimate - now days you have to worry about edge effects and wire delays (distributed RC delays along the wire because they've got so thin they have appreciable resistance - this is the real reason copper is important - RC delays are smaller - not just that the wires can carry more current)
Certainly we don't have tools that take simple 3D effects into account while working (even many routers can't take the time to do full extractions while they run - they have to do approximations in order to work at all).
But what I was getting at was that we don't have layout tools or P&R tools that could be used to automatically place gates on top of each other (building stacks of silicon stuff rather than one set of layers of silicon stuff and lots of wires) there's so many sorts of analogish leakage issues that would kick in it would be a nighmare
I'm not an expert on quantum computing but is seems that those sorts of structures where electrons are contained by quantum effects rather wires, poly and diffusion may be more amenable to stacking since the quantum barriers could provide a sort of 'insulation' between devices in multiple dimensions that might not be possible in bulk silicon
I don't want a sewing machine. I buy things "pre-sewn"... I don't think there is much similarity between the idea of moore's law and sewing machines. Mainly, this is because a sewing machine is a device that requires a lot of skills to use. Almost any idiot can use a computer (not necessarily to its fullest). And, as computers get faster, the number of idiots who can use them increases (I'd say that it roughly doubles every 18 months). However in order to be able to actually get one's money's worth out of a sewing machine, you'd have to spend a lot of time making your own clothes, or making clothes for others. A better analogy could be had by comparing microprocessors to steel, since they are both crucial "ingredients" in many designs. Actually, a similar phenomenon to Moore's law occurred when steel first became popular. As better and better techniques for producing steel became available, more and more industry was able to use steel as an input to production. Eventually, somebody invented the current way that steel is processed... since then, people have lived with steel the way it is, arguably without creating a shock to the economy.
If technology gets to the point where I can do what I currently use my computer for without using a computer, then I'll be quite surprised. The only thing that could replace computers is IMO better computers. Of course, if the speed of hardware per dollar innovation were to slow, then we'd probably see higher prices for top-end hardware, but other than that, I'm sure the economy would shift so that more resources (people) were dedicated to optimizing code and compilers and architectures, rather than trying to squeeze more speed out of silicon.
Moore's law is more of an economic phenomenon than we realize. As long as there is demand for something, somebody finds a way to sell something relatively similar to it.
Of course, I want a computer that Moore's law predicts will exist in a decade, but I'm not going to sit around holding my breath until it exists... I'm going to make the best of what I have. To think that Moore's law has to do with the number of transistors crammed into a piece of silicon is kind of shortsighted. Furthermore, if there were enough demand for high-quality low-priced sewing machines, they would surely exist.
It's funny that the end of Moore's law is seen as such a negative. I mean, even if it were to happen for microelectronics, somebody would figure out how to push the frontier on another level (such as software, parallel procs, and generally better designs throughout).
The idea that software development has to proceed in such a linear (non-Moore'sLawish) fashion is silly. Who knows, maybe the parallel and distributed (to use the buzzwords) nature of OSS development will ignite exponential growth (if it already hasn't) in the software industry.
I guess this means less is Moore.
It gets to a point where shrinking can no longer be the best option. Sure, you can (eventually) make chips with pathways of 1 atom in dimension. But think of this: If you were to take EVERY circuit (chip/PCB/whatever) in an office (for example: the pentagon), and combined it into 1 device, that device would still be SOOO small that you would still need a microscope to see it. So, let me ask. What happens if you open up your case (that has this tiny cpu in it), and you sneezy? Oops, there goes the CPU... But, in contrast, what if they did make chips so small that pathways were single atoms? What if they could efficiently make a chip that is big enough to see without the use of a microscope? The thing would have like 10e20 or more transistors!!! But here is my question: does it get to a point that having lots of transistors really dont matter?
Since we are about to run into the limit of getting the gates smaller, the only way to get more circuits is to make the die area larger. Clearly we can't go *very* far that way - a chip that was (say) 10 times bigger than a Pentium wouldn't fit into a palm-pilot. However, we can do one very significant thing. Present chips only use one layer of transistors. They are essentially 2D devices. However if we could layer the circuitry to form 3D cubes of transistors, the capacity of a chip could increase by another 8 orders of magnitude...without it's speed decreasing at all. There are some pretty severe technological reasons why this is hard (cooling, crosstalk, manufacturing issues, design problems)...but then getting to the present limits wasn't exactly easy. We still don't have a computer with the power of a cubic centimeter of neurons - and neurons are WAY bigger than present generation gates...part of the reason for that is that neurons are packed in three dimensions.
well, It's called thermodynamic. imagine if you have only 20 atomes to make a gate, does these twenty atomes consitute "bulk" material or not? so if an electron come in into these 20 atoms, how do they behave, what happen to the process of "dooping" in making silicon chips, etc, etc...It's the question of "what consititute a "forest", can you call twenty trees, a forest? (cause a bunch of trees sure act different than a forest) specially when people start chopping a tree or two and thinking the little forest won't be affected and still can be called a "forest" (thermodynamic constrain of bulk properties) remember, thermodynamic law is an older law, and more is newer, and thermodynamic has not been repealed yet.
I think that the IBM POWER3 might be what you are looking for. You can take a look here.
I emailed John Markoff. Apparently, the copy desk at NYTimes fubared this one -- it's not his fault. (I wrote him a nice friendly email, and he responded fairly quickly, actually.)
--Joe--
Program Intellivision!
It's not about AMD or Intel or G4 or multiple cpu's or better compilers. Memory comes in chips too and if there is a limit in the number of transistors you can put on a chip, there will also be a limit to how much memory you can have. Only better process technology can lead to more memory on a chip-not fancy architectures or compilers.
---
...for science and engineering in general. We ought to reserve the designation of Law for fundamentally sound and mathematically provable phenomena, like Gravity and Motion. Even Relativity, which has more experimental basis and practical application than Moore's "Law," only rates a designation of Theory. I got sick of this in my Computer Architecture class, too. Why don't we get back to real science instead of playing prophet with Moore's Rule of Thumb?
</RANT>Right...
More and more of the economy now assumes a sustained exponential growth of IC based products. When the growth rate begins to slow, it WILL create significant disruption. A number of points: First the rate of growth WILL slow sometime, maybe caused by fundamental process limits, maybe by increasing costs associated with the capital equipment to manufacture the stuff, or maybe because it becomes to large a percentage of the GNP (saturation).
IC manufacture is capital intensive. Someone told me that an Intel fab plant runs $5-8B today and doubles every generation. Wall Street is pumping money into Silicon because of growth. When growth slows or stops is will have an enormous impact on investment flow. Then the lack of investment will slow progress, slowing the need for development. It's all interrelated, coupled and highly amplified by the exponent of Moore's Law.
When it slows, the whole attitude about products will shift. Today, if you want a really good sewing machine or small lathe you get a good used one built 1930-1950. When Moore's law times out, the investment in plants will slow to a trickle. Fab equipment will wear out. Student will avoid the dying industry. (What's the Silicon version of rust belt?) People won't buy a new computer because it's not as good as the old one. Software development will begin to focus on quality and then crash as the market saturates (no need to buy new SW once it works and you have to run on the same old machine.
When today's Moore's law based economy crashes it will create massive dislocations. Imagine Silicon Valley with a New England mill town look, or Pittsburg/Buffalo/Cleveland circa 1970.
Camcorders are going digital. VCR's are going digital. TV's are going digital. These are very much consumer devices and they're going to create/store/move a lot of bits around. The consumer is going to want to control/store/edit lots of bits in the future. Word processing is already starting to give way to home video editing. The iMac DV is marketed as a digital camcorder accessory.
Saying "who needs more power for their word processor?" is the same as "who needs more than 640k?". It assumes too much. You can still get a "wait" cursor just applying Photoshop filters, and the average consumer is already editing photographs on their computers.
A lot of people who really defend Be point out that SMP is very much the coming thing, and BeOS itself is completely SMP-capable. You write your app for BeOS and add more processors and the OS takes care of it quite efficiently. If BeOS gets its killer app (real-time video processing or some such) around the time that people are looking at SMP to get an edge, they will look pretty good.
So far, most posts have focused on ways around the hardware walls. They're probably right; eventually, someone would find a way around limitations. However... maybe a temporary stall out in processor speed increase would force an increase in effeciency on the software side. Fewer people could get by w/o reading Knuth. More people would take an interest in effecient algorithms & code re-use. Software would be less bloated and slow.
Maybe, anyway.
Tweet, tweet.
But if you had to move 10,000 people (instructions) from one location to another (process them), wouldn't two five-seater cars at 60mph be pretty much as good as one five-seater car at 120mph?
Better gas milage, too.
What the hell am I talking about?
Current transistors need a minimum number of electrons to operate, other wise the gates can get flip by background "radiation".
How ever IBM, conextant, and others are developing transistor that in the simpleist of terms are two "back to back" transistors. this will help minimise "leakage" and they will be able to use fewer electrons to flip the gates. about 10 electrons or so. Yes thats right 10.
Hello! I am Inigo Montoya, you killed my father, prepare to die
While manufacturers have plants that are currently for making current chips, they often build new plants from scratch to make newer technology. According to a guy from Intel who gave a talk at my work, it is cheeper to make a new billion dollar plant than to refit an old plant. Since Intel will make a new $1 billion manufacturing site every year at least (according to the press releases on their website), they have quite an advantage over a garage chip maker. That's not to say they a patent on the new technology wouldn't make things hard for them, but my estimation gives Intel the advantage.
-no broken link
I do research on decentralized processors, the technology you mention. My thesis advisor likes to use this term, but please keep in mind that there is no common term for this type of architectures.
Sun's new processor, MAJC, is doing this; and Alpha 21364 will, too. Alpha 21264 already employs a similar technique.
You are completely right in thinking that this is the next step. The trend in the last 3-4 years has been in this direction. Decentralization is an active research topic in many institutions and processor companies in various forms: Multiscalar processing, superthreading, etc. You might want to take a look at the Multiscalar pages at Univ. of Wisconsin, where some of the pioneering work has been done.
Zigbee Central: A Zigbee weblog
Notwithstanding the fact that there are still 7 binary orders of magnitude to go to get from 100-atom transistors to single-atom switches, there is a new phenomenon that will become dominant, starting right now: multiple independent CPU's on a single chip. Right now, the focus is on multi-mega-transistor behemoths like the K7, 22 million transistors, but wouldn't you rather have 22 1 million transistor CPU's in your computer? I know I would.
:)
The enabling technology for the shift to SMP is none other than Linux: its crossplatform nature allows us to switch easily to alternative, more transitor-efficient architectures such as ARM (n.b.: also offered by Intel, make of that what you will) and at the same time provides the multi-CPU support we need, without costing an arm and a leg
Life's a bitch but somebody's gotta do it.
This has been tried before AFAIK but I counldn't point to anything definitive on it. The problem is figuring out how to do the different instructions but I would think you could have two cores running at 100mhz on a 200mhz total system bus, that would probably solve the bandwidth problem. Deviding up the code between the processors could be done most likely in the compiler which would multithread the program. With the two cores you wouldn't have double the clock speed but you would have double the MTOPS (millions of theoretical operations per second).
I'm a loner Dottie, a Rebel.
If the silicon technology doesn't want to get any faster, just use a different technology. The HTMT project is seriously looking at doing this within a decade, though it will mean significant changes in system architecture.
Well, wouldn't it HAVE to stop somewhere ? I mean, you can't make a semiconductor out of a single atom ... I mean, despite all the technological advances, you still have physical limits to work with. Like, you can't see a group of 5 atoms with the naked eye. And no amount of technological advance will change that ... so won't they hit a physical, barrier somewhere where the Laws of the Universe will trample all over them ?
"Bastard Operators From Hell" is an anagram for "Shatterproof Armored Balls". =)
Wrong article, genius :)
It's happened to a great extent, anyway. Go hunt down the Toms Hardware review on the Athlon for a good understandable discussion on their architecture - the main reason they're getting up to 50% better FPU performance than Pentium IIIs is the fact that they've got 3 concurrent execution units there instead of 2.
But there's only so much of that you can do in hardware. What I'd like to see is multithreaded software produced *automatically* by C/C++ compilers when possible, the way high end Fortran compilers do for multinode supercomputers today. So instead of writing
for(i=0;i<1000;i++) {
array[i] = function(i);
}
which generates i, executes the function of i, generates the next i, executes the function with that next i, etc; you might write
foreach(i=0;i<1000;i++) {
array[i] = function(i);
}
which will generate as many values of i as you have CPUs, execute the function for each value of i on a different CPU, then generate the next set of i's, sending them to threads as necessary to keep every CPU busy.
We'd have to have a new keyword (I like foreach) for this, since the overhead involved would make it counterproductive in many circumstances and would break code (anything where function() isn't reentrant, or where the i's are assumed to be evaluated in order) in others.
"
This wouldn't be SMP, even the motherboard wouldn't really know there were multiple cores on one processor.
"
This is essentially how most of the current
processors already work. A Pentium II processor
is capable of executing _multiple_ instructions
on the same clock. The motherboard/OS don't
even know there's effectively more than one
processing unit present.
What you really want is a nice threaded OS and
applications, coupled with known multiple CPUs
so that applications can be executed in parallel
on the thread level, rather than on the
instruction level (or looking at it from the
programming perspective, it is much more fruitful
to parallelize your app deliberately, rather
than let the hardware try to do the best it can
for you.)
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
Yes, we have, but those predictions were more based on user needs/wants. This wall is an actual physical barrier. I mentioned in a previous post that wouldn't you need x amount of atoms just to do basic functions ?
"Bastard Operators From Hell" is an anagram for "Shatterproof Armored Balls". =)
Moore's Law states that the transistor density on a silicon based integrated circuit doubles every two years.
"programmers don't have enough time to write everything well." Which is why I recommend code reuse at all levels. Write well once and reuse like crazy. Unfortunately most companies follow the method "build it once and throw it away, and start over".
Points noted:
1) Human limitations will come into play for some technological advancements.
2) Problems that don't have anything to do with human limitations is were the focus will be.
As far as limitations on Moore's law, our knowledge of the universe.
Moving everything to a functional programming
paradigm is an intersesting idea, but you have
already noted the real problem.
It is the serial part of your algorithm
(IO is an example) which provides the
upper bound on performance.
Now, you also have real problems with
certain algorithms; specifically
data dependencies.
Even though lots of tricks and many
paradigms for parallel processing exist,
some problems are just very nasty.
Another point to make is that although for the
"average" user processors are powerful enough,
for the high performance computing sector,
it will never be enough. (Ie: more of those
intractable problems).
Also, there is no real benefit to be gained
by having slowed chip development. It would seem
that the technological insights gained by this
research outweighs the potentional temporary
cost benefit, and costs are dropping in any case.
The problem that many of my detractors (who Should be Obvious to you by now). Is that They have more problems with, ( of course ) the subnet of my presentation ( table 1 ). Needles to say, Nevertheless. That they more than Likely do not comprehend ( of course ) the Fundamentals of the I'm a Fucking Retard Rule ( Needless to say, similar to my Octet rule ).
Never the less, it should be Obvious why I didn't ( or should i say, Couldn't ). Needless to say, pass the fucking Cisco exam because my head ( or never the less, what is on top of my head ) is so far.
Just imagine! Shoved up my ass, that this paper should be my addmitance paperwork out of computer ( or network ). Consutlting/IT Professional, and into scooping M&M's for Dary Queen.
if you read this hampsters paper all the way thru.. take off two points. Take off 3 if you printed it out to read it later.
--
Isn't there some serious research on clockless chips? I seem to remember reading something about that...
"Be nice, veer left, and never stop thinking" Iain Banks - Walking On Glass
Thanks a lot. That gave me a surf tour from nano to crypto to cryo.
I apologize for hitting the wrong button.
A.C.,
Get a login if you are going to talk shit, bitch.
-Peter
the CAD tools are certainly not up to it though...
I've always wonder about that. What is preventing someone from creating a 3d magic?
Hey wouldn't it be nice if for once the computer i bought one year isn't an overdimensioned paperweight in the next? I dare not hope so, but not because i think that molecular switches could do the wonder by 2005.
... chips containing (then) maybe a hundred million transistors wouldn't survive a week if such a switch breaks about every million years. ("Oops some cosmic rays came along and knocked an atom out of place, sorry thats not in the warranty.").
... (maybe Linus knows more about that). So even with a constant number of transistors more functionality can be achieved.
I think it will take the industry quite some time to build CPUs based on some new kind of switches. I don't expect more than prototypes or ridiculously overpriced units in less than twenty years. (Makes me think about fusion reactors, people have been saying "they will work in 50 years" since 1950 i believe.)
While it is now possible to manipulate individual atoms and we have even seen some molecular switches already at work, new and economic ways of assembling them on a chip need to be found, a whole lot of experimenting has to be done, we don't even know yet, how long it'd take such a switch to degenerate
Anyhow, the industry expects that they can at least work till 0.1 micron with 'conventional' semiconductors, some conductivity problems of such small barriers might be addressed by just the right surface/interlayer coating, synchroton sources could be the tool for higher resolution. Ways are found so a broken or temporarily malfunctioning transistor can be worked around (which will come in handy later), so the odd stray electron doesn't hurt.
Transistors suddenly can handle more than one bit, new concepts of building CPUs will free all those transistors from their specialized niches in FPU's and elswhere , and thus stop idling 70% of the time, microparallism is on it's way
Hey i didn't even begin to think about more efficient software and faster memory access (but that isn't what Moore's Law is about anyway).
So i think we'll be able to hold up Moore's Law, maybe even twenty years, if not in numbers of transistors per chip then at least in the realized functionality. That's just fine, because we'll need that time as i said before.
R.
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
Even if we assume that the smallest transister is about to be realized in a silicon product, that doesn't mean there aren't a lot of other ways to go. Current chips only begin to explore the 3-D world, often 10 layers thick. It's easy to imagine a chip that is a true cube, 500 layers thick. Even if transisters don't get smaller, that could pack a lot more punch in a processor. Of course, parallel processing, and neural networks of processors are other world to explore. These can come in traditional (eg SMP) forms, or just more intelligent peripherals. Imagine a video card with a P-III 550 on it, that could offload a lot from the main CPU. Moores law will continue well into the future, even if we reach a limit on transister size. I suspect they will find a way around the transister size limit too, with optical or quantum computers.
will only go so high. Monitors, currently displaying around 72dpi, higher on LCDs, will get up to optical resolution then stop.
That means that the 2d card will only have to be so powerful, the same with the 3d card.
Sound cards will eventually be able to generate realistic sound that includes the full range of our hearing. Then they don't need to get more advanced.
I'm not saying consumers will only need this or that, I'm saying that humans will only be able to come up with this or that. AFter a while, they won't be able to figure out anything more to do with computers. (This will probably end at something like re-creation of worlds, aka massive holodecks)
Think to yourself, what is the biggest, most power-consuming thing a computer could ever do. Ever. It will stop there.
Perhaps it will be miniturized, but applications will stop eventually when there are certain limits, like optical resolution or the range o the human ear. Eventually there will be limits like that for application.
Moore's law will not stop. We will just keep finding newer processes to do things.. (Intel saying it will stop, well hell yeah you can fry pancakes on PIII's probably roast a cow on a Merced) Motorola isn't having many problems on the other hand... Microsoft could be a major part off this, you shouldn't f'ing need a PIII 400 or whatever ffor the operating system.
Apple's only restriction on OS compatibility is chip architecture (you have a PowerPC, it works, 69k it doesnt, this is a natural limit, its practically like trying to install the MacOS on a pc, wrong chipset.)
Hey we haven't even tried optroinic computers or anything yet maybe those will reach our needs. Still s lot that can be done, just ignore intel, they're just overclocking their chips until they melt.
What I think will happen in the near future is somehow making multiple cores on one processor work seamlessly, so you effectively have a 1400MHz Athlon by putting 2 700MHz cores on one chip. I have no idea how to solve the problems with bus bandwidth and dividing instructions between processors, but doesn't the G3 do this already to some extent?
This wouldn't be SMP, even the motherboard wouldn't really know there were multiple cores on one processor.
Someone with some experience in this field want to tell me why this hasn't already happened?
Yeah, I too read an article on that not too long ago...It still falls into the optical computing, but not quite what I meant.. =] (Not your fault, though) I guess I was wondering about something along the lines of Optical CPUs (Are there such thing?)
Anyway, yes, that multi-layer CD did sound nifty. I heard they use two lazers and where they both come to a point on focus, that is where it would read. But, how transperant is each data storage layer have to be in order for the lazer to read the inner most layer with good accuracy? I know single layer CDs of now are somewhat transparent, but I would assume 6x's the layering would make that 7th layer pretty hard to read. Someone want to enlighten me on why is this possible? =]
Even if individual processors hit a wall, multi-processor systems and distributed computing systems will just get better. Moore's law will not stop, it'll just change tactics for a while (until quantum computing becomes a widespread reality?).
I was thinking about this last night for no reason at all. Sometimes I wish moore's law would stop working, then we could get certain companies to try and optomize a little bit *ahem* but we can all dream. So if a single processor can't be made better, use two, or four, or beowolf.
There's really nothing to worry about.
72656B636148206C72655020726568746F6E41207473754A
It's true that there's a lot of bad code, but the cause isn't that better hardware makes programmers lazy. The cause is bad programmers, or bad managers/customers imposing stupid designs/requirements.
Better hardware has enabled the creation of larger, more complex, and more featureful applications. It takes more skill to manage this complexity, and there are very few programmers who actually have this skill. Of course, the explanation for bad software is more complicated than that, but bad programmers and bad project managers are high on my list of causes. Like practically any other problem in the world, it can be traced back to human stupidity.
I've heard lots of people talk about the "good old days" of computing when a word processor could run in 4K or whatever. Better hardware is a *good* thing, and it *should* be exploited to make life simpler/easier for application developers wherever possible. Whatever makes the developer's life better, will ultimately make the end user's life better too.
Go gaseous rather than liquid?
Deleted
I don't believe that if computers suddenly hit a ceiling in terms of max performance that people who code sloppy would stop. It's just like any other profession - some people do it to the best of their ability, and some people make it 'good enough'. And on a related topic - guess which methodology most linux programmers embrace. :^)
--
Remember these guys, say they discovered some new stuff based on Roswell tech The Trans-Capacitor
the article says current chips are .18 microns, however 450Mhz and up G4s are .15 micron copper HiPerMOS
Though Moore's law might come to an end of being completely accurate, there will not be, at least for a long while, any barrier that cannot be taken down. Think back to when computers took up huge rooms and acted like a calculator. Do you think those people ever imagined such things as our graphing calculators, which are tons smaller and do tons more with less energy? No. They had no clue about what was to come.
That is exactly how we are now. We are stuck in a "what we know is what is doable" mind-set. There are so many different things that can be done to get even more transititors in smaller space, we just can't think of what it is now, but inventors and innovators will bring us things we could never imagine. Just think, today's G4s will seem like yesterday's Apple II in about ten years.
"Who will ever need more than 640K?"
For decades people have made predictions contrary to Moore's law, and each time they were wrong. I can't say for certain that doubling will continue ad infinitum, but the end is definitly not near. In 1960, 1970, 1980 & 1990, someone said that their decade would be the end of Moore's law.
Excuse me, but... BullS**t
The nature of computing is that bigger apps require faster machines, and faster machines can run bigger apps. Most long term predictions in the computer industry far underestimate the power of human inginuity when faced with an ever more demanding consumer. In the 1950's someone (who was it?) said there was a world market for maybe *5* computers...
yeah... right
(BTW, can
Always Slashdot, Always CokeBear, Always Coca-Cola
Reality has a liberal bias
Ok, so there is possibly a limit to how small the transisitors and data paths can be, but that doesn't necessarily put a limit to other options like adding more pipes, etc. Not to mention moving off silicon entirely with things like optical processing and quantum computing. I don't remember that Moore's Law specifically says that processing must be done on silicon.
-----
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
Besides, application specific processors are allready (and have allways been) widely used, expaning their use should be no big deal. Want to run Q9 but have a slow CPU? - Buy a graphics card with 4 geometry CPUs.
Moore's law is about transistor volumes on smaller and smaller pieces of silicon.
I'm more interested in continuing the net effect of Moore's Law: That computing power doubles along with transistor counts. As long as we continue to get more power, I don't really care how it was attained.
Let's stop trying to get faster by using bigger and bigger (or maybe smaller and smaller is the better term) sticks. Let's do it better.
This seems to be the approach that Transmeta are working through.
... and today's pet project has
Transmeta?
I'll bet you some hardware manufacturers will be more than happy to get a breather, though. I suspect that was the case in the 80's.
It's easy to see that new technology will be same size better parallelism. 300Mhz processors that kick Merced from here to tomorrow.
Let's dump CISC already.
The message on the other side of this sig is false.
Who says there are no other architectures than the flat Si wafer using electrons?
Expect larger chips, real use of the 3rd dimension, photonic devices etc.
About inventiveness:
I have a mathematics book that features the same quote "Everything important in the field has been invented (..now it gets dull..)" issued by an engineer from ancient rome, some guy from medivial times and then a french mathematician 200 years ago.
Seems to be a recurrent theme. ;-)
I believe you are correct. Making things smaller teaches us more about how to controll the quantum mechanical effects on a technological level.
Put another way, More's law will make a quantum leap as we, using computers, will be able to simulate physical phenomena in linear time (or linear complexity).
/jarek
If im not mistaken there are two different technologies being discussed in this thread. Quantum computing deals with using a quantum superposition of states to effectively test all states at once. This has implications in terms of new algorithums that can be developed which are of a different order (ie different number of cycles to compete a search etc). Quantum computing offers no promisess of faster floating point math. Quantum effects ie the wave nature of matter, on the other hand will ultimately lead to a minimum size for traditional logic gates. This relates to dopant levels etc. We actaully did a calculation the other day in my solid state physics course which showed the electron to be bound to an impurity at a distance of about 60 Bohr radi (ie if you make something smaller than about 60 atoms, you will start to see the impurities as impurities rather than another energy level for electrons to ocupy) At the same time quantum effects offer another avenue of development, not quantum computing, but harnessing these effects in creation of things such as 2d electon gasses, single electron transistors and all sorts of other fun stuff.
Higher processor speed, IMHO, has does wonders for code quality. With higher speed, garbage collectors become feasable. Garbage collectors go on to make it a lot easier to design robust systems becuase you end up have no leakage (given it is a good algorithm) and no accidental freeing of memory that is in use.
In addition, more speed has allowed us to make modular and OO designs that were traditionally "too slow". It's not that OO is necessarily sower than non-OO (there are too many benchmarks showing either camp is faster to know what is really going on), but good design often has overhead. I make speed sacrifices to maintainability all the time with the justification that computers are fast enough. And, IMLE, they are.
Because of this, I can see the exact opposite happening: when computers reach a limit to their speed increases, quality in code will go down. As more features are added to a program, more and more sacrifices to good design will be made for the necessary speed.
-no broken link
Things have to change. Over the last couple of years it seems that all the workstation vendors have been able to produce similar capability. Now it is all about price. Reading the Sony story earlier makes me think about what is the next big thing? Probably Intel is in a sort of rut. Maybe the way they design CPU's needs to change. As long as there is very little difference between an inexpensive white box, and an expensive workstation, Intel will be in trouble.
If we are at the end of Moores Law, then how come Sony is able to do what they are doing? I believe it is because they are able to approach the design of their systems holisticially without all of the compatability baggage required with todays PC. They are using the silicon, and software, and careful focus to provide very specific capabilities. Intel on the other hand is really just providing general purpose silicon. Maybe we are seeing the limits of what general purpose computing machines can do for a while. Not Moores Law.
Blogging because I can...
If we indeed are going to be facing tradeoffs between the size of active elements and their reliability then we need to rethink SW and HW arcitecture. In a consumer PC, EVERYTHING on that motherboard needs to work pretty much perfectly. Lose ONE transistor out of the millions in the chipset, memory, processor, and storage devices then everything will come to a screeching halt....usually in a fashion that is totally intermittent and capricious. The designers of the Voyager probes built in the Seventies saw the problems with that kind of arctitecture. If say, a memory cell fails in the Voyager then the software will mark it bad much like a bad disk sector and continue to function. You can damn near fire a bullet through these things and still have some function. Instead of assuming that EVERY 8 micron transistor in the Computer of Tomorrow has to function perfectly let's assume that inevitably some percentage of them will fail and design systems accordingly. In the eighties an entire PC might have had a few million transistors in it at most and of course the PC wouldn't tolerate the failure of any of them. We can't get away with that type of design much longer.
I agree. Intel have a serious interest in producing faster and faster chips; if they ever reach a real limit, they'll have to do something. There's quite a lot they can do, so Intel shareholders needn't worry yet.
If you analyze the performance of a modern PC (Intel PentiumIII, AMD K6, etc) in 'normal' use you'll see that the processor spends most of it's 'busy' time (90%+) waiting tor cache misses. A stupid interpretation of this is that a 50MHz processor would give you the same performance as a 500MHz chip. This isn't entirely true, but isn't a a bad guess. I run a processor-bound Oracle database on x86 architecture. At peak loads the (single) processor is reporting that it is very busy. What it is really doing is waiting for memory to respond. The system is designed not to need to swap to disk. The users think the system is very fast.
If Intel or (someone else) could improve memory performance to the level required by modern processors, we would see phenomenal improvements in overall sysstem performance. The x86 machine I am using at the moment is seriously disk-bound. If the disk performance was 20% better (which I could acheieve by buying better RAID) I would see something very close to a 20% performance improvement (It's *very* disk-bound). If I fed it another gigabyte of memory, I'd see a miraculous performance improvement, because it would stop being disk-bound and become memory bound.
If you take Moore's law as applying to silicon-based processors, then there is a limit that we are within about 5-10 years of. If you apply Moore's law to *whole* computer systems, then we've got a lot of room before we hit a major problem. Even then, there are a lot of things that can be done:
Chemical / molecular systems
Biological systems
Quantum logic
etc.
Every computer on this planet is built on the von Neumann architecture. It's a good architecture, but there are others. Many are inherently faster. I will happily bet that Moore's law (applied to system performance) will be exceeded over the next 50 years. Anyone want to bet against that?
Nanotech is not about making big things small. People watch Star Trek or read The Diamond Age and assume that nano is about little robots with little CPU's and little mechanical parts. And that just ain't so. We already have tiny molecular cutting devices: they're called enzymes. Yep, it's the squishy science of chemistry, where we deal with weird funny smelling liquids rather than neat shiny MicroMachines. The kind of nanolithography Feynmann talks about is rather similar to how we make chips now, and they're infinitely more flexible than a micro-encyclopedia. There's not nearly as much utility in putting all the manufacturing effort. toward creating single-purpose micro-devices when you can create a general-purpose one like a CPU.
I've finally had it: until slashdot gets article moderation, I am not coming back.
I think Richard Feynman said it best many years ago:
There's Plenty of Room at the Bottom by R. Feynman
IMO, he basically started many people thinking about nanotech (and this was in the '50s). There are some remarkable things coming from nanotech (IIRC, there are some remarkable things coming out of U of Michigan in nanotech).
There is plenty of room. We just need the technology and sophisitication in order to harness it. Somebody will achieve this technology (who and when are the important questions, not if ). When it happens, Moore's Law will just chug along as usual (as it always has).
Justin
Mu. P.S. The address you see is real. =)
Some French scientist managed a few days ago to make circuits of 0,02 micron size (last record was 0,04 by Toshiba). This leaves plenty of room to increase speed for some years...
It is a real pet peeve of mine when people multiply their clock by number of CPUs, and then claim that is there "speed." This is WRONG.
If my friend and I want to go somewhere, and we take seperate cars, and drive 60mph, we dont get there in half the time. Therefore we are not driving at 120mph.
Aaaargh.
-Pete
I don't think we'll be using molecular computing on our desktops any time soon, nor quantum computing any time in the next few decades (you try lugging around an MRI machine, I dare ya), but all this means is that we'll have to shift paradigms to something else that's massively parallel.
Current technology relies on only a handful of processing paths though a chip being active at any one time. Compare this to our brains which are massively parallel at the cost of having lots of neurons sitting around and doing nothing most of the time. ('Nope, still don't smell anything new; nope, still not smelling anything...') The payoff comes when you want to do lots of things simultaneously, which is what happens in our visual centers, for example, when doing pattern recognition.
The harder problem (than transistor size) to deal with here is that our programming paradigm is going to have to shift to something that can take advantage of a massively parallel machine, which is really difficult. Not all problems can be made parallel, and only a few of them can be made parallel well.
On the bright side, it's mostly the hard ones like pattern recognition that work well parallel, so maybe the future is brighter than we think.
("Computer? Commm-PUTE-errr?" "Scotty, try the keyboard.")
If the demand for a faster computer remains, something will fill the gap. The demand will be there, until I have a computer equivalent to that on NCC1701-D in my house and car, I'd say the demand will be there.
What you might NOT see are traditional 2-D FET based stuff - I expect that what we may see in the future are 3 things:
I have been having this discussion with folks at the SC conference for several years. In short there are some bits of fundamental physics in the way of continuous shrinkage of components (and higher clock speeds as it turns out).
The punchline is this, and it is quite simple: You cannot continue to shrink feature size and maintain classical (e.g. transistor-like) behaviour out out your devices. You will eventually wind up in a quantum realm (length scales of a few angstroms per feature), and you have many difficulties to contend with in this realm which will prevent the behaviour you need in your devices from occuring.
Right now, the transistors are on the mesoscopic scale, so quantum effects are quite small. As you diminish the size of the feature (the wire, the transistor, etc), you are effectively replacing a classical object with a quantum mechanical object. This will occur when your length scale is a small multiple of the planck wavelength of your current carrying particle (electron or hole). You may introduce odd electronic levels in your bandstructure, which deplete/inject carriers causing extreme weirdness.
Of course, there is another more insidious problem. That of defects in the structures. You cannot (thanks to thermodynamics) grow a defect free material. Worse than that, if you ever figure out how to grow a defect free material, it will not remain defect free for long. This is important as structures become smaller, and defects make up larger and larger relative fractions of the materials.
Defects can add or remove charge carriers from the material, which may alter the electronic properties significantly. In the metallic portions of the chip, a defect in a small "wire" ("1D" quantum well) may significantly perterb the "flow" of current... Moreover, current in a quantum system is defined a little bit differently than in a classical system, so circuts that depend upon a classical flowing current are going to need to be redesigned.
In short, transfering from the mesoscopic scale to the quantum scale for circuits does not make a great deal of sense. It is slightly less sensible than running conventional silicon at GHz speeds. At these speeds, you need waveguides to carry current, not wires. This is a major problem that I have not seen any solution to yet.
Where are we going to get the great speedups we need in the future? Really you have few options.
1) a new material. The problem is that the economics of Silicon are hard to beat today.
2) a totally new computing mechanism. Today, computation depends upon the flow of fermions (electrons) which are spin 1/2 type particles. If we could figure out how to tap bosons (spin 1 particles, such as photons, etc) for the computational aspects, we could concievably exploit the boson wavefunction overlaps (bosons unlike fermions can have the same sets of quantum numbers simultaneously, and actually "be" in the same place at the same time...) This way, each "wire" could be carrying many signals simultaneously, and the computations that the CPU performs could concievably be massively parallel.
This is a great dream, but it will not likely happen in our lifetimes.
I'm surprised no one mentioned the speed of light as a limiting factor, this does put a rather large spanner in the works. c = 3 x 10^10 cm^-1. If a microchip is 3cm square, then it could take 10^10 sec^-1 for a signal to travel from one end of the chip to another. Once a chip went beyond a cycle speed of 10GHz you would have the problem that signal propogation throughout the chip would become the limiting factor in the calculation.
It has always been true that the average programmer
has a better equipped system than the user that
will work with his/her programs.
So today there are enough "programmers" (VB and Co.)
who own 450MHz boxes and ask: "Why should I even
*think* about optimizing this piece of code? It
runs in 0.1 seconds on my box, can't be that much
slower on the target machine!"
That's the real reason why faster computers sell
that good: Older machines are "getting slower"
because software written today just doesn't fulfill
the processor's (or RAM's) potential anymore.
.sig: SEGV
> Think to yourself, what is the biggest, most power-consuming thing a computer could ever do. Ever. It will stop there.
The biggest, most power-consuming job I can think of that a computer could do would be to do a real-time full-scale simulation of every piece of space-time-matter in the universe, backwards and forwards thorugh all time. Since the universe is infinite, so too would the simulation be infinite. And I might want to run more than one of these at a time...
Many of the computing problems of yesterday and today are becoming more or less "solved problems"...at least if you consider today's solution optimal. But the problems of tomorrow will always be bigger yet. We have a loooong way to go.
There are only a few reasons why industry concen-
trates on making smaller chips:
o Nobody wants a computer huge as a garage
at home
o Material is expensive
Imagine if there would be a way to a) make the
amount of material needed to produce a chip
unimportant (let's say, some kind of StarTrek
"replicator") and b) make the amount of space
it needs unimportant.
See: Would you care how large or huge your new
computer is as long as you won't have to place
it in your living room?
Maybe in the future we will spend some money for
a computer (if in 2010 computing power isn't flowing
just through a plug in the wall), some company
will materialize it for us on Mars and some new
technology allows us to access it there in
real time.
Bigger than a house? No problem.
Sharing the computing power of a really good machine
with 20.000 other people? Doesn't matter, as
long as privacy remains and it's fast enough
for me.
Forget the "Personal Computer". Noone really
*needs* to own the hardware anyway. Think of
a "CC", a "Community Computer".
.sig: SEGV
> God does not play dice - Einstein
> Not only does God play dice, he sometimes throws them where they can't be seen. - Hawking
How about this one concerning parity violation:
Not only does God play dice, the dice are loaded.
(apologies for once again snipping quotes from Alpha Centauri)
I've finally had it: until slashdot gets article moderation, I am not coming back.
(off-topic) Triple bandwidth yearly to 2025 means we connect by pipe 100 times fatter than now with any one of 8 billion fellow humans. That's 64,000,000,000,000,000,000 (zillion?) ways to trade ideas and services.. (quantum encrypted?) So, dear RIAA-FTC-WTO-GATT-NAFTA-IMF-SEC-USPTO-FDA-FCC-NSA- ETC-ETC-ETC-ETC,.. Step right on up and regulate this!
Nanotech is precisely about little robots with little cpu's. Its the economy of scale. Feynman just spoke of the potential but was way to early to envision how it would manifest itself. Nanotechnology is nothing like how we create ANYTHING today, except in biology. And enzymes, are extremely crude and you can't get one to make diamond or a bicycle. It depends on what you consider "nanotech" since there are the nanoassemblers, and then there are the products these assemblers create. Without one, we can't have the other. Little robots with little arms and tiny 8-bit cpus... Thats *exactly* what nano is.
Everybody knows what a handful of electrons feels like. It feels like your hand. *Everything* you can see/feel is directly due to electron/photon interactions.
Sorry to be so pedantic.
Chaz
yes... thats nt as in 'no text'. Dont see that much on slashdot.
Juln
I would just like to note that there are alternatives that make parallel programming more tractable for both the programmer and the compiler.
One of these alternatives that I am studying now is Functional Programming. When all you work with are sets of subexpressions to evaluate, rather than a strictly ordered series of statements, then suddenly all this parallelism that was impossible for the compiler to find in the sequential (ie C) version become apparent for the compiler of the functional version. Plus functional programs can be easier to verify and make provable statements about.
Now, the only real problem that I know of for Functional Languages is that your objects usually need to be immutable. But this actually isn't such a bad thing; mutability isn't needed in many cases that it is used in. And that way you don't need to maintain state between processors (ie no semaphores needed)
Actually, another problem is side-effects (in other words, I/O) but I don't want to get into that
I know that one can support Mutable objects in functional languages, but I admit that I have not yet studied how this affects the parallizability of a functional program.
The point is, the programming world may be able to write extremely parallel programs, if they were willing to try out different programming paradigms and see how they mesh with SMPs...I'd be happily surprised if such a paradigm shift happened for efficiency purposes (to better support SMPs) and yet also caused an increase in probability of program correctness just due to the other benefits of functional programming.
-Felix
arvind rulez
See Larry Snyder's work on ZPL at the University of Washington. The idea of embedding parallelism into the language is nothing new.
The speed of software halves every 18 months
/. sig)
(I think I read that in a
That was my thought upon reading this. I believe quantum computing technology will achieve significant advances soon enough that the limitations of silicon will become irrelevant.
Juln
nice those 37 factoids. ive been collecting factoids about celebreties that died aged 27. hundreds of them.
From the article:
"When you get to very, very small sizes, you are limited by relying on only a handful of electrons to describe the difference between on and off."A handful of electrons? Some analogies just don't work. :u)
The silicon chip business has been a bit like the gasoline/petroleum industry, in that many interesting ideas with plenty of potential have been pushed aside or starved for funding, as long as the prevailing product continues to deliver what we're used to.
Businesses are happiest growing and changing incrementally, and it usually takes outside factors to force major change. But when that happens, almost everyone's better off in the end, because we end up with more choices.
I look forward to looking back on the latter part of the 20th Century as the primitive Age of Silicon, and wondering how we ever survived without nano/optic/bio/quantum tech...
Articles will become smaller, faster to read, and not require "free logins"! =)
Of course, half of Moore's law then pervades minds, they become smaller.
--Joshua
"If it is broken, fix it. If it is fixed, improve upon it. This becomes one helluva cycle."