19 ms·
The decline of computers as a general-purpose technology (2021)
- waterheater 3y agoThis fragmentation was predicted well over a decade ago, but we're finally seeing mass market realization of these predictions. The most relevant idea here is Koomey's Law [1], which postulates that the "number of computations per joule of energy dissipated doubled about every 1.57 years." This law is essentially a combination of Moore's Law and Dennard scaling. As transistors get smaller, Moore's Law predicts increases in the number of transistors on a chip, while Dennard scaling predicts decreasing power usage per transistor. For many years, Moore's Law really just tracked with Dennard scaling; CPU on-die areas weren't getting substantially larger (to my knowledge), but transistors were getting smaller and more efficient, so more could fit in a given area. However, Dennard scaling also says that the power density of a transistor remains constant. As transistors became smaller, more of the die became occupied by transistors, causing more heat dissipation per unit area. After exhausting cooling options (think back to the TDP of those CPUs back in the late-90s/early 2000s), Dennard scaling died in the mid-to-late 2000s because of thermal issues. However, just because heat can't be dissipated doesn't mean CPU manufacturers won't try to cram more and more transistors in a given area. As a result, a modern CPU will not use all its transistors at once because it would overheat, creating "dark silicon". Once in that paradigm, the next logical design approach was prioritizing application-specific transistor clusters, the extent of which we're now seeing. While I generally agree with the authors, the key in these circumstances is to find ways to combine the fragments and make a better whole. Perhaps we'll have a "brain board" attached to the motherboard, where sockets on the brain board allow user-specific processor cores to be installed. Not everyone needs an i9 or even an i7, and maybe not everyone needs advanced ML performance. [1] https://en.wikipedia.org/wiki/Koomey%27s_law https://en.wikipedia.org/wiki/Koomey%27s_law
- Qwertious 3y agoThe dark silicon isn't necessarily application-specific, it's also used by duplicating a particular circuit and then rotating which duplicate does the computing, so that the other areas have time to cool down a bit before they're used again.
- ZoomerCretin 3y ago> However, Dennard scaling also says that the power density of a transistor remains constant. As transistors became smaller, more of the die became occupied by transistors, causing more heat dissipation per unit area. After exhausting cooling options (think back to the TDP of those CPUs back in the late-90s/early 2000s), Dennard scaling died in the mid-to-late 2000s because of thermal issues. Dennard scaling says that power usage per transistor per clock cycle is constant; not power density. As transistors became smaller, an x% reduction in transistor area meant an x% reduction in power per transistor per clock cycle, which allowed clock cycles to increase dramatically to consume the same fixed heat dissipation budget. The breakdown was not from there being too many transistors per square millimeter, but from the breakdown of the direct relationship of transistor size to power consumption per clock cycle due to current leakage. An x% reduction in transistor area no longer causes an x% reduction in power consumption per clock cycle, meaning operating clock frequency is now fixed at your ability to dissipate heat, not your ability to shrink transistors.
- waterheater 3y agoGood point. Leakage current is the main issue these days, but that problem is only indirectly linked to power density. I've explained it your way in the past, but I saw the Wikipedia article for Dennard scaling [1] says that power density for a transistor remains constant with time, which is true given that the underlying transistor technology has constant resistive losses. My understanding is that transistors using GaN have higher power density than "traditional" transistors, which mean Dennard scaling certainly breaks down. [1] https://en.wikipedia.org/wiki/Dennard_scaling https://en.wikipedia.org/wiki/Dennard_scaling
- ethbr1 3y agoI understand this is ACM, but I would say the decline has strictly been a failure of software. Specifically, corporate IT's failure to deliver general purpose development tools usable by anyone in a company to make computers do work for them (aka programming). There's still a ton of general value that could be delivered by general purpose processors/computers. But instead, most non-programmers live in a Kafkaesque reality where the only programs they have access to don't do what they want, and so their work becomes "working around the bad program." I helped a lady on Friday at a midsized bank whose job it was to take a set of dates in an Excel file, search each one individually into an internal search tool, then Ctrl+f the result report and verify that every code listed in the original document exists in the report. For 100+ entries. Every month. In 2023. What the fuck are we doing as a society, that this lady, with a machine that could compute the above in a fraction of a second, has to spend a decent chunk of her work time doing this? Example specifically chosen because I've seen innumerable similar "internal development will never work on this, because it's too small of an impact" issues at every company. Computers should work for us. All of us. Not the other way around.
- glandium 3y agoKind of a counterpoint: I've heard countless stories (albeit, in Japan) of people doing things like "manually" doing additions of numbers they already have in a spreadsheet instead of just asking Excel to do the addition in what, two clicks, because they "can't trust the computer to do it right" which sounds like a BS rationalization to justify that they wouldn't have much of a job if the computer was doing it.
- cratermoon 3y agoPerhaps some folks here are too young to remember the Pentium FDIV bug[1], but it's not complete BS to distrust the calculations. 1 https://en.wikipedia.org/wiki/Pentium_FDIV_bug https://en.wikipedia.org/wiki/Pentium_FDIV_bug
- bee_rider 3y agoI’m sure FDIV-like bugs are absolutely eclipsed by typos and misclicks from doing things manually.
- RachelF 3y agoThe failure is primarily due to stagnation in single core speed improvements since 2003, compared to previous decades. Yes we have more cores now, and single cores have got faster, but nothing like the scale of the 1990's when raw clock speeds increased 150x. Moore's law is about the number of transistors, not the speed of the device. More cores are good, but software is hard to parallelize, despite decent efforts from the CS community. There have also been efforts to put FPGAs into general purpose CPUs. These have also not taken off. For most users, a single core CPU running at 30GHz would appear faster than 32 cores running at 2GHz.
- effie 3y ago> For most users, a single core CPU running at 30GHz would appear faster than 32 cores running at 2GHz. This is not certain except for single threaded programs not accessing main memory, for which this claim is trivial and mostly academic. It is well-known that increase of frequency of CPU by a factor of k does not always result in equal factor k for increase of performance, mainly because of memory access speed not increasing in the same way. "Appear faster" depends on instruction translation, exploitation of paralelism and memory access speed getting faster in some commensurate way, and nobody has yet built a machine doing those all those things at close to 30GHz to see how fast they are. It's possible that while very small CPU can possibly run at 30GHz, other bigger and more distant ingredients can't, e.g. main memory (heat and frequency causing too many errors to be practical). Already the present-day CPUs are too fast for the main memory they use. In intensive data processing, often CPU wastes most of the time waiting for memory. Making it wait faster won't help performance.
- williamtrask 3y agoMachine learning is a massive counter example to this trend. Specialised deep learning hardware is just supporting an even more general GPT.
- karmakaze 3y agoI largely don't blame the specialized processors, they exist to fill a need. The transition to mobile/tablet has been very much a producer-consumer relationship. In the old days, normal users would one day "View source" and dabble in HTML and making their own web pages and journey into making their own programs. There's no parallel to this on mobile today. Perhaps the next generation that grew up on Roblox and using yet to successful end-user visual development tools will. Is there a web-app like MS Access or Visual Basic today, maybe Airtable, others?
- opportune 3y agoIt's way too premature to say we are turning into fragmentation cycle regarding bespoke hardware. GPUs are still universal computers, they just use a different model with different performance characteristics (and applications, which stem from these performance characteristics and also inertia/maturity of tooling) than CPUs. ASICs and specialized processors have been a thing for a long time and their application towards some "new" things like crypto, hft, and a handful of cloud optimizations is hardly a new trend when seen in the larger context of their being used all the time for now-boring, once also-new technologies like networking hardware and embedded applications. I'd argue that the last three decades have actually had massive shifts towards more generalized and ubiquitous computing that may continue even further. First, with the introduction of PCs the computing landscape shifted away from bespoke hardware and software to more standardized plug-and-play hardware and software. With the internet, everybody got a middleware called a "web browser" that standardized UI development on a single computing model. With mobile computing, we got a more restricted model of userspace that standardized what applications could do and even how (app review, software signing) you could do it. Cloud did the same things to various extents to server software. Except for at the height of Windows' PC dominance, it's never been easier to write software usable by such a large portion of the market, and the absolute number of devices and users that applies to is probably an order of magnitude more than existed during peak-Windows. Everybody in tech knows single-core cpu performance gains are slowing down and that the remaining incremental improvements will eventually end too, so what comes next is on peoples' minds. IMO this article is jumping the gun though - it's still way too big an undertaking to use specialized computers (and I don't count GPUs as these) for all but the largest scale or most performance sensitive use cases, as it's always been.
- 8note 3y agoThe last two decades at least have moved towards a purpose built consumer device, with a general purpose server. Gpus, CPUs, and Asics, are run by vendors rather than end customers. The end customer runs a full computer, but has no rights to it because it's called a smart phone rather than a computer
- dang 3y agoDiscussed at the time (of the article): The decline of computers as a general-purpose technology - https://news.ycombinator.com/item?id=26238376 https://news.ycombinator.com/item?id=26238376 - Feb 2021 (218 comments)
- deleted 3y ago[deleted]
- seydor 3y agoditch your phone , go back to your desktop, problem solve. Mobile has been a regression in pretty much everything except corporate profits. The focus of the article is wrong. PCs for example are not getting more specialized, they are getting new capabilities with the additional specialized gpus. As others have said the problem does not lie in processors, but on the software and UI, which has been steadily dumbing down since "smart"phones have been introduced. Phones have perfectly capable general computing processors but corporate decisions limit their usage.
- pixelpoet 3y agoAmen to this, I absolutely hate what mobile phones and their attendant giant megacorps did to the internet and computing in general.
- JohnFen 3y agoI agree -- this is exactly why when my current smartphone dies, I'm going to be switching to the dumbest phone I can find and start carrying a real pocket computer along with it.
- genewitch 3y agoand a camera; and a wallet with all the cards you use? maybe the landscape of featurephones is different now, but i only knew of 1 or two (kyocera) that allowed tethering, so now you also have to figure out how to get internet onto your pocket computer - another sim, another bill. Perhaps you need a GPS device too (my car has one built in, but my wife's doesn't, for example). I was going to just post a link to a picture of my cellphone graveyard drawer; i've been saying this same sentiment for the 12 or so years i've owned a smartphone. I even bought two Nikon 1 cameras to obviate the need for a decent cellphone camera. I have a servicable netbook (eeePC), too. The most expensive cellphone i ever bought was $300. In theory, i could carry a Nintendo Switch, Nikon 1, feature phone, GPS unit, and a netbook around with me... or this absolute garbage OnePlus that i hate using enough that i only use it when necessary, like to SMS/MMS or something as silly as making or receiving a telephone call.
- blueblimp 3y agoI question the article's framing of CPUs as "universal" and GPUs as "specialized". In theory, they can both do any computation, so they differ only in their performance characteristics, and the deep learning revolution has shown that there is wide range of practical workloads that is non-viable on CPUs. The reason OpenAI runs GPT-4 on GPUs isn't that it's faster than running it on CPUs--they do it because they _can't_ practically run GPT-4 on CPUs. So what's going on is not a shift away from the universality of CPUs, but a realization that CPUs weren't as universal as we thought. It would be nice though if a single processor could achieve the best of both worlds.
- tjoff 3y ago> [...] differ only in their performance characteristics [...] ... but that is exactly why CPUs are considered "universal" and GPUs as "specialized". The whole concept of specialized hardware is to do fewer things more efficient, and in tons of applications that means the problem suddenly becomes feasible. That has always been the case. Not sure what the deep learning revolution has shown in regards to this.
- Jensson 3y agoYou can't run a GPU without a CPU, but you can run a CPU without a GPU. Could we change GPU's so they become more general purpose? Yeah, an we already have by gluing the GPU to a CPU ie integrated graphics, lots of CPUs has that. But when you do that we call it a CPU and not a GPU, so as soon as you make a GPU general purpose we start calling it a CPU.
- JohnFen 3y ago> In theory, they can both do any computation, so they differ only in their performance characteristics But surely, the exact same thing can be said when comparing any two different machines that engage in computations and can do conditional branching. GPUs can be used for any computational task that a general CPU can be used for, but a GPU is optimized so it will do certain sorts of tasks much better (and as a consequence will be worse at other kinds of tasks). CPUs are meant to be adequate (if not spectacular) at any sort of task. It seems to me characterizing GPUs as "specialized" and CPUs as "not specialized" is entirely correct.
- kaycebasques 3y ago> the economic cycle that has led to the usage of a common computing platform, underpinned by rapidly improving universal processors, is giving way to a fragmentary cycle, where economics push users toward divergent computing platforms driven by special purpose processors Where does RISC-V and all its extensions land on the GPT <-> fragmentation spectrum?
- sinuhe69 3y agoThe tittle is misleading. It should read: The Decline of CPU As a General Computing Device. But then, I guess not many people would mind it. A computer? I consider all forms of computing units today as computer: micro-controller, single board computer, CPU +/- GPU +/-Neutral Engines etc. What about the math-coprocessor in the 90s? Did they cause a decline of computer as a general computing device? Of course not.
- Madmallard 3y agoIs this because people in efforts to secure their long-standing jobs have made software more complex and less effective?
- benrutter 3y agoI don't know if there's good justification for this yet. The claim that computers are shifting from general (CPU) chips to more specialized (GPU) chips. I'm not sure classifying GPU as "specialized" is right- it's essentially a chip that can do lots of small computations, rather than big ones like the CPU does. To me, the trend looks more like a shift from centralized to distributed models of computing. Which I think is also backed up by data processing tools like spark which distribute over multiple computers. I saw a "SQL process unit" announced recently[1] which I guess really is a move towards specialized compute. I haven't heard of much uptake in it yet though, so I guess time will tell. [1] https://www.neuroblade.com/product/ https://www.neuroblade.com/product/
- deafpolygon 3y agoThe decline is due to vested interests. More specifically: to make money.
- bullen 3y agoThe problem was the smart phone. With that closed platforms became the standard. Non productive hardware is now ubiquitous, most of it can't be fixed. The open risc-v tablet is the only exit from this mess. Forget ARM and X86 empires, they will only exploit you as a consume only slave. It needs working GPU and swap-able battery though!
- piperswe 3y agoWhat difference does the ISA make in this respect?
- babypuncher 3y agoI think the theory is that an open ISA like RISC-V would promote a similar culture of openness around the software and hardware implemented with it. I'm skeptical that is how it would play out in practice though.
- bullen 3y agoVery little, broad stroke RISC ISA was nailed between 6502 and ARM-1 (1975-85), conclusion is 32-bit is enough for eternity. Same with IPv4, just add a byte for the internal mask (/24) and be done with it, long (64-bit) is way overkill... and IPv6 choose 128-bit. I say 4GB RAM per process is enough. Competition (also eternal growth) only works when you have infinite free energy. Now we are at the end of the curve, current Risc-V (64-bit) is not perfect by any means (lacks vector/SIMD), BUT it removes the real morons (lawyers and "owners") from the picture somewhat. The practical evidence is: Vision Five 2 software is going forward fast, the GPU is stalled for some reason, probably related to Imagination (PowerVR dumped by Apple and bought by the Chinese governement) being British, but who knows. Pinetab-V uses the same chip (JH7110) so it's also grid locked by the GPU drivers. TH1520 also uses Imagination GPU but a bit beefier, that one will have more trouble since the CPU is a new architecture and the JH7110 uses the same as the SiFive Unmatched. I tried to help by building my 3D MMO engine for them. I sent the profiling data, they wanted to see the OpenGL call stack and I lost hope because it works on ALL machines I have tried (PC Nvidia/Radeon, Raspberry 4 and Jetson Nano). I mean they have the game executable right there a 10MB download away? Popcorn time at the end of the world, at least I tried.
- tim333 3y agoIt's an odd use of language. I'm typing this from a macbook that seems pretty general purpose but the article seems to arguing it's not because it has both a regular CPU and some GPU/parallel stuff and the latter apparently doesn't count. But it mostly seems quite general purpose to me.
- deleted 3y ago[deleted]
- jpadkins 3y agoAnother way this article could have been written: The rise of general purpose computing on GPUs. They are equating CPUs with computers, and I don't think that is quite right.