Perf? Which hardware does have support for math on fixed-integers? (e.g. sqrt, inverse sqrt, ray triangle intersection accelerations, etc.)
241 karma · joined December 9, 2020
Perf? Which hardware does have support for math on fixed-integers? (e.g. sqrt, inverse sqrt, ray triangle intersection accelerations, etc.)
I guess if you remove the branch predictor, you might avoid spectre while keeping caches, but I think you can keep the branch predictor and remove caches to also avoid spectre.
The downside I see in keeping the caches is that you keep the _source_ of the timing differences, so an attacker just needs to find a different attack vector to create a new timing attack.
If you remove the caches, you kill the source of most timing attacks.
I'm not an expert on this though.
Most of those CPUs are designed by CS or EE students taking a computer architecture class, so... in a sense... one can argue that defending against Spectre-like attacks is actually super simple: just use a simple CPU design.
To actually become vulnerable to Spectre, you need a very complex CPU design, so in the same way, it can be argue, that making a CPU vulnerable to Spectre is actually hard, since it takes a lot of work to create such a CPU design.
Now, if what you want is a CPU that's both fast and secure, then I'm sorry to tell you that such thing cannot exist. Those two goals are at tension. You can either get a F1 or a tank, but no vehicle that offers the same amount of protection as a tank is going to be able to compete against a F1 car, and vice-versa.
For example, I've met quite a bit of people that don't want to pay any taxes. Yet they all want for them and their goods to be able to use roads for free, roads that are built and maintained with taxes.
That's actually ok: two incompatible goals just means you have to make a trade-off; welcome to engineering.
The problem is that none of them understand why they can't have both. In their minds, there is no trade-off to make, because they want both, feel entitled to both, and having both should be possible.
No idea why they are not able to understand that both things are incompatible. If there is some option that allows both that I am missing, they didn't manage to explain that.
Most C++ STL algorithms take iterators, that in many cases are just pointers in benchmarks because these often only deal with arrays. Hell most C standard APIs (e.g. memcpy) take multiple pointers.
You don't have to do it, but if you want to do it, being able to do so in a way that's verified and enforced by the toolchain beats doing so in a documentation comment.
Now every time I read a doc string saying that I need to "deepcopy" something in Python for some API usage pattern to work properly I cringe.
My reality disagrees. I live in a place with a lot of snow, and pretty much see cars that have sliden off the highway every week. All of them are BMWs. And they are all required by law to have winter tires at least.
Winter tires do help, but there is a huge difference between RWD with good tires and 4 wheel drive (notice also that 4WD and AWD is not the same thing, and there are also different qualities).
(it just so happen that here, BMWs are the most popular rear wheel drive cars)
This feels like a slap in the face for some reason.
Aaron Turon is an extremely talented individual (their PhD thesis was a landmark contributionn). They are super kind and one of the nicest human beings I've ever met. They led the Rust Project until their involvement with Tokio caused them to drop off from Tech.
Alex Crichton is an extremely talented, kind, and hyperproductive individual, who after their involvement with Tokio dropped all async/await work and luckily "refocused" on WebAssembly.
If one is going to recap the road towards Tokio 1.0 and mention all the people that have left the Rust async ecosystem or Rust all together, you might as well spell things out.
The BMW Ms are actually developed by a different company (the BMW M company, which is different from the BMW company).
For some reason people think of them as being extremely similar, but anybody that has driven a BMW 3xx and a BMW M3 knows that there is a world between them.
The OP argumentation might be incomplete, but is at least solid argument for why we won't need a quantum operating system.
If you believe there is or could be a need for a quantum operating system, _explain why_. If you don't know, that's ok.
But arguing that "The OP argument cannot be correct because other people made incorrect predictions about other stuff in the past" is pointless and useless.
Maybe some application of quantum computing appears in the future that requires a quantum operating system, or maybe there is one such application that already exists today and we don't know about. I don't know of any, and like the OP I also think of Quantum Computers as "accelerators" (like GPUs, FPGAs, Xeon Phis, ...) for certain class of problems.
Tesla disagrees. Full Self Driving is coming in 2015 ergh 2016 ergh 2017 ergh 2018 ergh 2019 ergh.. end of 2020...
Now the Tesla fanboys are saying that it will come in 2021.
Just look at the world we live in: it contains 6 billion people. If a small fraction of it is into buying a car or a game that will only work as advertised a decade after they buy it, you might still be able to sell the millions of cars, games, etc.
If you check out the news, the amount of people that's delusional is not a "small fraction", but actually closer to ~50% of the population.
Since they are modular, they also have been a breeze to upgrade and repair. Need different cables? Better microphone? Its 20$ to upgrade that part of the headphone. Want to add bluetooth support? Can do that as well.
People buying and gifting pair of > 200$ headphones every year as if speakers are some kind of tech that gets outdated.
If you really care about audio quality and the environment, just buy a good pair of upgradeable headphones. They'll last you your whole life.