18 ms·
I've been following the semiconductor news in the last year closer than ever before. It really feels that the 7nm node will be the end of Moore's law. As a soft
by dmarcos 10y ago
I've been following the semiconductor news in the last year closer than ever before. It really feels that the 7nm node will be the end of Moore's law. As a software engineer it intrigues me the constrains is going to impose to our craft in the next decade. We've been riding the performance exponential growth that allowed us to be sloppy programmers and still produce increasingly complex software. I work on the VR space and the conventional wisdom is that headsets and GPUs are going to get drastically smaller and powerful every year. I think this is not a given anymore and as a software practitioners we will have to step up the game and be much more careful about using resources. How is the end of Moore's low going to affect the cost of Software Development? The top software companies will be those that best use the hardware. Performance optimizations usually makes software more complex and increases the rigor you operate in. Many people have been able to got from 0 to make relevant contributions after learning programming in a few months or going through a coding bootcamp. That might get harder and harder since you will need deeper knowledge to produce competitive software. Is this going to increase the barrier of entry for developers? Is the developer pool going to shrink? Salaries go up? Is it going to be more a and more expensive to produce competitive software? Will it make software startups more capital intensive, since gluing 4 pieces of existing code around a good idea won't be enough to be successful?
- petra 10y agoTo some extent the mobile platform did the same thing:increasing the constraints, both on performance, and on interfaces. So maybe we'll see something similar ? more demand, higher salaries, but non the less, options for relative noobs to do interesting things ?
- kolinko 10y ago"Nonetheless", ftfy. Sorry for nitpicking.
- thesz 10y agoMoore law is about number of transistors per chip (IC). You can make transistors smaller, you can make chips larger, you can stack chips and you can make integrated circuits from several parts. I think your feeling is wrong.
- dmarcos 10y agoIf you care about miniaturization you can't make chips larger. If you stack chips you will have to deal with heat dissipation. What do you mean about making integrated circuits from several parts? I'm not an expert on IC design. The reality is that laptops have not increase performance in the last 5 years as much as they did before. Desktop GPUs are getting more powerful at the expense of being more and more power hungry. I feel that in the smartphone space the claim of "This new model is 2x performance of the previous one" will be harder to make.
- solnyshok 10y agore:desktop GPUs - AMD/NVidia stayed at 28nm for the last ~5 years. 14nm coming this summer to both.
- deleted 10y ago[deleted]
- speeder 10y agoWhat you are saying is PRECISELY why Moore Law ended with 7nm. Mind you, performance improvements didn't ended, we can still find other ways to do things... But 7nm is the smallest physically possible transistor (well, theoretically it is 5nm, but that one can't be actually manufactured). So, you hit 5nm, then what? Your only choice would be make chips larger... but if you do that, you limit your maximum clock (example: a 5cm processor, if it allowed data to travel at light speed, and had perfect cooling, would still be limited to 6ghz) Or make them taller, but then you can't cool them easily. That is the problem, Moore Law, as in transistors per chip, ended with 7nm, there is nowhere to go after that, the only thing you can do is add more chips and make them communicate with each other (ie: multi-cpu... see what AMD has been doing in their recent research, trying to figure how to make an API to allow infinite amount of GPUs in the same calculation in a way 100% transparent to the developer). But making more chips is not improving Moore's Law. The only thing that can be done now, is invent something else, silicon transistors are done for, you can't improve them much anymore, you can only change the tech (use something else other than silicon transistors) or find novel ways to use current silicon tech (better architectures, multi-chip systems, better code, etc...)
- ChuckMcM 10y agoI believe you are correct as well and they mention Moore's Law being broken in the article[1]. Silicon at least is pretty much done for. And if their cost estimate of over a quarter billion to do an SOC in 10/7nm is accurate you won't see very many interesting "side" projects on that node, those will all live on 28nm at $30M/project. But the more interesting effect for me has been that Moore's law has slowed down but the exponential growth it had given computers allowed them to speed past even our more amazing ideas. We haven't reached Jim Gray's "smoking hairy golfballs"[2] yet but we also don't upgrade our machines nearly as often. When I bought a new laptop, I bought it for its stylus experience, before that I bought a new lap top for its retina display, and two years before that was the last laptop I had purchased because the one before it wasn't powerful enough to do the stuff I needed to do (most e-cad, m-cad, and code development) So how does the world change? Some software places might consider writing software that doesn't change for change sake. Every year my m-cad vendor wants me to upgrade to the latest version and every year its the same story, tweak here, bug fix there but no new features. Support for new things the OS has imposed sure, but not real features. This has been great for Linux folks, where the same computer has been fine for 5 - 6 years now. They can look forward to actually seeing a computer fail due to old age rather than forced obsolescence. It will be harder to maintain a distro that runs on a decade's worth of hardware changes. And that latter is the killer. So computers aren't changing but as I mentioned before the I/O around them is, better screens, better peripherals, different ways to do storage. Since that is the only way to force upgrades these days, I expect to see a lot more of that. [1] From the article -- “Because Moore’s Law has broken down and you no longer get gains in all areas at the same time by going to the next node, each foundry customer will have a different strategy, depending on which parameter is most important,” according to a source at one large customer, who asked not to be named. [2] http://research.microsoft.com/en-us/um/people/gray/papers/SuperServers(4T_computers).doc http://research.microsoft.com/en-us/um/people/gray/papers/Su...
- WalterSear 10y ago> So how does the world change? Some software places might consider writing software that doesn't change for change sake. Inconsequential feature creep doesn't happen for changes sake, it happens because people want to keep making money.
- AnthonyMouse 10y agoThe interesting thing is going to be the potential for "free as in speech" hardware. Before the problem was that hardware was vertically integrated. If you wanted a state of the art processor you had to use a design from a company with a state of the art fab because nobody else had the resources and inclination to update their design for every new process node. If we get to the point that TSMC has the same technology as Intel and IBM and it never changes then some hardware hackers will eventually publish something like a 250MHz processor that uses 10 watts on that process, which will be "good enough" for some embedded devices to justify a fairly large production run. Then you have a community and people make incremental design improvements for the same reasons Google and others do for Linux and in a few years the free hardware design is above 2GHz and below one watt.
- bhouston 10y agoIsn't this was raspberry pi is?
- azernik 10y agoRaspberry Pi does not use open source hardware. The processor core (ARM) is proprietary. The GPU (VideoCore IV) is proprietary hardware, and even includes proprietary software in the form of microcode. And so on and so forth. Open source hardware refers to the silicon itself using open source designs.
- kyzyl 10y agoIndeed, Broadcom doesn't even allow you to buy their proprietary SoC (at least, last I checked), so you can't make a knock off RPi board, or integrate the SoC and peripherals into a custom application board. You need to use an RPi directly or get some other Cortex-A53 chip with a comparable architecture.
- dietrichepp 10y agoOpen source hardware refers to both the system level design and the IC level design. Credit where it's due, Raspberry PI is open hardware on the system level. You are right that it is not open on the IC level.
- Joeri 10y agoPerformance per dollar may still rise, when existing processes are made cheaper. But, I think for software it's clear that parallel processing is the way forward, and it impacts developers who need to upgrade their skillset, and language and tool makers, since just offering threads and locks and leaving the problem of scaling to the developer just won't cut it. I've been doing a project that's a combination of java play, with its NIO and actor model approach to parallellism, and apache spark, with the rdd approach. Either solution lets you scale horizontally without having to manage locks and threads yourself and I like both approaches, but you can tell it's still early days. These approaches need to mature, standardize, and then percolate throughout all languages and frameworks, but eventually they will and we will be writing parallel code by default.
- mabbo 10y ago> you will need deeper knowledge to produce competitive software Alternative theory: there will continue to be bad programmers, but there will also be good money in compilers that can deal with it and turn crap into optimized goodness. Midas compilers. I also suspect a few new language concepts (like Rusts ownership model) will need to be invented as well, to enforce certain optimizations with minimal cognitive load on the developer.
- pstrateman 10y ago> Alternative theory: there will continue to be bad programmers, but there will also be good money in compilers that can deal with it and turn crap into optimized goodness. Midas compilers. No amount of compiler optimization is going to fix algorithmic failures.
- mabbo 10y agoDepends on what limits you place on the definition of 'compiler'. Optimizing via better algorithmic choices is a semi-deterministic process performed by a human. Why can't a computer do it too? Code is just your way of telling the computer your intentions. Once it can understand those deeply, well, it can choose a better way to achieve those intentions.
- chipsy 10y agoThis has already happened with SQL databases. Performance tuning a database can be messy because sometimes you have to outsmart the query optimizer. But in the average case it is doing the Right Thing without you having to think about what engineering has gone into it. Demand for new data models is insatiable and for each one, a software ecosystem can develop around a similar degree of automation, tuned towards the specific domain. It's a very, very black-boxed future.
- BuckRogers 10y agoThat's an idea I've been thinking about. But I have a few responses that have been bouncing around my head on that topic. - Do we need much faster hardware for most tasks people are actually trying to accomplish? I don't think software is necessarily becoming more complex. It could be simplified it's just rushed out the door. I think complexity has plateaued. A common run of the mill usecase of application-layer software, a CRM, isn't limited by CPython (and definitely not by PyPy) today and there's no reason why it would start tomorrow. - Something new will come along for hardware. So it actually is inevitable it moves forward. This isn't anywhere near the end. It may stratify hardware. If you truly need more performance, it may be very expensive hardware. The rest of us will rely on servers running on 7nm chips for ages. In connection to this point, the machine I'm typing this on is from 2009. A Q9450, it's still more CPU processing power than I need. I think that says a lot. The only reason I want to upgrade is for less power draw because that means less heat produced. If I needed more power for video, 3D rendering or compilation I'd use networked processing which would annihilate any local big iron I could put up in my basement. - More development platforms will dump everything that isn't LLVM based. Significant gains could be had if say, Python was reimplemented on top of LLVM. - For cases where the everyman company needs more power, they won't go for the chips made out of brain tissue or diamonds. They'll use services like AWS to gleam the power needed which will have the more expensive hardware on-top or massive swaths of 7nm CPUs to utilize. - Chips will increasingly be built for specific tasks. Dropbox will keep having custom designs built by Intel for their specific workload. The general-use CPU will become less popular in the server room but still there for the small to midsize companies to lean on. So while there's some individual points there, to add the always beloved car analogy. I've downgraded my car from a 325HP model 10 years ago to a 145HP model that I've been using since. Both got the job done within their environment and I suspect at worst, chips will simply become a commodity closer to modern day cars. The advance won't be more HP or better brakes, those are mostly maxed out in capacity. The paradigm shift is where the advancement will be (electrics for cars). But it's been settled for a while that either way, I really don't need over 150HP for what I'm doing.
- nickpsecurity 10y agoThe future is what was started with the old mainframes: general purpose CPU's plus I/O and algorithm acceleration. Possibly onboard FPGA logic. See Cavium Octeon III's w/ their accelerators, the Zynq line which Intel/Altera will likely do for Xeons, AMD's Semi-Custom business that took off, little GPU's in all the SOC's, and so on. Good news is many accelerators work well at old 90nm and 45nm nodes based on my reading of academic papers. Even startups or FOSS projects can still get plenty of mileage out of the cheaper nodes. The Core Duo 2 I'm typing this on... still running ever bloated web well... was taped out on 65nm.
- eslaught 10y agoWe'll see a lot more co-design of hardware and software. So far, outside of major trends (e.g. multi-core CPUs, GPUs), authors of different abstraction layers (programming languages, compilers, OSes, etc.) have worked towards improvements independent of other areas. I suspect that much of the improvement over the next 50 years will come clever tricks that require collaboration across more than one area. Consider a simple example: CPUs have had caches basically forever. Caches are the epitome of independent development, because they require modest performance improvement with no effort. (Advanced users and compilers can of course put in more effort to get more improvement, but the maximum improvement is limited because CPU vendors have been reticent to allowing direct user control over the cache.) What if these caches were instead scratch pads? Frankly, this sounds like painful way to program, especially in traditional languages, because now everything will have to be explicitly moved into the scratch pad. Maybe high-performance users will benefit, but the vast majority will not. But we can reinvent the language as well. Let's propose a different programming model: tasks (blobs of code) with explicit data usage declarations. The rule is that a task only runs when its data is available. Thus the processor can copy data into the scratchpad asynchronously, and only run the task when all the data is there. Suddenly, there are no more cache misses! We just had to give ourselves permission to modify the programming model too. Well, actually this is not a hypothetical programming model. I've described Legion, a programming system from Stanford [1]. A software-only implementation of Legion was able to scale to 1000s of nodes on a distributed system [2], so we know the basic approach works. Even better, the Legion folks described a type system which allows you to hide the gory details behind an easy-to-use apparently-sequential programming language [3, 4]. So far, these results have focused on software only. What would it look like if we were able to change the hardware as well? To answer your original question: I think this will require more expertise (and more diverse expertise) on the part of the system designers, but if we do it right, we can still design a system which is easy for everyone else to use. That's where I think the biggest wins will be in the next 50 years. (Disclaimer: I work on Regent, the Legion programming language) [1]: http://legion.stanford.edu/ http://legion.stanford.edu/ [2]: http://legion.stanford.edu/pdfs/legion-fields.pdf http://legion.stanford.edu/pdfs/legion-fields.pdf [3]: http://legion.stanford.edu/pdfs/oopsla2013.pdf http://legion.stanford.edu/pdfs/oopsla2013.pdf [4]: http://legion.stanford.edu/pdfs/regent2015.pdf http://legion.stanford.edu/pdfs/regent2015.pdf
- visarga 10y ago> Is this going to increase the barrier of entry for developers? Is the developer pool going to shrink? I don't think we are going to see that. Most use cases are not performance constrained (ex: a simple app or website). What you're talking about applies to cutting edge graphics, machine learning, OS and compiler design and a few other computationally intensive domains. Our computers are going to be at least as fast as those of today, so they will be able to run even the sloppy software of today with no problem other than (maybe) excessive power usage. I think we are going to see an even greater shift towards asynchronous and parallel programming and design of specialized hardware for speed and low power. Also, we're going to have a much more complete AI toolbox than today, containing ready made image, video, audio, text, dialogue and behavior modules. For example, there is no need to reinvent the wheel when we already have a neural net that can distinguish tens of thousands of objects. Once it's trained in one place, it can be easily copied and run everywhere else, like an app.
- coroutines 10y agoI'm actually of the opinion that when we can't scale smaller we will then scale horizontally/laterally. More transistors, larger chips. We have bought so much physical space going smaller and smaller - and I think a lot of people will happily pay for a thicker iPhone if it's not more room allocated for a larger battery. Eventually - when that becomes ridiculous - we will write better software. More likely we'll buy an extra couple years after the end of Moore's Law and Intel will make some unexpected breakthroughs to go smaller again. Color me cynical?
- randyrand 10y ago1 word. Heat.
- astrodust 10y agoIntel had to work their ass off to get them out of the ditch they dug for themselves when pursuing insanely high clock speeds in the Pentium 4 era. This heat problem can be solved if they make it a priority. Until now they've been able to get away with ignoring it as new nodes have kept them competitive. If that changes, which it is, a new approach is required.
- Zardoz84 10y agoAnother words to add : yield/cost
- whazor 10y ago7nm is not the end of Moore's law. The whole reason why there are problems now is because they are switching from paradigm. ASML is the largest supplier of photolithography systems and has been upgraded from 32 nm to the next 10 nm. However, as the new EUV machines are being put into production. It does not make financial sense to still make the 10 nm chips. As buying the new machines and infrastructure is a huge investment, you can understand that some companies are focussing on the existing 10 nm machines (maybe focus on lower end of the market). The problems with EUV are mainly starting problems with using different technology, IBM has already made 7nm chips and ASML has 5nm and 3nm in their roadmap[1]. [1] http://arstechnica.com/gadgets/2015/07/ibm-unveils-industrys-first-7nm-chip-moving-beyond-silicon/ http://arstechnica.com/gadgets/2015/07/ibm-unveils-industrys... [2] http://www.computerbase.de/bildstrecke/61547/2/ http://www.computerbase.de/bildstrecke/61547/2/
- ozmbie 10y agoHonest question: what's in the cards for after 2022? That's only 8 years away. How can the trend continue for another 50 years?