11 ms·
Why isn’t CPU time more valuable?
- pjc50 8y agoIt's commoditised very effectively. So the cost is capital(buy computer) + operating(electricity+sysadmins) + margin(tiny).
- rcar 8y agoI think he hit the primary reason in this paragraph from the article: We might need hundreds of hours of CPU time for a simulation, then nothing while we figure out what to do next, then another hundreds hours to run a modification. Now that CPU time is so readily available vs. the mainframe era or even just the pre-cloud era, there's far less capacity-forced "figure out what to do next" time unless you've got an extremely computationally heavy problem or are very resource-constrained. As such, there's a lot less unmet demand for compute out in the world, which naturally brings cost down.
- penagwin 8y agoPart of the problem is that most entities who use CPUs have more then they need. If you want to make money with your CPU then you need to use it either to produce a good or service worth more then a few cents an hour. The issue is that everyone else also has CPUs, so whatever you do can't be trivial. At that point you're optimizing for the market of your good/service relative to it's cost, and not optimizing for CPU usage.
- floatboth 8y agoFuzzing is a great use of spare CPU time…
- UweSchmidt 8y agoWe do have an energy constraint (i.e. catastrophic global warming), and idle CPUs use less energy.
- adrianN 8y agoI tend to agree with you, but CPUs only use a percent or two of our energy and idle CPUs still use power. It seems to me that there are lower hanging fruit that we should pluck first.
- sagartewari01 8y agoOveruse reduces the lifetime of CPUs. I'm pretty sure unning a CPU at full throttle for a week will burn it out.
- penagwin 8y agoI'd like to see a source on that. With most electronics, CPUs and GPUs included, the killer is heat. As long as you have the heat under control you're fine. Some applications such as laptops can't keep the thermals undercontrol at sustained 100% CPU usage, so those are obviously at risk. The only other form of "wear" is electron migration and I HIGHLY doubt you'll kill a modern processor "in a week", even if you left it running at 95C .
- floatboth 8y agoBollocks. You can run at 100% load 24/7 for years, if it's not overvolted too much, it won't degrade in any noticeable way
- xxpor 8y agoWe do not have an energy constraint. The amount of wind energy and solar energy hitting the earth at any one time is enormous.
- steve_musk 8y agoWe have a usable energy constraint.
- ken 8y agoAlso: superoptimization. Would anyone pay for SOaaS?
- mynegation 8y agoThe article contains the answer to the question: the CPU time is not the bottleneck. The bottleneck is the time of qualified people turning real-world problems into the code and interpreting the results. And this time is expensive.
- ip26 8y agoWhich, by the way, is also why we don't have dynamically reconfigurable FPGA coprocessors like was once dreamed.
- vortico 8y agoJohn is confusing CPU time with CPU-core time. I assume he gets the $0.025/hour figure from "a1.medium", which is 1 core ("vCPU") with 2GB RAM. As a result of competition, the price of any service tends toward cost of the service. So a $2000 computer with 8 cores that lasts 4 years + $500 for power/year + $500 for support/year is $1500/year or $0.17/hour. That's $0.021/core/hour, and the difference is a small amount of profit for Amazon and a buffer for when the CPU is idle.
- magduf 8y ago>So a $2000 computer with 8 cores that lasts 4 years + $500 for power/year + $500 for support/year is $1500/year or $0.17/hour. That's $0.021/core/hour, and the difference is a small amount of profit for Amazon and a buffer for when the CPU is idle. The other factor is power. That $500 for power for a year won't be $500 if the CPU is running full-tilt all the time, it'll be much more. Modern CPUs are designed to be power-efficient when idle, and then be able to perform many computations quickly when demanded, even if this actually exceeds the hardware's ability to dissipate heat (in which case the CPU throttles itself to avoid overheating). For computers used interactively by people (i.e., laptops, desktops, but not servers), the workload tends to be extremely bursty, with the CPU doing nearly nothing most of the time waiting for the user to do something, and then suddenly having to do a lot of work quickly when demanded (e.g., rendering a bloated webpage or watching a video). In short, CPU time isn't just being "wasted"; modern CPUs are explicitly designed to be used this way.
- teraflop 8y agoWhere I live (Texas) electricity costs about $0.08/kWh, which means $500 per year will buy about 700 watts of continuous power. That's much higher than the TDP of any 8-core processor on the market. Even if you have more expensive power and account for cooling costs, it's hard to see how you could end up spending much more than $500/year to power a single machine.
- magduf 8y agoYeah, I wasn't looking into how realistic that $500 number was, I just accepted it from the OP as a given. But I think electricity tends to be more expensive in other parts of the country.
- deleted 8y ago[deleted]
- CydeWeys 8y agoI don't really understand why you'd expect CPU time to be more valuable. If anything you'd expect it to be cheaper, given how the majority of CPU time goes unused for anything useful. Many decades and untold billions in R&D went into modern computers. I wouldn't expect them to be anything but extremely cost-effective, and they are.
- ip26 8y agoOnce upon a time it was extremely valuable, see timeshare systems of old. The capital cost was so high that if it wasn't loaded pretty much all the time you were shoveling money down the drain.
- cestith 8y agoThe author of the blog entry is looking at things from a different angle. He knows the cost is low because demand is low. He's trying to figure out why demand is low. He wants to find a way to make that idle time useful time that produces value greater than the cost.
- abecedarius 8y agoYou could look at this as "CPUs are cheap, of course we can afford to leave them idle." But a more interesting angle is, "For one programmer's hourly cost, you could run 4000 CPU cores continuously. Can there really be no practical way to apply thousands of cores to boosting the programmer's productivity? What are we missing?" For instance, couldn't https://github.com/webyrd/Barliman https://github.com/webyrd/Barliman develop into something that makes computing worth spending on at that level?
- jdietrich 8y ago>Can there really be no practical way to apply thousands of cores to boosting the programmer's productivity? What are we missing? Surely that's the whole point of high-level languages?
- s3m4j 8y agoI've seen people write Java or C# like I would write plain C. Those first two are insanely high level with large standard libraries.
- omaranto 8y agoI disagre with "Those first two are insanely high level" but totally agree with the "with large standard libraries." part.
- astrodust 8y agoJava: "I've got a huge standard library!" C: "See, you're doing it wrong! I've got a really lean standard library!" Java: "Ah, so you just focus on the basics. You have a dictionary structure? That's pretty basic." C: "...no."
- blattimwind 8y agoBSDs have <sys/queue.h> and <sys/tree.h>; the former is standard on Linux as well.
- buboard 8y agoYeah but what about GPU time? It has unfortunately become an arms race in AI and everyone who doesn work for big co is essentially precluded from making research/innovations
- jdietrich 8y agoGPU time is available by the minute from AWS/GCP/etc and it's dirt cheap. If you think it's expensive, I envy your youth.
- RivieraKid 8y agoBecause cost does not equal value. This is called the consumer surplus, the difference between how much you're willing to pay for a product and the market price. For example, most people would be willing to pay more for internet access than they currently do.
- mcguire 8y agoHey! With the article about Cringely and this mentioning Condor (https://research.cs.wisc.edu/htcondor/ https://research.cs.wisc.edu/htcondor/), it's flashbacks week. It was originally designed to soak up CPU cycles on unused desktop machines, but I usually used it in dedicated clusters. I suppose the modern batch-processing hotness is Docker/Kubernetes, which are very heavy-weight for that usage.
- api 8y agoI wonder if this isn't why Moore's Law appears to be slowing down. Maybe there are still huge gains to be made but the economic drive is not there.
- magduf 8y agoIt's slowed down for several reasons: 1) We hit a brick wall with silicon clock speeds. Silicon apparently can only go 3-4GHz; after that, there's too many switching losses, too much power used, etc. 2) Because of #1, we jumped on the multi-core bandwagon. This worked OK for a while, but most tasks can only be broken up and run in parallel so much. You can't just throw 1000 cores at every problem and expect it to scale. For anything with user interaction, this is especially true, so there's no point in having more than 4-8 cores on a single-user machine. 3) For the stuff normal people do, there just isn't much demand for more speed any more. How much faster do you need MS Excel to calculate your spreadsheet, or PowerPoint to show you slides?
- berbec 8y agoI'd also argue: 4) cpu speed isn't the limiting factor many times now. Disk, memory, network, user input etc all are much more impactful honestly. Sure getting a Blender run down 10% is huge, but what is that time saved compared to how long setting up the render took?
- api 8y ago(3) is what I'm talking about though. There is not enough demand for smaller and lower power processors because at the edge where size and power matter the most there are not enough applications that can profitably use more power. Data centers are easier to scale by just adding more nodes. Power matters a lot in data centers but otherwise miniaturization is less critical and single threaded performance is less critical.
- atq2119 8y agoThe actual Moore's law is about integration of transistors. That is mostly slowing down because the physics of semiconductor manufacturing have been getting increasingly ridiculous for the last 5-10 years. Using photolithography to build features with sizes smaller than the wavelength of the laser being used has been normal for years now. That's the level of ridiculousness we're talking about here.
- pletnes 8y agoA large part is the fact that memory access is comparatively slow. Getting the data to the core is the challenge. Most processing is so fast that the operation you want to perform is latency-limited by IO issues. Some have suggested offloading compilation to other machines; this works, but efficiency depends on having large enough compilation jobs that this results in net benefit. Similar arguments apply to data analysis - moving the data is too expensive, so you move the code to the data instead.
- lasereyes136 8y agoYou could say the same about many things. My car is idle most of the time. I usually only use it for 1-2 hours a day during the week and less on the weekends. I could use Uber or Lyft instead but I don't. I could rent out my car when I am not using it but I don't. It is idle because I want to use when I want to use without coordinating with anyone. The same is true of my computer. I once worked at a Unix shop where people would routinely log into other peoples computers to do builds. It locked the machine up (this was in the 90s) and made it hard to do anything else on the computer. The whole point of a personal computer it to have all of the power there for your use when you want it.
- bbeekley 8y ago> My car is idle most of the time. I usually only use it for 1-2 hours a day during the week and less on the weekends. I could use Uber or Lyft instead but I don't. I could rent out my car when I am not using it but I don't. It is idle because I want to use when I want to use without coordinating with anyone. That's such an interesting comparison that I relate with. If availability and startup time are good enough, I'd be happy to use a shared resources for both CPU and cars.
- gnode 8y agoI think the answer is that CPU time doesn't have consistently high value to the CPU owner, and isn't a free market as CPU time is non-transferable due to security concerns. It isn't practical to buy compute power from a diverse set of CPU owners, because any of them may be malicious, and this problem only increases with scale. The only exceptions are cases where you can afford or mitigate malicious CPU owners, which doesn't lend itself to general computing.
- deleted 8y ago[deleted]
- carimura 8y agoThere's an abundance of CPU power. Access to those CPU's is one problem but essentially why two-sided marketplaces exist. They've emerged for this exact problem in other categories (as pointed out in other comments) such as AirBNB/VRBO (housing), Turo/GetAround (cars), liquidspace (offices), boatsetter (boats). I wonder if access was democratized, would demand increase? Jevon's Paradox in action?
- x43b 8y agoThis always bothered me too. Both when computers were expensive to me and now cheap. I get paid a good amount of money during the day to use a computer to compute things, display/interface with me, to communicate to humans and other computers. Then my computer is idle/sleep when I am not there. This feels inherently wrong to me. How is that I cannot come up with something useful for my computer to do when I am not there to make real contributions when I resume work? (disclaimer, engineer who programs but not a computer scientist)
- skykooler 8y agoDepends on what you do. When 3d modeling, I'll spend the day working on a project, then have it render overnight.
- jandrese 8y agoIsn't this the point of Folding@Home, SETI, etc...?
- stykepoints 8y agoI think serverless computing attempts to address this issue. You have an image that you can doing up whenever and access like a normal desktop, but when it isn't in use the resources go back into a pool that I managed by some authority. It is then the reposnsibility of the authority to load balance the resources and ideally optimize out wasted resources. This makes it cheaper for everyone.
- cimmanom 8y agoIf my computer didn't overheat and throttle the CPU any time you push it over 50% for more than 5 minutes at a time, I might buy this.
- deleted 8y ago[deleted]
- sytelus 8y agoHuman brain has equivalent of at least 30 TFLOPS of computing power [1]. To get same computing power with CPU at $6.3/TFLOPS in AWS it would cost $189/hr [2]. So renting a human as "general AI computer" is more than 27 times less expensive at the moment. Also, don't forget that humans also come with powerful high precision mobile actuators and unmatched sensor arrays. And that humans come pretrained in large array of complex skills including object recognition, text to speech etc. My question would actually be reverse of what is posed in the article: Why isn't Mechanical Turk far more lucrative business than AWS? So in conclusion, if you have $1M lying around, you more likely to find more profitable endeavor by renting humans than same amount of compute capacity in cloud. Price of GFLOPs is falling however at about 10X every 13±3 years. So possibly in 20-30 years things might be different. [1] https://aiimpacts.org/brain-performance-in-flops/ https://aiimpacts.org/brain-performance-in-flops/ [2] https://aiimpacts.org/recent-trend-in-the-cost-of-computing/ https://aiimpacts.org/recent-trend-in-the-cost-of-computing/
- expopinions 8y agoDepends on what you mean by speeds, but there's a huge confluence of reasons that processors are where they are today. If you mean the clock speed specifically, then it's largely due to the inability to manufacture smaller gate widths in silicon. The Core 2 architecture by Intel, for example, uses a 45 nanometer gate width for transistors in each core. Core 2 was part of the Penryn family. The latest family is Nehalem, and it, too, uses 45 nanometer gate widths. Core i5 and i7 belong to this family, among others. Since the gate widths didn't shrink from the Penryn family to the Nehalem family, the power consumption of a single state change in a given transistor didn't decrease. Since the heat dissipation (and, therefore, power consumption) is proportional to both the gate width and the clock speed, this new architecture couldn't change the state of the transistors any faster than the previous one. Therefore, core clock speeds remained pretty constant. Getting to 45 nm was really tough. Going to the next frontier, which will likely be 32 nm, will be even tougher. So tough, in fact, that STMicroelectronics, Freescale Semiconductor, NXP Semiconductor and Texas Instruments have all decided to stop their process research. An article in 2007 claimed that Intel, IBM and Matsushita, AMD and Renesas would be the only organizations still pursuing R&D in this area. That's a vastly reduced set of brains and dollars on the gate width problem. If your question about "speed" is more general, well, then there's another discussion around multi-core architectures that's also fascinating. The primary technical advances in Nehalem versus predecessor families are its multithreading, caching, bus and memory management schemes. If you keep each core at 3 GHz, how can you efficiently use two 3 GHz cores to get, say, 1.5 times the speed of a single core? How can you efficiently use four 3 GHz cores to get, say, 1.5 times the speed of two cores? in this respect, processor speeds have increased significantly in the last 5 years, and will continue to do so as software is written to take advantage of these new architectures. But, then again, when was the last time you really found yourself waiting for your processor? It was probably your disk, your network or your brain that was the bottleneck in the first place. :-)