Sacrificing Accuracy For Speed and Efficiency In Processors
Skudd writes "Modern computing has always been reliant on accuracy and correct answers. Now, a professor at Rice University in Houston posits that some future applications could be revolutionized by 'probabilistic computing.' Quoting: 'This afternoon, Krishna Palem, speaking at a computer science meeting in San Francisco, will announce results of the first real-world test of his probabilistic computer chip: The chip, which thrives on random errors, ran seven times faster than today's best technology while using just 1/30th the electricity. ... The high density of transistors on existing chips also leads to a lot of background "noise." To compensate, engineers increase the voltage applied to computer circuits to overpower the noise and ensure precise calculations. Palem began wondering how much a slight reduction in the quality of calculations might improve speed and save energy. He soon realized that some information was more valuable than other information. For example, in calculating a bank balance of $13,000.81, getting the "13" correct is much more important than the "81." Producing an answer of $13,000.57 is much closer to being correct than $57,000.81. While Palem's technology may not have a future in calculating missions to Mars, it probably has one in such applications as streaming music and video on mobile devices, he said.'
And $81,000.31 is a much more correct answer!
Q: Why didn't Intel call the Pentium the 586?
A: Because they added 486 and 100 on the first Pentium and got 585.999983605.
innit?
(founded 95,000,000 yrs ago, very space opera)
Accuracy with financial calculations is extremely important. Hasn't this guy ever watched Superman 3?
http://twitter.com/onion2k
So what you're saying is that it might make all my MP3s sound like they are AutoTuned? But the battery will last 30 times longer?
I guess the question is can Cher sue over this technology?
Didn't Intel already implement this technology in their Pentium 2 FPUs? Didn't seem very desirable to me...
i scrfcd accrc 4 spd a lng tm ago
What if I do the same thing, and I do get different results?
TOP TEN SLOGANS FOR THIS NEW PROCESSOR:
9.9999973251 - It's a FLAW, Dammit, not a Bug
8.9999163362 - It's the new math
7.9999414610 - Nearly 300 Correct Opcodes
6.9999831538 - "You Don't Need to Know What's Inside" (tm)
5.9999835137 - Redefining the PC -- and Mathematics As Well
4.9999999021 - We Fixed It, Really
3.9998245917 - Division Considered Harmful
2.9991523619 - Why Do You Think They Call It *Floating* Point?
1.9999103517 - We're Looking for a Few Good Flaws
0.9999999998 - "The Errata Inside" (tm)
like financial things, you compare the end product with the end product of the same calculation run either through the chip again or another chip (or increasingly likely another core).
Still would be faster too.
Isn't that the point of using a DSP? So you can use a slower CPU to run the firmware and the DSP do that grunt work of decoding, thus letting you save power with the low voltage CPU?
My question is, if it's just as well to use a DSP, why not just use a damned DSP?
Dearest depositor,
Bank is using new probalistic computers, and might be having errors. Da, you will see you are having no money now. Please to be calling bank.
If you read the chapter about the history about the IEEE FP standard in Microprocessors : a quantitative approach, then you will see that in the past accuracy was already sacrificed for speed in supercomputers.
What happens when you add up millions of these inaccurate accounts and end up gaining or losing millions of dollars?
can't this be used in gfx cards, i mean with anti-aliasing and high resolutions it doesn't really matter so much if 1/2 a pixel is #ffffff or #f8f4f0 , hell you can probably even get a pixel entirely wrong for one frame and nobody will care (as long as it doesn't happen too often).
IranAir Flight 655 never forget!
If you're about to join the upcoming avalanche of smartass comments, try reading the UDP-Lite RFC first. For some applications (notably real-time voice and video), timeliness and efficiency are more important than accuracy.
If this means my music player or phone get more battery life, I'm all for it.
Random algorithms are used all the time. In RSA for example, random primes must be generated. This is done with an algorithm that probably gives the right answer, which is good enough. The chance that it would fail is so tiny as to not matter.
NEWS FLASH: Binary consists of 1 and 0. Either the answer is right, or it isn't. "probablistic computing" is another way of saying "sloppy engineering". There is no random, only Zuul!
#fuckbeta #iamslashdot #dicemustdie
When I was first studying programming, back when we had to use magnets to write 1's and 0's (ok, punch cards), we heard about the unnamed bank, somewhere in the sixties or early seventies, where a programmer had coded so that fractions of a penny were rounded down, always, and the difference showed up in an account he'd set up. He made many tens of thousands of dollars (and back then, that was real money) before he was caught. Now with orders of magnitude more transactions, there is no way any company would use this kind of probability.
And if you want to argue this, I suggest you go talk to the bean counters where you work.
mark
I have spent the last 9 months coding up a dynamic scalable UI for the nokia tablets.
I have had to make huge compromises to accuracy to obtain the desired performance.
I had the choice of using the full featured (but slow) widget sets and graphical primatives which existed already, or find a way to make it work as I expected it to.
The results have left people breathless :)
take a look here: http://www.youtube.com/watch?v=iMXp0Dg_UaY
liqbase
I'd like to see executives at CBS explain how nipples showed ON TOP of a superbowl performer's outfit.
Talk about a wardrobe malfunction.
I can see the defense now:
Your honor: We ran probabilistic tests with out processors, and while we couldn't really duplicate the problem, we were able to show a penis during one test run. We'd really like to show it to you, but Ms. Jackson has stated that she would quote "Sue us into the ground" unquote.
Isn't that essentially what JPEG, MPEG and every other lossy codec or transform does?
Learning HOW to think is more important than learning WHAT to think.
I could definitely foresee this being used in game systems, especially for graphics.
As long as it mostly looks right, that's all that really matters.
// file: mice.h
#include "frickin_lasers.h"
So, what, future computers may come with a big sticker :
WARNING : Should not be used in life-critical calculations.
On the other hand, if the errors are really rare and random, and he can make chips 7 times faster at 1/30th the power drain, then you could array 3 such chips at 7 times the speed and 1/10 the power usage, and do your computations by majority vote.
Bits are bits. There's no guarantee that a "low power" chip will only mess up the low-order bits of a number.
What is this guy smokin'?
Wow... soon, I will be able to comprehend music and video at 7x the standard playing speed! Wonderful!
I'm sure my bank would love to argue they at least got the 13 right as they skim a penny of every transaction. I'm sure this the most awesome thing since sliced bread, but can we please avoid trying too argue this from the point of peoples bank accounts when it introduces random error.
They can not be used for ANY result that is later used by anything else -- after all, data based on bad data yields bad results.
Next thing you know, some offshore manufacturer will use the "imprecise" (cheaper) chips instead of the "accurate" ones, and simple things we depend on everyday will fail in wonky ways.
A bit-flip on a microwave will make a 30-second timer not expire at 0, and keep going at 99:99 and burn the food.
A bit-flip on a home heating circuit will make 70F appear to be a target heat of 6F and never turn on.
A bit-flip on an MP3 player would have it skip from 65 seconds into the song to 134 second into the song.
These are all results if just ONE BIT were to flip JUST ONCE. The processor described would UNPREDICTABLY and RANDOMLY do worse than actually flip one bit.
What's next -- they'll put three processors in each device and when two of them agree they'll go for it? "Voting Processing" is bs.
E
That's actually what Ponzi and his descendents tried to do. It was just little imperfections with 0s and 1s: a little accuracy sacrificed for the quantity of clients. You can't blame them, it's the progress damn it!
This reminds me of the introduction to Samuel R. Delany's The Motion of Light in Water, where he talks about his admittedly faulty memory colliding with a biographer's researched facts. He concludes a long explanation with "...the wrong sentence still feels to me righter than the right one."
No, this technology isn't appropriate for financial transactions. But anywhere that randomness could open the door to unexpected results that shed new light on something, I think this could be pretty exciting.
Don't forget the probability is curve. You can design it so most of the time the lost accuracy will be where you don't care about it (the cents). But if a million people are banking, then probability says some of them will have significant errors (in the thousands column).
This is not good for
a) firing a missile
b) driving a car
c) designing a bridge or building
d) my bank balance
General computing.
...is gaming applications.
Programmers spend a lot of time coming up with algorithms that simulate randomness for AI or cloud generation or landscapes or whatever... if the processor was just wonky to begin with it'd make certain things a lot more natural looking.
It's interesting that AI in games is always touted as being "ultra-realistic", but always ends up being insanely easy to trip up. Having something "close enough" would add just enough realism/randomness to situations to perhaps make games and environment more dynamic.
I wouldn't want these things processing my bank balance, though, unless it rounded up.
hookers and grits.
So basically he's advocating fuzzy logic, which was big in AI research in the 80's?
"I bless every day that I continue to live, for every day is pure profit."
For example, in calculating a bank balance of $13,000.81, deliberately risking getting the "13" incorrect is fraud that risks $13,000 in damages and $1,000,000 in statutory penalties, and risking getting the "81" incorrect is fraud that only risks $0.81 in damages and $1,000,000 in statutory penalties. Surely saving a couple watt-microseconds is worth that!
...it would definitely make some games more fun. Imagine that at the end of the game, you meet the big boss - but instead of his usual self (object 13023), he looks like the one at 13024, a steel door.
Anyone who used this for money would (and should) be skinned alive.
It's the wrong thing to target.
If it's not exactly accurate, but instead centers around averages, (how well does it converge towards the REAL answer?) then I could see uses for it, but still in parallell with normal procs for a rough "checksum"...
CGI and various modelings where you just need to pour power at it for example.
Maybe make some kind of "accelerator" board with it to be used for certain apps.
(Still pissed about not having a reasonably priced cell board like that).
all we need is a fresh bunch of hardware bugs in our computing society, and just when we got to killing some of them from our software.
I guess the question is can Cher sue over this technology?
Only if lawmakers pass the Cher Patent Term Extension Act.
Repeating the process is not going to improve the results.
Suppose you repeat your calculation 3 times. How will you know that the result of comparing the three results with one another is correct?
What if the only answer you can obtain is "A equals B with a probability of 0.9998"? Recursively repeat this comparison and then compare the results? :)
The answer 42 now makes perfect sense.
No information in TFA whatsoever, only a rather bad example.
Probabilistic algorithms are very useful in computer science, and introducing uncertainly at the hardware level might be very interesting for some applications. But how did they implemented this? How do they save power? How are they faster than normal processors?
Bah. I hate non articles like this.
assignment != equality != identity
Maybe we could have a selective accuracy, where programmers can set their needs via registers or direct it to different CPU cores ... just keep using (say, in C) short, int, long, long long (no, AV codecs should not require floating point, but is you wish, there are floats, doubles, long doubles, etc.).
Of course proper implementation of some AV decoder on a modern processor will use available SIMD instructions (MMX and friends) where programmer can easily trade off accuracy (in byte-sized chunks) for speed.
Paul B.
I mean a float isn't an exact number. (Actually they have that concept in the hard sciences as well called significant figures. To give an analogy that's based on a joke if a museum guard started working in a science museum 15 years ago and there was a fossil there that was 80 million years old when he started the fossil is not 80,000,015 years old.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
... they would need to use a crowd of these processors and some kind of "wisdom of crowds" algorithm to figure out which of the output values is good.
So, in rough figures, if 30 processors is enough to get a good reliable answer from the 'crowd' of procesors, and the overhead of the "wisdom of crowds" algorithm is less than 14%, then maybe we have a system that uses the same power and is about 6x as fast, but no power savings.
If a less good answer is acceptible, then maybe only a few processors are necessary, and there is a net power savings. If it takes more than a crowd of 30 to make a completely reliable answer, then it costs power, but we still get a faster system.
It could be useful for certain applications, if carefully applied. In addition to the media playback and gaming apps already mentioned, it could be good in robotics, where speed amd low power count for a lot, and the feedback loops do a lot of successive approximation anyway.
Yeah, cause no one will care if you try to log into godtube and instead get horse-on-girl porn
Or, because the suffix is unimportant, I get whitehouse.com instead of whitehouse.gov
Cause you all know I must have a processor 7 times faster than what is in an iPhone or blackberry to watch video streaming over 3g on a 2 inch screen
The lower power consumption might be a plus, though
I don't know if the Professor or the reporter wrote the example, but they must inhabit some alternate bizarro world.
I know that if my bank account was supposed to be $13,000.81 but my bank came up with $13,000.57 instead, I'd be massively upset.
Moral: Always pick a reasonable analogy to describe your new idea, otherwise you'll get thrown in with all the other crackpots with idiot ideas.
For simulation, Monte Carlo and such statistical sampling this would be perfect. There is already random error - sampling error - so adding a lesser source of error - computational error - while reducing the first would make sense if the computations can be sped up.
All processors have errors and systematics. Just perform complicated calculation in two computers and the results won't be identical, although statistically very similar.
However, there is no word in the article about how faulty the "new" processor is. He says that it would consume 1/30th of power and be 7 times faster. Let's go for probabilistic computing! Put 30 processors and gain 210 times in speed, make the calculations in each processor and make statistics.
It doesn't seem to me a bad approach.
Suppose you repeat your calculation 3 times...
If you get three different answers, then you just take the average.
You could even throw in a few extra circuits to throw out wildly anomalous values.
In fact, you could change your computer circuitry from ADD(X, Y) to something like ADD(X, Y, SD), where SD is your [hypothesized] standard deviation, and any cluster of values which appear to be generating an unacceptable standard deviation would get tossed.
This article doesn't in any way explain this concept. Seems like it may potentially have merit, but no detail is given as to the implementation. The IEEE floating point representations already trade off accuracy for speed/efficiency. So, surely that isn't what is being claimed.
The article implies that noise in some bits is more significant than in others and that this leads to increased energy expenditure, but doesn't explain how this is leveraged.
Does the proposed processor perhaps ensure high precision for high-order bits, and less precision for low-order bits in multiplications and additions, say? That leaves a lot of open questions for other kinds of instructions.
Obviously, that approach wouldn't work for the vast majority of existing control systems in software, which require binary answers, but it might be compatible with a looser logic system like fuzzy logic. That requires supporting infrastructure that isn't mentioned, however.
It's possible the errors are rare or correctable, as has been developed in quantum computing, but this point isn't developed either.
It's also possible, as in one earlier comment I read that this is some form of variable-precision, but that would need some explaining as well.
The legions of Ninnle Linux users can tell you that, with Ninnle Linux, you can have your cake and eat it too. Speed, accuracy, flexibility and security all in one package. Join the Ninnle Revolution today!
like financial things, you compare the end product with the end product of the same calculation run either through the chip again or another chip (or increasingly likely another core).
There's nothing saying the probabilities are independent of each other. It's possible that identical calculations will result in the same wrong answer multiple times, instead of a range of wrong answers.
Why use a very complex system to make digital computing behave like analog computing?? It would be better just to have part of the chip or a co-processor run using analog signals. With analog, you can probably increase the clock speed and increase the noise level rather than getting intermittent total failures.
But, given that all of the analog devices are going digital, there are probably not many useful applications.
while i agree with you about the audible difference between lossy and lossless formats on a portable music player, the palatable difference between tap water, well water, and spring water (from the source, not bottled supposed-spring water) is huge.
i work in designated wilderness areas, and there is nothing like the taste of water that you can see coming out of the ground. even from spring to spring the taste varies greatly.
the best water in the world comes from the spring at tom taylor cabin, in the marble mountain wilderness, klamath national forest.
the united states is a nation of laws; badly written and randomly enforced -- frank zappa
With the OS X Finder, they rationalized that polling wasted cpu cycles so they avoided it at the cost of displaying incorrect information about directory contents when changes were made in the background.
The morons didn't realize that getting inaccurate information 1% of the time made the Finder unreliable 100% of the time.
nt
I assume this is a joke referring to pentium bugs, but actually, I think instruction-level implementations WOULD be (and is) the desirable place for this. Essentially we're just talking about hardware RNGs and fuzzy calculations. As I understand it, this is widely available already. The problem with doing this CPU-wide is that, as others have pointed out, we DO need accuracy most of the time. Processors are all about executing algorithms. We need algorithms to be predictable. Some algorithms are lossy, yes, but the algorithm itself is predictable. The best example (I know of) is probably genetic algorithms, where all of the "lifeforms" are largely random and most can be WAY off the desired outcome, but the testing system MUST be accurate. So essentially what you need is a clearly lossless execution system, with only a few instructions using randomness. Which is what we have now, including hardware-assisted randomness in some cases. Aside from that, the only lossy testing I can see a use for is things like not checking the least significant bits of a real number when the most significant bits are clearly wrong. That's essentially a lossy test, but it's also just a well-known optimisation technique.
Q:How do you call the Intel Pentium FDIV instruction? A:A good random number generator!
41.9
It looks like you got sucked into the bad example land. Later on in the article it mentions that it's intended for stuff where accuracy isn't paramount, but where it's not really necessary. Multimedia applications over space/bank calculations.
I mean, there's 1.764 Million pixels in my screen that I'm typing my post on at the moment. Does it really introduce much error if I round it to 1.8M? I'm also running at 60Hz. Do you think that I'd really notice if there's a .01% chance that instead of getting white(255) I get white(254)? That'd be an average of 176 pixels a refresh, assuming an all-white screen. Thing is, those pixels wouldn't be the same every time. Then again, logically each pixel would tend towards red/blue/yellow depending on the error. But only slightly. In a HD movie, are you really going to notice?
I don't read AC A human right
Sounds like just another toy.
We could couple this with everyone's favorite toy programming language 'java'.
java floating point was never IEEE correct anyway, so it would be a perfect match.
I don't see why people programming in a toy programming language should need expensive modern processors. It's FREE anyway, so why not use an inexpensive, inaccurate chip.
We could literally give computers based on this chip away, and include a little java interpreter. It would let kids enjoy the joy of programming, without having to worry about the 'hard stuff' since java would take care of it.
This guy just found out what has been known for a long time : some calculation and processing support approximation better than others (remember the difference between using simple precision, double or quadruple ?), and you want to have your error on the lowest significant digit. Gee. So what now ? Implement a FPU with single-precision, double and quadruple , to lower the energy cost ?
It's somewhere in the vicinity of 9000!
As long as little Johnny feels good about himself it's okay if he thinks 2 + 2 = 5. In the real world he'll have computers and calculators to depend on for math anyway.
-National Education Association Handbook
Failure to follow this advice may result in non-deterministic behavior.
For some years ago Slashdot had a news article about this http://www.beyond3d.com/content/articles/8/
I haven't read the article. However, the idea of this sort of processing technology finding its way into general purpose computers makes my skin crawl. Isn't there already enough uncertainty in computing? We already have spurious hardware malfunctions and uneasily reproduced software glitches to contend with. It's hard enough when troubleshooting issues to discriminate between the existing, overwhelmingly unintentional sources of computing errors without having to consider the possibility of intentionally sloppy chips.
A number of people have voiced concern about using sloppy chips in the context of banking and finance. At least in those contexts you're dealing with data that's not obfuscated in any way--corporate financial statements aside. Consider what would happen if you attempted to compress or simply encode data with a sloppy processor. If you used any existing lossy algorithm the results would be worse than you'd expect, but still potentially within the realm of acceptability. If you used any existing lossless algorithm, the results would be useless. By including trustworthy error correction metadata you could perhaps overcome issue of data unreliability, but you'd have to perform additional calculations to correct the data, thus eating into the efficiency gain achieved by using a sloppy processor. The end result? Greater uncertainty of data correctness, greater complexity of design to overcome uncertainty, and greater difficulty debugging reported issues.
So is basic estimating, which helps you to come up with and verify an accurate answer sooner. That, and standard optimisation techniques based on it, are all this seems to be suggesting. I'm sure the professor isn't trying to claim a big innovation here. This is probably some rookie reporter out looking for a big story, and failing to realise that big stories take actual research, donkey work, and guts.
I'm not able to find Dr. Palem's original paper from the "computer science meeting in San Francisco," but if, as I surmise, he's advocating a new probabilistically-based microprocessor, the question needs to be asked: If we're willing to consider new architectures (and new ways to program them), is a probabilistic one the best solution to the power consumption and performance problems?
One alternative that should be compared to Palem's would be to do the same thing he's advocating -- reduce the precision -- in a more traditional way: explicity reduce the size of the data path. Quite a few applications could get by with shorter-than-32-bit integers. If not 16, maybe 24? For floating point calculations, many GPUs already support a 16-bit "half" or "s10e5" format (IEEE 754 2008) that's just fine for multimedia. There's also a 24-bit format.
There is a difference between an appoximation and the way the article want to have errors possible.
The approximation used in quake 3 will give the same results everytime. It wont be the _exact_ result, but it will be reproducable.
The same way things are done in the CPUs, anyway. They just run the newton-raphson loop a few times more to get a guranteed minimum accurace.
But that doesnt mean its always the same (in the whitepapers of cpu manufacturer you can find really funky graphs, for example for the error of FSIN (X) for x[0...pi/4].
With the approch from the article, the same calculation may return different results. That a nightmare in terms of error estimation and propagation, except in some very limit cases....
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
The "Wisdom of Crowds" brought us religion. If microprocessors pick it up, we might end up with Our Lady of SkyNet.
Have gnu, will travel.
In portable media applications of this, you'd be literally hearing background noise from the processor rather than just from the lossy compression algorithm and the reproduction circuitry (notoriously big sources of noise).
If they are talking about imprecision on average of parts per million then you'd never hear it. Even 1 to 10000 is still within the noise floor of your average ipod.
The order of magnitude increase in computational performance could allow for improved compression algorithms with less destortion. The net result is this kind of thing has potential to vastly improve audio/video and battery life.
After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
... but God turns up unexpectedly.
So how would this affect AI research? Is the occasional fried synapse what separates a "living" mind from that of a biological computer?
"Common sense will be the death of us all"
Seriously, people have been talking about "fuzzy" processing for decades and it always fails for the same reason. It is not repeatable and it can not be verified.
So, of what use is a processor for home or office that does not compute accurately. Music should sound the same each time you play the same "image.". Graphic images should look the same every time you view them. Checkbooks should balance, and don't use this device on turbo tax.
How does one distinquish, during development, from a "bug" in the software being developed and just fuzziness?
So, yes, it is fun to get computers to "guess," but you do need to understand where the guesses come from, and be able to repeat them.
The same ALU that computes your PCM audio also computes addresses and other info. You can't be "somewhat correct" in your address computation. And having redundant circuitry so your PCM data can be quickly [and inaccurately] generated is retarded.
This might make more sense in dedicated units like GPUs where it's almost always outputting pixel data and rarely doing house keeping like addresses or manipulating data structures [like BSP trees, etc].
Wouldn't it need to be 2 others as in 'minority report'?
Great! Now we finally have an architecture on which to build a probability drive!!! The next generation space shuttle will be able to get to any random place in or out of the universe instantly.
I imagine if both cores come up with the same result that the odds are high its a correct result (not very likely both runs will come up with the very same wrong answer). If one or the other is wrong then you toss the result and re-request until you get an agreement between the two cores.
Naturally this only works if the 'error rate' isn't ridiculously high like 50% of all things passed through it. If its more like 1% of everything passed through it comes up in error and you double up all your calculations (using cores that use 1/30th the electricity) you might still come out on top in terms of energy usage (assuming you were using 2 cores to do your math in the first place).
09F911029D74E35BD84156C5635688C0
+2 Troll is Slashdot's way of saying groupthink is confused
This guy has just lost forever the financial industry as potential customers.
I wonder if there is some efficient way of putting in three or more chips, running all calculations repeated in parallel, and apply majority-rule to the result. Even with that overhead, you could end up with something that is still many times faster and more energy efficient than a conventional chip, without sacrificing reliability.
I see this like a sudo type thing. Default to classical behavior, and on demand you can engage "boost mode". Thing is, it should be Per Task and then you can expect people to get lazy and boost things that shouldn't, like the finance calcs. But if that can all be worked out, it's interesting.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Isn't that what Diebold has been doing for years?
No, just kidding...
This is _so_ good news for artificial intelligence and robotics folks. So I totally disagree on that sentence about mars rovers..
World is not an accurate place, so slight drop in computational accuracy does not matter when speaking about adaptive systems.
He's invented analog?
Nihon-go de amari yokunai hanashimasu. However, I believe that the Japanese expression was pronounced closer to "Fudgy-dah!" in ads.
I live in the Washington, DC, area. One of the big perks of living here is the Library of Congress. You have to undergo a security clearance to get permission to be there, but once you get that photo id, hoo boy, there sure is a lot of information there.
I'm a computer programmer (currently working in Web development, as my handle here suggests). Long, long ago, I researched fuzzy logic at the Library of Congress from the original studies that proposed it. (I think that the original papers were from an Air Force study.) It did NOT revolve around lookup tables. It was more fundamental than that.
Fuzzy logic assigns a floating point number to data that represents how confident you are that it's true. In the early days, the number varied between 1.0 (absolute certainty) to 0.0 (not a clue, wild guess), or even -1.0 (absolutely sure that it's not true). The exact range used is unimportant except that it's well-known. Of course, almost all of these numbers are between whatever limiting numbers you set, representing shades of gray. That's where the term fuzzy came from.
We like to believe that knowledge is a deterministic process, but to believe that, we have to ignore our fundamental assumptions, which force us to admit that we don't really know for sure. Fuzzy logic seeks to improve decision-making by acknowledging that fuzziness and quantifying it.
We all know that we have to multiply percentages to derive percentages based on multiple criteria. If roughly 1 in 2 people are male and exactly 1 in 2 have characteristics above the median, we derive that roughly 1 in 4 of all people are males with intelligence above the median for males. But how confident are we in knowing that?
Say, for a given population, the 1-in-2 statistic for males is about 97% likely to be true. The 1-in-2 statistic for being above the median is 100% likely to be true, because that's the definition of median. So when you combine the 2 criteria, the 1-in-4 statistic still has a 97% likelihood of being true. In other words, fuzzy logic is a completely independent, parallel computation based on the confidence factors that travel with the data.
The fact that confidence factors travel with the data is an important part of fuzzy logic. You never throw the confidence factors away and say "That's it. We got the inference we wanted. It's over 95%. That's close enough, so we're going to treat it as true." If you do that, you've gained no wisdom whatsoever from tracking confidence factors. You have to remember that there's still a 5% chance that you're wrong. So all inferences also have their own confidence factors, which are also not thrown away.
To take an Air Force example, in deference to my vague recollection that they sponsored the original study, satellite surveillance reveals that a bunch of bombers are heading north in Russia. Is it just an exercise, or first evidence of an attack? You have to factor in a lot of unknowns. What's their air speed? How likely are they to be carrying a payload at that speed? Even if they appear to be carrying a payload, how likely is it to be a full dress rehearsal, with ballast for realistic plane handling? The list goes on and on. As part of standard readiness, the confidence factors of these questions have been calculated and recalculated on an ongoing basis. NORAD sees the scenario and looks it up in a scenarios book. As a result, they decide not to change the DEFCON, but they read ahead to see what to do if the bombers leave Russian air space. Crossing the border has a different confidence factor that goes into the overall calculations of whether or not it's likely to be just an exercise.
So no, fuzzy logic is not simply using lookup tables. Lookup tables are just a convenient way to organize inferences based on changing conditions in reality.
Returning to Washington, DC, area fo
That's how we got the BSOD. :P
Hmm, I wonder. Most sloshdatters may never have heard of fuzzy logic. It was a fad for bad boolean algebra that went nowhere over many years.
Because little errors in hex calculations are ok 0x000FA1 is the same as 0x000FAB RIGHT?!?!
And how would it compute checksums? Just about everything uses checksums to work correctly now.
Transistors are naively analog. It's ironic that we use them for digital logic locked to a frequency cycle.
After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
The problem is we would need an architecture that distinguishes data operations which can be probabilistic from control operations which must be exact because they do things like calculate offsets into data structures or jump targets.
This would probably only work if you could reliably set up a dataflow architecture and flow fuzzy data through it. Our contemporary CPU and software methods perform huge numbers of exact integer operations which link together into flow-control effects to address instructions and non-contiguous data. Jumping to roughly the correct instruction or accessing roughly the right memory location in the heap is not going to give you roughly the right program behavior.
You probably remember when some scientists noticed it was generating some math error in their applications so they contacted Intel about it.
Intel's response was, "Well, these are early processors in design and shouldn't affect 99% of the population". Of course the scientists created an awareness of this issue and public generated a stink about it even though 99% of them may never run into the bug that affects their applications.
So now 15+ years later this pops up saying it is OK to have these errors in non-critical applications for sake of speed. People are going to wonder about these chips in their products when something isn't working right and may cry afoul.
You already use this technology. In fact I remember encountering this for the first time when writing an AppleScript program in sixth grade to help a room full of students add up Giant Eagle receipts. I was very embarrassed to have no explanation for someone suddenly getting $54.2300000001 on the screen (looking back, our computer teacher probably should have been able to offer us an explanation.)
If you are listening to music on a portable media device, it's safe to say that you aren't going to be able to hear the difference between the lossy format and the lossless format.
It's like drinking from a well. Connoisseurs may claim to be able to taste the difference between it and tap water, but that's just the extra tang from all the bull shit.
If you float in the well, does that make you a witch?
Please don't confuse "lossy" media compression with whatever Krishna Palem's technology is going to do. First of all, you can definitely hear the differences if you own a nice pair of cans and a pocket-sized amplifier.
If the technology gets off the ground, expect to see encoders (or even entirely new codec formats) designed to take into account the nuances of specific probablistic computing machines. Personally I will be a little shocked if the notion that a probablistic general-purpose computational device can outperform any hardware specifically designed for decoding multimedia. So that's where you'll probably see the technology going: hardware media decoders (and maybe encoders, too, for real time applications like portable gaming.) Some computational scientific research takes advantage of probablistic analyses, too, so maybe we'll see a niche for these machines in the supercomputer market. Perhaps there is even a home for this technology in Hollywood CGI (raytracing is expensive, and there are already people using probabilistic algorithms to do it faster.)
But honestly, can anyone think of a potential application for the average PC of this technology that isn't media codecs? No, because there isn't one. When is the last time a new computer even batted an eyelash at the CPU power it takes to decode audio and/or video? I've been rolling with a 1GHz processor for years and I still can't make out the bumps in my CPU usage meter caused by my media player. If you can: you're using the wrong codec / decoder / media-player.
With regards to music, they're not talking about skips and pops, they're talking about extremely slight modulations in pitch or, in the case of video, a very slight difference in color.
With respect, you have no idea what they're talking about. I can promise you that if I ran an MP3 decoder on a PC emulator that introduced noise into the lower bits of every computation, before it horribly crashed the noise it put out could not be uniformly characterized by any "slight modulation" or "slight difference." You're probably asking yourself why this matters because surely that is not how anyone proposes to use this technology. Hopefully you're now realizing what this implies: if you'd want to take advantage of this technology, you would have to write your code to specifically tell the processor which operations and registers can deal with a little bit of garbage. Great. I can't wait to code for that.</sarcasm>
If I could get 30x the battery life out of my laptop by accepting imperfections in the video it displays and in the audio it plays (and I know it wouldn't, but this is a hypothetical), then I'd gladly go for it.
You can't. Sorry.
In the "new economy" what's the point of accuracy anyway. Spread the wealth! LOL
The author of the linked article has completely misunderstood what this research is about. It is NOT about tolerating errors in the output of computations; that would be completely infeasible. It's about tolerating errors in intermediate values, by using redundancy. For example, three adders made out of unreliable transistors plus a control unit to have them vote, may be smaller and use less power than one adder made out of reliable transistors. However, you can't make everything out of unreliable transistors. In particular, the control unit, and the parts that compare results to each other, have to work reliably and can't be duplicated. That is what is meant by "some information was more valuable than other information", not the low-order bits of a numeric computation.
As we move to more parallel computing something like this might be useful. Kind of like how the Minority Report (book not movie) would throw out results which were out of step with the majority we could have chips with cores running the same code in parallel and then throw out the bad results.
Of course it wouldn't be right all the time. But don't blame it! You're the one who wanted it 7x faster.
For example, if I have to reference data structure by pointers, then off by one means I reference the wrong data. If the wrong data is expected to contain a pointer, then it will be totally wrong and I get segmentation fault. If I write a for loop for (i = 0; i lt; n; i++) {...}, and the least significant bit is ignored, then the for loop never makes progress (and never terminates). If i is only successfully incremented 50% of the time, then the for loop runs twice as much as it needs to run. Suppose you are copying files with region indexed by i, you may copy the same region multiple times. How is that faster and more efficient?
Sacrificing accuracy is so far only applicable for floating point computation, and in many cases this sacrifice has already been made. Some hardware lacks IEEE 754 rounding, and I don't think most people would notice that. Most people just use a double or even long double, which seem to provide satisfactory numeric accuracy for most purposes, and don't bother with error analysis of their code.
Last point, if you're going to write a banking system, please under no circumstance use floating point to represent balances. Use an arbitrary precision integer library such as GMP, which works similar to representing each number as a string with arbitrary length but is implemented in a more compact binary format.
I once had a signature.
I was thinking... what if we applied this to memory instead? Sacrificing reliability for a speed/cost/power? It would be disastrous for executable code of course, but maybe worthwhile for things like music or video. Then again, maybe we're already heading in the general direction, looking at MLC vs. SLC flash memory.
It's bad enough that we've effectively lost the top octave (10kHz and up) to widespread lossy compressed audio, the bottom three octaves (160Hz and down) to widespread use of computer speakers and earbuds, now you're going to introduce random noise?! Speaking from a music production perspective it's already got us badly handcuffed, not to mention every idiot with Garageband thinks they don't need to hire a pro to make their platinum album.
What's really scary is that the auditory capabilities of the entire market can actually degrade from widespread exposure to poor audio, to the point that people literally cannot appreciate good sound. Your ears are not microphones, they are more like keyboards with over 20,000 keys that give the brain information for it to generate the sound you hear. That's right, you are hearing your brain's interpretation of the waves, not the waves themselves.
As the standard of audio quality degrades, so will the brain's ability to appreciate music. There are important subtle cues that are critical to music sounding lifelike instead of synthesized that are already suffering at the hands of lossy compression, if further artifacts are introduced, engineers will probably have to add a more natural noise to the recordings* to mask the artificial noise.
Here is a great article that should shed some light on how music affects the brain. In short, music is most effective by creating and then satisfying anticipation. There's no question random artificial noise severely handicaps that process. I gave up my LP's long ago, I don't want those snaps crackles and pops back!
* We actually already do introduce natural noise to cover artificial noise and have been for decades. It's called bias for analog tape and dithering for digital formats. However, that is a necessary evil for the sake of the recording equipment, and much less significant than the noise random errors would create, even if only to the lower-order data. The noise would have to be constantly as loud as the loudest possible random artifact.
War as we knew it was obsolete
Nothing could beat complete denial
- Emily Haines
Yes, it's great if it's just a random single element in a random single pixel that fluctuates just slightly. But that's not where any inaccuracy is going to be from such a chip as all -that- stuff comes from the screen drivers which are already blazingly fast. Any gains would have to come from the decoder chip and that's where you're going to run into trouble with bits changing - even LSBs.
Open a JPG file, change a random bit somewhere, re-display. If you're lucky, you see virtually no change. If you're unlucky, the entire image -after- the point where you changed the bit will have changed colors (subtly or radically), shifted, become a complete mess or - if you're really unlucky - your JPEG decoder will tell you that the resulting output mismatches the spec for the jpeg (e.g. the headers tell the thing it should be an 800x600 image but while decoding the data it concludes the data ends up being 800x608; whoops.)
( for the curious - yes, that's how some of the more obscure 'jpeg repair' apps work, finding the likely start of corruption and fiddling with bits until you get an acceptable result that you can then retouch if needed ).
And that's just JPG. Now try that with any moden -video- codec where encoding isn't just spatially based, but also temporally.
No, you don't want to have random bits changing in lossy compressed streams. It's a world of hurt.
.... of artificial intelligence.
Nice rant, but I've already mentioned that this sort of thing:
In all probability this would never make it into usage as a CPU, more likely a dedicated section of silicon performing the function of a GPU/FPU/DSP. Actual control instructions would be high-integrity, just the low significance digits would get the 'cheap but a bit more unreliable' methods."
Exactly. This wouldn't be some wierd add-on card or even in your CPU; at least not until long after it's a standard part of Nvidia and ATI's lineup.
There are areas where you need the standard high-reliability silicon, and there are areas where you don't. instruction processes need the good stuff. Though I'll note that even THAT silicon has an error rate; it's just very low, and I imagine much of the extra power is from fail-safes to catch even those.
I don't read AC A human right
You work for the government
learn the design of human brain.....
do u forget things?
hahahahaha.........how much electricity u need?
Here is a better, brief summary of the work. It shows a standard, deterministic processor with the probabilistic processor as a co-processor.
This is great for real time control systems. Your system always has random error anyway, you are continually trying to compensate for this random error, and you are trying to do it really fast.
You obviously missed the whole point.
Show me another interface that is that fluid and snappy doing those same things.
Then again, clueless comments are normal here on /. :)
Would make the GUI more lifelike and perty in my opinion by adding random mistakes... like the spots in marble and could be used by programs to generate random events, like faces or the objects in games.
Why not have this super-fast inaccurate CPU run at full speed to prepare ahead of time results or branch targets. Those results could be used by some slower but accurate CPUs to perform computations in parallel. and verify the results. If something goes wrong and some of the calculations performed by the fast CPU prove to be wrong, just use the results from the slow CPU and scrap the results that used the false data as input.
This way the whole system can run in more-or-less the speed of the fast CPU but have accurate results.
I read a paper on this idea some years ago.
Windows has been thriving on random errors for the better part of 20 years!
Are all errors guaranteed to be in the least significant bit? What happens if it is in the most significant bit? What happens when you are doing AND/OR operations? I don't think any errors on such things would be necessarily good. "Gee, I can never seem to know what whether or not that option will be turned on in the program since the processor has intentional random errors."
What am I missing here?
You say what you say, but for the life of me, I have never felt concerned with the supposed quality of audio. I just can't tell the difference between 128kbps and 256kbps, MP3 from FLAC, 22khz from 44khz.
I also can not tell the difference between HD and upscaled SD when in motion.
It just feels so ridiculous, I swear people are only fooling themselves in this high-def nonsense. I can't be sure of that, maybe there really is something I'm missing I'm unaware of.
"Most people, I think, don't even know what a rootkit is, so why should they care about it?"
No. JPEG, MPEG and every other lossy codec sacrifice accuracy for size, not speed. Compressing and decompressing data in that way is slower, not faster.
We already have accuracy issues with the processors available today. I've worked with quant teams who will insist on only having machines with Intel processors in their compute farm, because they get a different result from the same code running on AMD machines. As the business has signed off the Intel numbers, Intel it is.
In order to stream auto or videao meaningfully, you need to play/display the contents. This has energy consumption high enough that energy savings in the computations will not matter at all before long. In addition, such a chip will allways be very special purpose and most IT experts will not be able to programm in. I call this a dead end.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Maybe having the ballpark at $13k is good enough. Maybe having the Red in a pixel at 240 is good enough compared to 255. But how is the chip going to tell that making a jump to 0x389519B0 - some offset requires full precision, compared to, I dunno subtracting this number because someone punched it into the calculator program.
And at the end, CPUs calculate a lot of these integers for indexed jumps, and branches very frequently. How's the hardware going to be able to tell when it can skimp and when it cannot?
When it can't, it would be trying to run linux on known bad ram. Things will crash, and people won't be happy. If you need software to hint, then you might be able to code a compiler to do it for you, but even then, the people who knows which addition need full precision and which one doesn't is the application designer. The compiler won't read your minds.
If they say, they'd split this into 2 sets of arithmetic instruction, then they're not going to get the power efficiency they were looking for anyways.
If you really don't need more than 3 significant digits, slide rules use surprisingly low power :-)
Most computers these days have separate processors for graphics and a main CPU, and fairly often the GPU is a lot more powerful than the CPU. Perhaps the place to use the fast low-power less-accurate chip is in the graphics (at least in all the shaders and pixel-bashers, though not necessarily in the geometry calculations)?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
They have invented this technology long before, end even implemented it in some Intel Pentium processors :)
God forbid the day when my computer decides how accurate my calculations need to be !
http://en.wikipedia.org/wiki/Pentium_FDIV_bug
The original article is basically describing analog computing, where the most significant bits/digits are always correct, but the noise floor can/will eat the least significant parts, right?
I optimized the world's fastest Ogg Vorbis decoder back in 2007, and verified the results of my SIMD code by comparing the 32-bit floating point value of each resulting sample with that from the reference decoder:
Even though many parts of this process works very well with just 16-20 bits, and on something like a GameBoy 12-bit is perfectly fine, there are some very crucial steps in the algorithm that needs to be bit perfect:
The most important one is where the frequency envelope is approximated by a set of Bresenham-style line segments, and every single bit in those calculations _must_ be identical to the reference bits, otherwise the final audio will diverge rapidly.
What I'm trying to say is that probabilistic computing only works for some specific algorithms, and that it can be very hard to determine which is which up front.
Terje
"almost all programming can be viewed as an exercise in caching"
Feel right it does not.
Born is Darth Vader!
By doing noisy calculations twice, or more, or slower, the errors can be decreased a lot.
This is the same effect as in reading of DNA, where it is read several times to remove errors.
I guess that for low power processors of the future, there must be methods to adjust these trade offs between accuracy, speed, and energy use.
I can think of several ways of doing this by traditional programming.
Kim0
...virtual analog synthesis. A soft-synth designed around one of these cpus would probably sound more like a real Moog, Prophet V, etc. than any VST currently available. Virutal analogue filters and effects would also benefit.
The "noise" on transistors is the ghost into the machine. And someday they will wake up
Religion: The greatest weapon of mass destruction of all time
Here, I found it: "Ten emerging technologies 2008"
I also thought about "gaming" as the best example for "speed over precision". But, if I think about it, I want precision in games as well.
If I rund a modern game @1680*1050 in 32 bit colours, each texture of any surface consists of several other maps over each other, as the texture, then light-textures, shadows, normal- or bump-map, put all sorts of shader-effects on top of that and maybe some ability to watch at things that are far away... or very emotional closeups of faces (modern games have very detailed faces)... if put all that together, I think I want those calculations to be precise.
Let's assume a chain of calculations and there's a 1% variance each step of the calculation... put three, four calculations for the "correct" colour-value of a pixel and I might end up with green instead of blue.
No clue if my thoughts are correct but I'd say "games" do not really belong to the type of application where I would want "speed over everything".
Just imagine you are sent out on the first quest to kill rats in the cellar and suddenly you face the dragons because the computer... err... ;)
Verification in this case means probabilistically proving that the processor will make a certain number of errors, given certain conditions. Since you can make the error rate as low as you want (it could be lower than actual quantum events, for example) this isn't as bad as you might think. Randomised approaches can make proofs simpler than deterministic versioins.
Hi! I am fr*m the futurE and i ha3e one of these probabilistic comp--uters, and i must say they are great, murble murble murble. Low power but fast ÐÐÐÐ and we now use them almost everyw]here.
Of course Excel had to g0, but since then businessmen have been maki\g decisions based on knowledge and understanding rather than nu>mbers so the whole world() economy has picked up.
The only downside wa"s last years election where a dog was made president due a far out probability calculation:. Still, this means our current president is not only more l1ked than any previous pr+++esident he also is better looking, and so far has started no wars!!! His last resolution 'Woof' went ^down very well in both the upper and lower hou#se.
PS: Sorry for the text errors... these things happen, but you get used to &$it.
PPS: Heart of Gold drive currently under development!
Verification in this case means probabilistically proving that the processor will make a certain number of errors, given certain conditions. Since you can make the error rate as low as you want (it could be lower than actual quantum events, for example) this isn't as bad as you might think.
Randomised approaches can make proofs simpler than deterministic versioins.
That sounds like typical "fuzzy" drivel. You can't establish any probabilistic base line for errors without an accurate proof.
This is sort of the difference between quantum physics and old-school physics for which Einstein's famous quote "God does not roll dice" originates.
I would argue that quantum physics as we currently know it will become more accurate as we continue to understand the realm which we have discovered. It is so different that our ape brain is a bit at a loss for a conceptual backdrop.
Similarly, abandoning "accuracy" in computing is a bad idea. A "good" engineer or scientist can estimate a number of things easily to lightly test viability of an idea, but must eventually prove the concept.
A computer and/or system that does not accurately process information and can, in fact, return non-identical answers for identical problems can not be trusted. Most computing involves many calculations, be it animation, banking, science, or what ever. Introducing little inaccuracies at each stage will multiply into larger inaccuracies.
Why not use a majority voting system with such a processor?
If this processor goes 7 times faster than a regular one, and you perform every computation 3 times and take the most common result, you now have a processor twice as fast, and just as accurate, as current ones.
I think this is why 'amiga' was one of the keywords. It reminds me of little-endianness. The amiga did stuff with little-endian I think.
Little-endian means that when number represented in binary, little endian means the left-most bits represent the big numbers, and the rightmost bit means '1' in decimal.
The computer reads memory from right to left, so when you run little endian, the computer only needs to read in the data it needs..continually reading in data to get more precision.
I think this concept is well-established in software but this is the first Ive heard of precision being used in hardware.
Whats the harm in yelling 'Computer, end program!'? You could be living in Star Trek! Go on.. give it a try.
Your comment doesn't even make enough sense to be wrong.
The Amiga used the 68000 processor, which was big-endian, as were almost all processor designs, ever. Most computers today are little-endian, because that's what Intel (following DEC's lead) standardized on.
Computers don't read memory "left to right" or "right to left". They operate in parallel.
I don't think anyone would want a chip that can calculate extremely fast that a nuclear reactor has a probability of failing in the next year between 50 and 99%.
I hadn't known there were so many idiots in the world until I started using the Internet -Stanislaw Lem
There is nothing "fuzzy" about this line of reasoning at all. Take a look at the book by Motowani and Raghavan ("Randomized Algorithms"). There you will see various kinds of randomisation: for example, you can have a randomised approach which is always deterministic in the answer, but may take a variable amount of time. (Randomised versions of Quicksort do this). Or, you can have another type which may make incorrect answers, at a given error rate. Probabilistic counting is of this form.
Now, you can turn a program which makes errors into one which does not make errors by repeatedly running it. In the case of probabilistic counting, you might do the whole thing many times and report the average. So, you can trust it: you just need to know what the probability of error is.
There is no room for any error at all in a financial transaction. Financial calculations must always be exactly precise. You can't just reduce the error unless you are reducing it all the way to zero. And not a statistical zero, but an exact "NO ERROR" precision.
The cake is a pie
I have heard that for a ship's chronometer the recommendation is to carry either one or three.
With one clock, you just use the time it displays and hope it is accurate. With two clocks, if they disagree the only thing you know is that you don't know what time it is and you don't even have a chance of knowing the correct time. With three clocks you can be fairly confident that only one at a time will be off.
Using bank balances as an example of where accuracy isn't required? Seriously? I want whatever drugs the person who wrote that article summary is taking because it must be really good stuff. I'm a certified accountant and believe me there would be hell to pay for even a one penny error in financial calculations. I can't think of a worse example to illustrate inaccuracy being "helpful".
BTW Financial calculations are almost never done using floating point. They use integers on both sides of the decimal point to whatever precision needed precisely because using floating point will inevitably result in an error. It's a pain but it's absolutely necessary because you don't dare have an error of even $0.00001 cents.
Would be cool for graphics.
For say, netbooks with a lossy GPU - consume less power, I could imagine some floating point mis-calcs will lead to some texture banding, some shifts in polys but well worth it to render a huge scene and have some ignorable artifacts.
Imagine an Iphone rendering quake 4, could be cool.
I'm sorry you have such standards, as not even Real Life (TM) can live up to them.
I suppose you never go to a live performance of any kind, as those newfangled HPUs (Human Processing Units) have a margin of error much higher than 1%. I'd guess also that you never listen to music through the horribly inaccurate medium of air, and rather have it plugged directly into your head. Further, I can only assume that you are a robot, as you would never let such a non-determinate thing as a brain process your input.
You want to know what good these processors will be? Say I'm making a game, and I want a certain type of grenade to produce a visual effect that involves hundreds of thousands of sparks flying through the air. For each spark I'll need to calculate a trajectory and pass that along the pipeline to the graphics card, which will fill in the pretty details.
Let's say on a normal processor we calculate these trajectories in three seconds, and they're all PRISTINE. Now say we send those instructions to this new processor, taking only one second, BUT we now have about a hundred sparks one millimeter from where they should be.
Maybe at this point you will pause the game, eye the grenade discerningly, and ask me about the rogue sparks, but those of us without robot brains will fail to notice.
So, yes, you do need to be able to repeat SOME calculations, but there's a lot of crap in this world that while it doesn't 'matter' it needs to be calculated.
It has begun:
"Bistromathics itself is simply a revolutinary new way of understanding the behavior of numbers. Just as Einstein observed that space was not an absolute, but depended on the observer's movement in time, so it is now realized that numbers are not absolute, but depend on the observer's movement in restaurants."
http://www.angelfire.com/nj2/once/math.html
... that the economy is now based on Monopoly money.
Now when you log on to your online banking account, you'll get a Chance card:
Bank errors are in your favor... at the moment.
...the Improbability drive to come out. Or better yet, the Restaurant Probably drive (did Adams give it a name?)...
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
So, of what use is a processor for home or office that does not compute accurately. Music should sound the same each time you play the same "image.". Graphic images should look the same every time you view them. Checkbooks should balance, and don't use this device on turbo tax.
The ear and eye are notoriously easy to fool (MP3s? JPEGs?). And no, you obviously wouldn't want to use "fuzzy" logic to calculate your TurboTax filing.
Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
I just can't tell the difference between 128kbps and 256kbps, MP3 from FLAC, 22khz from 44khz.
That's because your ears (meaning the parts of the brain that interpret sound) have not been trained to tell the difference. If you spent a few hours listening to your favorite music at my audio workstation, you would then be able to distinguish between those formats and appreciate the superior ones moreso.
I know that sounds snotty, but is Slashdot really the forum for an "ignorance is bliss" argument?
War as we knew it was obsolete
Nothing could beat complete denial
- Emily Haines
So would the car analogy be where the motor can run at a higher RPM on less gas, but the car sputters from time to time, with the possibility of the motor locking up?
Or would it mean more like, a car that goes faster, has better fuel efficiency, but your inputs (gas, brake, steering), doesn't necessarily match the outputs (accel, decel, direction change).
Going back to a PC running with a processor like this, how does an OS run if a processor doesn't repeatably come to the same answer?
Arguing with an engineer is like wrestling a pig in the mud. After a while, you realize the engineer enjoys it.
My 'audiophile' friend really did try to change my mind on the difference, and I really did give it a genuine chance. I sat, listened for a while to the different things he played for me. He swore they were different bitrates, frequencies, that there was a clear difference, but I just could not perceive it.
However, I have had my hearing checked. I can hear a full range of sound, a little better than most my age (3 years ago). I'm fully aware of every little sound that happens around me, I depend on my hearing far more than my sight when walking or riding a bike.
I'm like a damned radar, I keep my eyes closed when I'm swimming underwater and never run into anything or anyone. I'm fine in pitch black. I can even hear people talk across noisy rooms with high ceilings.
A lot of noise does frustrate me, like people talking and stuff or cars or sirens. I really do hear everything just fine, it gets really distracting.
As sure as I am that my hearing is just fine, even better than fine, I swear whatever deity you might care to imagine: I do not hear the difference between these supposed audio qualities.
"Most people, I think, don't even know what a rootkit is, so why should they care about it?"
Even if you could, would you really want to? Would you want to make it so that in order to appreciate music you need a $10k sound system, or constantly visit live performances of classical music to appreciate your range?
Personally, I can tell the difference between earbuds/computer speakers/surround sound system with proper wattage capacity and amp, but I haven't bothered to set the sound system back up for a while. Heck, I'm at the point I'd probably be better off buying a new one with HDMI inputs for my new TV. A TV that I can't really tell the difference between 1080p and 720p. I know it's better than analog, that blueray has a better picture than good old DVD(and I remember when THAT was new and crushing it's rival Divx).
How much better of a picture? 100% better? Not hardly - I'd say 10%. For 4X the pixels, I give it 10% in perception. Sad, huh?
I don't read AC A human right
http://www.eweek.com/c/a/IT-Infrastructure/IBM-Researchers-Looks-to-Bring-Brain-Power-to-Computers/
research into simulating and emulating brains would thrive near-precise computing.
or cat brain: http://blog.wired.com/defense/2008/12/fruit-fly-guy-j.html
Oh god, please don't offer vendors and programmers the choice of accuracy over speed. It's one more variable to screw up, and I can just hear the screams from users who don't understand the trade-offs. Vendor: "hey, we can get a 10x speed boost over our competitor by using the less accurate processor. We'll just put the accuracy caveat in the fine print."
Now WHY did this get a tag of Amiga? Must be the like a flash mob .. err.. flash taggers or something.
Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...