HNHacker News
TopNewBestAskShowJobs

twtw

1,988 karma · joined January 22, 2018

submissionscomments
twtw··on Memory-mapped I/O without mysterious macros
I need to take a look at the patches (on mobile now), but can anyone comment on how a barrier at unlock can provide ordering between mmio accesses under the same lock? Or is it required that every register have a unique lock?
twtw··on Capsule Networks – A group of neurons which uses vectors to represent an object
Does it also bother you when people talk about using a "mouse" to move "files" to their "desktop?"
twtw··on Major survey finds worms are rare or absent in 20% of fields in England
When were you a kid?
twtw··on Trolls Are Real
Your garden analogy is poor for several reasons.

the primary reason is that it is not remotely comparable to the theft of trade secrets in my example. If the gardener put their garden in a greenhouse and put a padlock on the door, then the scenario would be more comparable, but then it wouldn't make a lot of sense to say it should "obviously" be legal for someone to break in and take a sniff, because it's just a sniff, right?

Your parent/child analogy is poor because you are just describing an investment that doesn't pay off for any number of reasons, not that somebody stole the value from you. Perhaps more comparable would be if a parent raised a child until adulthood, at which point someone stole the young adult, brainwashed them to think they were the parents, and the child visited the fake parents in their old age.

That sounds far fetched, but it is far more comparable to the scenario I introduced of someone stealing a company's intellectual property and profiting off of it.

twtw··on New OpenGL Driver for Intel Gen8 GPUs Merged into Mesa
I have a hard time seeing a meaningful future for opencl.

Apple (the original creator of opencl) has deprecated it on their platforms in favor of metal.

I think Intel has implementations, but IMO you are better off with ISPC if you are targeting a CPU.

I have a hard time keeping up with AMD's overall direction, but the latest ROCm stuff seems to focus on an implementation of CUDA AFAICT.

Nvidia apparently has no intention of focusing on opencl.

Support for opencl 2.0+ is poor. Some vendors have support, but most are partial or language only (mostly meaning c++ for compute shaders, but not the other features). IIRC, even AMDs ROCm opencl is not 2.0.

And then there are all the fpga/accelerator vendors. I don't have much experience with opencl on these, but I expect they will also move away from opencl - I'm interested to see what Xilinx does with Everest, since it will supposedly be easier to develop for than traditional FPGAs.

Vulkan compute or implementations of cuda from other vendors seem much more promising. OpenCL tried for a "one standard fits all compute," but I don't think it has worked out that well. It leads to a "write once for all platforms, optimize separately for each platform" at which point it's better to just have different standards specialized for the target. For a long time code written for one compiler wouldn't even compile with an implementation from another vendor.

twtw··on Trolls Are Real
I genuinely do not understand your position.

Let's say a U.S. company spends a billion dollars creating a chip design. You think that it should not be illegal for other companies to steal said chip design and manufacture it because it is just "copying data?" So the company that invested to design has to compete with a company that stole it, and therefore can price it lower because they don't have to recoup that investment?

Just because something can be copied more easily now than when it required a bunch of photocopying doesn't mean it isn't (or shouldn't be) a crime.

twtw··on FDA warning brings young-blood transfusion company to a halt
Did theranos have anyone doing real research work? My understanding was that theranos had real, good scientists who were continuously pressured to fabricate results and do quick hacks to keep up appearances. What real research work could anyone have been doing if everyone there was ignoring the fact that their procedures and equipment did not product accurate results?
twtw··on The Future of Computing Is Analog
> no different to conventional history and culture. It just has computers in it.

I would argue that it is different, because it has computers in it.

> The biggest digital systems we have now have been consciously and deliberately designed to monitor and manipulate human behaviour.

They've been designed to make users click on this or that or watch or scroll more, but I disagree that all the consequences of those designs were or are understood. I don't think anyone intentionally designed a system to make kids watch creepy YouTube videos endlessly or not get vaccinated or think the earth is flat, they designed a system to "maximize engagement" and these things happened (maybe or not as a consequence).

twtw··on The Future of Computing Is Analog
With respect, I think most comments here are missing Dyson's point (perhaps because it was somewhat poorly made).

I don't think his point is about whether the integrator and analog electronics will be resurgent in the next century, and analog hardware will be common.

I think Dyson is talking about the complex network of the modern world, where humans interact with computing machine, and with each other - humans influence computers, and computers come back around and influence humans. I think his "future of computing" is a future where human society and culture is decided based on the interplay between humans and our machines, and this decision is an "analog computation" made by a massive scale hybrid computer that no one has intentionally designed or understands.

You can see examples of this already, with youtube recommendation engines influencing the belief systems of millions (billions?) of people across all kinds of subjects, and with our thoughts frequently dominated by whatever happens to show up on our phones.

twtw··on BlazingSQL – GPU SQL Engine Now Runs Over 20X Faster Than Apache Spark
Bit of a lmgtfy question, but here you go:

https://github.com/rapidsai

https://github.com/rapidsai/cudf/blob/branch-0.6/LICENSE

twtw··on BlazingSQL – GPU SQL Engine Now Runs Over 20X Faster Than Apache Spark
Pro tip: justify why dividing data set size by time to solution and saying number is small is a good analysis.

Let's try imagenet training. Intel's best time is 3h25m on 128 nodes. Imagenet is ~150 gb.

(150 GB)/(3 hr * 3600 sec/hr * 128 nodes) = less than one megabyte per second per node! Caffe is slow! CPUs are slow!

Or bs metrics are bad?

https://dawn.cs.stanford.edu/benchmark/ImageNet/train.html

twtw··on Intel Starts Publishing Open-Source Linux Driver Code for Discrete GPUs
If you haven't noticed, there are plenty of standards kicking around in graphics and there isn't a need for any more. AMD, Nvidia, and Intel do a pretty good job supporting all of them - you can write a DX12 (or opengl, or Vulkan) program and run it any any vendor's hardware.

What problem do you think having a standard ISA would solve? Nobody distributes native binaries for GPUs, only shaders (either compiled to intermediate representation or no). From my perspective, all that a standard ISA would cause is less implementation flexibility in the hardware since now the hardware has to deal with compatibility instead of letting the vendor-specific compiler included with the driver deal with it.

twtw··on We Lost Our Ability to Mend
lol yes, thank you.
twtw··on We Lost Our Ability to Mend
The primary failure mode of a TV in the 70s was a tube that went bad. Easy fix: open TV, pop out old tube, pop in old tube, done.

If a TV breaks now, it's some component that's either glued in or soldered in, so good luck replacing that. Modern TVs are not designed to have replaceable parts.

twtw··on Ask HN: Is it practical to create a software-controlled model rocket?
Sure, I was just pointing out that control wasn't on your list - it doesn't fall under any of aerodynamics or propulsion or structures.
twtw··on Intel Starts Publishing Open-Source Linux Driver Code for Discrete GPUs
I thought amdgpu only officially supported GCN 1.2 and later, which is more like 4.5 years old?
twtw··on Intel Starts Publishing Open-Source Linux Driver Code for Discrete GPUs
As far as I can tell, you are describing problems already solved by virtual memory.
twtw··on Ask HN: Is it practical to create a software-controlled model rocket?
It's also quite a challenging control problem, which at the end of the day turns into a software problem.

You can see what spacex (probably) does to turn it into a tractable problem for real time control in http://www.larsblackmore.com/iee_tcst13.pdf (Blackmore leads entry, descent, and landing at spacex).

twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
Regardless of the accuracy of your claims regarding spectre v1, I'd like to see a source saying that spectre cannot defeat process isolation on AMD Zen. I've found a lot of sources that don't support that, and none that do. The closest thing I've read is a statement that Zen 2 will have some mitigations for spectre.
twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
Here's alan cox saying what I've been trying to say, from https://marc.info/?l=linux-kernel&m=151503218808512&w=2:

> If you read the papers you need a very specific construct in order to not only cause a speculative load of an address you choose but also to then manage to cause a second operation that in some way reveals bits of data or allows you to ask questions.

> BPF allows you to construct those sequences relatively easily and it's the one case where a user space application can fairly easily place code it wants to execute in the kernel. Without BPF you have to find the right construct in the kernel, prime all the right predictions and measure the result without getting killed off. There are places you can do that but they are not so easy and we don't (at this point) think there are that many.

> The same situation occurs in user space with interpreters and JITs,hence the paper talking about javascript. Any JIT with the ability to do timing is particularly vulnerable to versions of this specific attack because the attacker gets to create the code pattern rather than have to find it.

---

> big deal with spectre is the high bandwidth that can be attained by directly running code in process

That depends on your perspective. If you are an OS developer who strives to guarantee process isolation, than it is a pretty big deal that spectre v1 allows you to read memory from the kernel or from other processes, even if it might be tricky to do so. If you write a JS JIT, then yeah you are probably most concerned about the single-process case.

> remotely practical

IMO, most spectre attacks are not remotely practical. No, I don't have a pointer. The only actual demonstrations of spectre I've seen is the one included with the original paper (single process).

twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
> Spectre v1 (bounds check bypass) only works inside processes

I don't think this is true. If it is, why did Linux add speculation barriers to bounds checks in the kernel?

I was in a discussion of this last week on another thread - see my previous comments for why I think spectre v1 has impact across processes.

twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
I guess I jumped the gun a bit in my comment above.

In terms of the possibility of exploit, as I understand there isn't at this point any isolation between processes.

In terms of the ease of exploit, being able to run untrusted code in the same process as the victim helps quite a bit. Otherwise, you have to find a gadget (i.e. qualifying bounds check for v1, indirect branch for v2) in the victim process that you can exploit from the attacker process. Possible, but quite a bit harder than making your own gadget.

This all ignores the forward looking reasons process isolation is a good idea. I can't keep track of the latest mitigations in Linux, but they pretty much all will only help between processes by flushing various hardware data structures. And hopefully someday we will have hardware actually designed to restore the guarantees of isolation between processes.

I'm pretty sure this is accurate, but I'm just a random guy on the internet so don't trust my word for it too much.

twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
For meltdown (spectre v3, iirc) It's not so much sharing memory as sharing address space. Processes have different page tables. Threads within a process share page tables.

For spectre v1 and v2, right now (on existing hardware) mostly nothing separates threads from processes. In the future, process isolation is a good candidate for designing hardware + system software such that different processes are isolated (via partitioning the caches, etc).

You probably still want threads within a process to share cache hits.

twtw··on Spectre is here to stay: An analysis of side-channels and speculative execution
> With properly designed OoO, Spectre cannot defeat process isolation

It's worth noting that no existing or announced common hardware is "properly designed" according to this condition. Even the "fixed" Intel hardware that's been announced is still vulnerable to spectre v1 across process boundaries.

twtw··on The Era of General Purpose Computers Is Ending
It's worth noting that all four of your examples routinely run on GPUs.

3D graphics? Check (freebie).

Fluid dynamics? Check - supercomputers increasingly get most of their compute from GPUs.

Cryptography? Check - this is the only one that really got specialized hardware.

Machine learning? Check.

So "large quantities of special purpose hardware" wasn't even used for these. Just large quantities of general purpose parallel processors, known for historical reasons as "graphics processing units."

twtw··on The Era of General Purpose Computers Is Ending
I don't really want to get into an argument over definitions, but IMO pagerank is pretty obviously machine learning.
twtw··on The Era of General Purpose Computers Is Ending
> Once everyone realizes every practical use of their AI technology is more than adequately met by conventional code

I'm all for skepticism for the current hyperbole, but there's no need to be hyperbolic in the other direction.

There are some applications in which deep learning really does work better than alternatives. The 2018 Gordon bell prize, after all, went to a team that did deep learning on Summit for climate analysis.

There is a nontrivial list of applications that you would have a hard time convincing experts that they would be better off with conventional code.

twtw··on The Secret Facebook War for Mormon Hearts and Minds
FWIW Manti in 1860 probably had a population of a few hundred, so the population of females aged 16-25 (or whatever upper age you think is reasonable) could have been quite small.

If only 2% of women over age 16 as also under age 18, that statistic is not so shocking. I don't agree that this statistic alone demonstrates that "almost all women were married between 14-16."

"A study in scarlet" is not historically accurate. IIRC, Conan Doyle said so himself.

twtw··on Battle over possibility of taller buildings near San Jose International Airport
I would happily take a deal where all the advertising tech companies leave, and only the hardware companies remain (remember why it was originally called silicon valley, not adtech/web/social/... valley).
twtw··on Wayland misconceptions debunked
> AMD hardware is known to be better for GPGPU for a long time already.

Maybe, maybe not, but the async compute argument you are making only applies to graphics applications that use compute shaders on maxwell - it doesn't apply to pure gpgpu without graphics.

← PreviousPage 2 of 20Next →