Live data from Hacker News

Why has CPU frequency ceased to grow? (2014)

software.intel.com

261–270 of 301 posts

Re: Why has CPU frequency ceased to grow? (2014)

#261

Earlier quoted context omitted.

https://golang.org/ In case you dont know, Golang goroutines are a marvel of parallelism. They are coroutines which are dispatched on a few OS threads. So you can use 100% of a multi-cores CPU and yet, spawn, say, 10K of those light threads without worrying about context switches PLUS have them all run concurrently. I've found that golang is one of those rare language, like Lisp, that actually change the way you thin…

How is that an example an improvement over c++? C++ has had pragmatic omp parallel for for two decades

OMP is only good for CPU bound code. You try to do IO inside OMP parallel section, and you’ll put the whole OS thread to sleep. The OS kernel will likely reschedule some other thread on that hardware thread, but that rescheduling is an expensive process.

Goroutines and .net tasks allow a nice mix of CPU bound and IO bound code. While a goroutine/task is waiting for IO or something else to complete (timer in this example), the runtime will immediately use the hardware thread for some other task, without OS involved.

Re: Why has CPU frequency ceased to grow? (2014)

#262

Earlier quoted context omitted.

> If there ever were a return to exponential scaling, we would very soon run into the Launder limit. No we wouldn't. We're around ~10,000X off and would run into thermal danger zones long before.

BUT....The Launder limit is over optimistic because unless your computer runs at absolute zero you need to keep redundant copies of each bit for error correction. Transistors are implicitly error correcting in the sense that each bit is represented by a current of a few thousand electrons. Factoring in the redundancy requirement we are likely only off by somewhere between 100x and 1000x. If there were ever a return t…

That's my point though, the bottleneck is not going to be Landauer's Limit.

Re: Why has CPU frequency ceased to grow? (2014)

#263

Earlier quoted context omitted.

I don't think anyone uses U/LVT transistors in low geometries, the leakage would be a nightmare .

I know a lot of people using LVT transistors in 28 and 16/14nm processes, including relatively low power (mobile and embedded) designs. I personally have used LVT variant SRAM blocks for both our 28nm and 16nm designs, and ULVT cells manually placed for critical path for Neo's FPU for our 28nm chip.

I should've rephrased: I don't know of anyone* who uses ULVTs exclusively, to answer the parent of using ULVTs to increase speed.

* Okay, I know of some people, but their design is different.

Re: Why has CPU frequency ceased to grow? (2014)

#264

Earlier quoted context omitted.

I don't think anyone uses U/LVT transistors in low geometries, the leakage would be a nightmare .

I'm not surprised, though I don't have a good sense of what the exact numbers are.

Leakage diff @ 125 degrees celsius is about one order of magnitude.

Re: Why has CPU frequency ceased to grow? (2014)

#265

Earlier quoted context omitted.

Got my master's in it, before ending up in sensors then robotics instead. And a continued interest, I guess. Here are some free relevant courses. You might have to go back and take the pre-reqs. https://ocw.mit.edu/courses/electrical-engineering-and-compu... https://ocw.mit.edu/courses/electrical-engineering-and-compu...

How does one get into robotics? I have not looked much but none of my local schools seem to have "robotics". I tinker with electronics and make some remote controlled robots for fun (internet controlled, live video with multi user input, sort of crowd controlled). I am now trying to self teach myself about kalman filters and control theory and want to build more autonomous robots. But any info on getting into robotic…

There are other ways to get into any field besides studying it in school, but if you are going to go to school anyway and want to study something directly relevant to robotics, how about a mechatronics or a controls engineering program?

Re: Why has CPU frequency ceased to grow? (2014)

#266
post #14

Until we have another material that could replace silicon. Not sure if we will see this happen in the next ten to twenty years.

The 60 mV/dec limit applies to all materials, not just silicon. Beating it will require a fundamentally different type of operation. Agree that changes in materials will require massive investment and learning.

There are transistor designs that can subvert the subthreshold swing limit, see NC-FETs and TFETs.

Re: Why has CPU frequency ceased to grow? (2014)

#267
post #37

Earlier quoted context omitted.

https://golang.org/ In case you dont know, Golang goroutines are a marvel of parallelism. They are coroutines which are dispatched on a few OS threads. So you can use 100% of a multi-cores CPU and yet, spawn, say, 10K of those light threads without worrying about context switches PLUS have them all run concurrently. I've found that golang is one of those rare language, like Lisp, that actually change the way you thin…

Your example will not run in parallel. The go runtime will schedule your goroutines concurrently , but they will be run by a single OS thread, and consequently on a single CPU core. Once you execute truly on multiple CPU cores (by increasing GOMAXPROCS), you'll be having the same kind of race conditions in Go as in any other imperative language (inb4 Rust Evangelism Strike Force saying "except Rust").

Except Rust!

Re: Why has CPU frequency ceased to grow? (2014)

#268
post #13
post #8

I took a class that went over this in depth like 3-4 years ago. Basically the message was that serial performance is saturating, and the only way to get speed improvements in the future is going to be by exploiting parallelism. However, most programmers, and programming languages, remain stuck in a serial-by-default paradigm. I'm surprised that there hasn't emerged a "parallel-by-default C++" kind of language + hardw…

A few attempts have already been done, the issue is with developer adoption, not lack of trying. One of the best examples was StarLisp for the Connection Machine.

starlisp required that you rephrased your problem to be large vector, with support for turning off logical cpus, very much like programming a modern gpu. if your problem could be recast that way it was pretty nice. however the generalized scatter/gather was so expensive, it had to be used very sparingly. you had to use the grey coded nearest neighbor hypercube network as much as possible.

the really* cool language from Hillis and Steele was cmlisp, but I don't know how far they got, they never released anything.

Re: Why has CPU frequency ceased to grow? (2014)

#269
post #187

Earlier quoted context omitted.

> That's a huge simplification not pertaining to the fundamental nature of the brain. I disagree. Conscious thinking is a crucial process that's inherently single-threaded, even though it runs on highly parallel hardware (the billions of neurons). However, I must admit that my point doesn't necessarily contradict pjc's point, and I don't really agree with digi_owl's claim that parallelism is a "wild goose chase".

> I disagree. Conscious thinking is a crucial process that's inherently single-threaded, even though it runs on highly parallel hardware (the billions of neurons). I don't even know what to make of that. What do you mean by "single-threaded" if at the same time you recognize that it "runs on highly parallel hardware"? If you actually mean that our consciousness emerges from a purely sequential process that happens to…

> If you actually mean that our consciousness [...]

I'm not talking about consciousness (as in qualia or subjective experience), but about conscious thinking as in train of thought or intentionally thinking about something. For me, this process itself feels very sequential.

Re: Why has CPU frequency ceased to grow? (2014)

#270
post #209

Earlier quoted context omitted.

But it would be much better if a single language + hardware system emerged, rather than a multitude of mutually incompatible hardware systems and languages. With the current fragmented and sometimes proprietary forest of programming platforms, an application needs to be quite specialized to warrant investment in GPU compute outside the original niche of graphics acceleration. There are other giant problems too, after…

> But it would be much better if a single language + hardware system emerged There will, but it takes time. The world of scalar hardware in the 1970's was no less fragmented. Honestly most of the incompatibilities in the SIMD world at this point are bugs and not fundamental problems. The vector world has settled on a broad architecture at this point for most things.

Maybe. I feel is's at least equally likely that app dev perceived ROI on GPGPU will get worse due to relative slowdown in GPU advances and increasing parallel programming productivity on CPUs, and an attractive GPGPU platform won't emerge before it's irrelevant.
Post reply on HN