Tom's Hardware is reporting on Soft Machines, a startup that is creating a new CPU architecture to be used in custom processors and SoCs for partnered companies:
Soft Machines, a well-funded startup ($175 million to date) that came out of stealth last year, announced its "Virtual Instruction Set Computing" (VISC) architecture, which promises 2-4x higher performance/Watt compared to existing CPU designs.
Current CPU architectures scale performance by using wider architectures and out-of-order execution to improve instruction-level parallelism (ILP) and by adding additional cores to improve thread-level parallelism (TLP). These techniques are limited by Amdahl's law, however, leading to larger, more power-hungry processors. The challenges of multi-threaded programming, which is necessary to extract the full benefit of multiple CPU cores, also places limits on achieving high levels of TLP.
In order to improve performance/Watt scaling, Soft Machines is taking a different approach. Its architecture uses "virtual cores" (VC) that shift the burden of thread scheduling and synchronization from the software programmer and operating system to the hardware itself. With VISC, a single thread is not restricted to a single core like traditional multiprocessor designs. Instead, it gets broken down into smaller threadlets by the VCs and executes on multiple underlying physical cores (PC). By using the available execution units more efficiently, the VISC architecture, in theory, can maintain high performance even when using smaller, simpler physical cores, which reduces power consumption. Another advantage of this technique is that single-threaded applications can execute on multiple physical cores.
Soft Machines claimed that its virtual cores can either increase the performance/Watt by 2-4x at the same power consumption level, or they can decrease the power consumption by 4x at the same performance level relative to existing designs. Unlike ARM, which licenses its core design IP, or Intel, which manufactures its own cores and SoCs, Soft Machines will partner with other companies to create custom processors and SoCs.
(Score: 3, Insightful) by MichaelDavidCrawford on Sunday February 07 2016, @06:51PM
It's not a law, it's an observation of a common pattern.
It's not like violating the law of gravity.
Yes I Have No Bananas. [gofundme.com]
(Score: 2) by MichaelDavidCrawford on Sunday February 07 2016, @06:55PM
glibc, and most other libraries for programming languages are single threaded. It seems to me that at least some of their routines could be made multithreaded, despite the client code being single-threaded. If done for popular libraries, potentially this could speed up a lot of software without that much work.
Consider that C standard library qsort() routine. To sort a buffer, you divide the buffer in two then sort both sub-buffers. From the second level on it could be multithreaded. qsort() doesn't really _have_ to be the actual QuickSort algorithm, it just has to share certain properties.
Yes I Have No Bananas. [gofundme.com]
(Score: 3, Informative) by RamiK on Monday February 08 2016, @12:03AM
libmt: http://sourceforge.net/p/libmt/code/HEAD/tree/src/qsort_mt.c [sourceforge.net]
compiling...
(Score: 3, Informative) by TheRaven on Monday February 08 2016, @10:10AM
sudo mod me up
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @10:25PM
Unless you are proposing a time machine as a solution, optimizing a process to take negative time isn't an option. So yeah, it's a mathematical law. If a process takes 10% of your resource, you won't squeeze more than 10% reductions out of it.
Or was that a troll? Some joke vs Moore's "law"?
(Score: 2) by TheRaven on Monday February 08 2016, @10:07AM
No, it's a law in the mathematical sense (i.e. more of a law that gravity). It's not like Moore's law, which is based on observation. Amdahl's law will apply to any situation where you have a task that is partially sequential and partially parallel. The maximum speedup that you can get from parallelism is limited (by the formula expressed in the law) by the size of the sequential section.
No idea why this was moderated insightful, I can only assume that the moderators have as little clue as you about what Amdahl's law says.
sudo mod me up
(Score: 3, Informative) by maxwell demon on Monday February 08 2016, @01:25PM
A law (with the exception of legal) is an observation of a common pattern.
Also the law of gravity is an observation of a common pattern. It's just that this pattern is so common and universally observed that we are convinced beyond doubt that all future observations will also follow it.
However in some sense, the law of gravity has been violated in the past. For example, the movement of Mercury did not follow the law of gravitation, as described by Newton. Indeed, astronomers have long sought for a planet even closer to the sun, that could explain those deviations. Well, it turned out that the real reason was that the law of gravitation was wrong. Einstein (for reasons completely unrelated to Mercury) formulated a new theory of gravitation (known as theory of general relativity), and the correct prediction of Mercury's movement was the first hallmark of success for this new theory.
Now you have to decide: What is "the law of gravitation"? Newton's law of gravitation? Einstein's law of gravitation? Or simply the law "all things fall down" (which is already broken by helium balloons)?
Note that we already expect Einstein's law of gravitation to eventually break down as well, as general relativity is not compatible with quantum mechanics.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @07:04PM
All it says is that they offload parallelization onto hardware to up the usage efficiency. How? Not a hint in all that verbiage.
(Score: 2) by RamiK on Monday February 08 2016, @01:10AM
The key novelty in our work is that our instruction set exposes a very small number of models of parallelism and a few memory abstractions essential for high performance algorithm development and tuning. Together, we expect that these abstractions will effectively capture a wide range of heterogeneous hardware, which would greatly simplify major programming challenges such as algorithm design, source level portability, and performance tuning.
http://rsim.cs.illinois.edu/Pubs/12-HotPar-VAdve.pdf [illinois.edu]
They designed a a low level virtual instruction set(http://llvm.org/pubs/2003-10-01-LLVA.pdf) and hardware that allocates silicone as needed rather than spiting it into predetermined fixed sizes per core. So, an Intel Core would split the silicone into two\quad\whatever equal parts. That means that some threads will idle and waste silicone while others won't have enough.
ARM went about this problem with big.LITTLE. They split their cores for the different usages they profiled off phones and servers. It's better than Intel since even servers have lots of small processes that can be shuffled around but it's still quite wasteful.
With VISC, the problem is solved when you have an optimized, ahead-of-time, runtime. A demanding single thread will get more silicone while a low demand single thread will get less. So, more silicone both per watt and per dollar. From what I can tell they already have production ready Java and LLVM backend optimizations so Android is good to go.
Read:
http://llvm.org/pubs/2003-10-01-LLVA.pdf [llvm.org]
http://rsim.cs.illinois.edu/Pubs/12-HotPar-VAdve.pdf [illinois.edu]
compiling...
(Score: 3, Informative) by Arik on Sunday February 07 2016, @08:10PM
This is not reporting this is advertising.
If laughter is the best medicine, who are the best doctors?
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @08:55PM
Doh! That's what you get from 'enthusiast' websites. Anything more complicated than running benchmarks and assembling PCs is beyond their ability to report on critically. The kind of person who understands these sorts of topics can make a lot more money working in the field instead of just reporting on it.
(Score: 2) by takyon on Sunday February 07 2016, @09:20PM
What else are they supposed to say? It's not like they can test unreleased hardware.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @09:39PM
They could have patented whatever they are doing and tell us how they do it, instead magic "let the hardware figure out concurrency".
(Score: 2) by takyon on Sunday February 07 2016, @10:14PM
And nobody's forcing you to buy it. Considering the company is partnering with other companies to make custom chips, it will become apparent whether their technology works or not long before it reaches consumers.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @10:45PM
Yeah, turn SN into an ad blog. Nobody's forced to buy anything SN advertises.
(Score: 2) by takyon on Sunday February 07 2016, @10:57PM
It's not an advertisement.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Sunday February 07 2016, @11:15PM
If Tom's Hardware didn't get paid to run that article then Soft Machine's ad agency is expert at doing PR hits.
(Score: 2) by Subsentient on Sunday February 07 2016, @11:53PM
I have my 4 core, 1.3Ghz laptop here. Most of my applications will run in only one thread. That means, one core is utilized, out of four. It gets more pitiful the more cores you add.
Multithreaded programming is very hard to do correctly, meaning that there is often an uneven distribution on one core and not enough on the others. It would be an extremely welcome development to have threading handled by the hardware itself automatically, so people can write single-threaded code and use all available cores.
It's about goddamn time. Let's hope it's not just hype.
"It is no measure of health to be well adjusted to a profoundly sick society." -Jiddu Krishnamurti
(Score: 2) by forkazoo on Monday February 08 2016, @01:34AM
Is VISC significantly different than Code Morphing? Or have we just made another full turn on the wheel of reinvention?
(Score: 0) by Anonymous Coward on Monday February 08 2016, @03:10PM
is it significantly different from just being super-scalar? Pentium did that with its U an V thre^H^H^H^Hpipelines decades ago.
(Score: 0) by Anonymous Coward on Tuesday February 09 2016, @07:07AM
Sounds like an erectile dysfunction outfit...