Hacker News new | past | comments | ask | show | jobs | submit login

I think that's more of a reaction to the "fixes" to disk IO still not being fast enough.

The more you can keep in memory, the better off you're going to be, even with the fastest SSDs in the world.




See this article: https://queue.acm.org/detail.cfm?id=2874238

In a high-end server, with PCIe flash or NVRAM, you're increasingly unlikely to be IO bound.


My takeaway was that the single JBOD approach won't work in next generation systems as a JBOD of SSD/NVME/PCI-SSDs will be greatly limited by the controller, and that infrastructure complexity will increase presumably by having many JBODs with smaller number of disks.

Which is silly, because controllers can simply be designed to handle more data, and likewise they can be made more power efficient. So, far the only real limitation has been the interface, which off-course can be changed.


I'm not sure why that is your main take away from that article. The point is that relatively slow disk controllers designed for rotating magnetic storage are a bottleneck when you connect fast enough Flash storage. Connecting the storage via PCIe alleviates this bottleneck, to the point that you are no longer bound by the traditional constraints of small caches and large, slow permanent storage.


That was a great read, thanks for sharing!


I wonder how soon we will see the inevitable convergence of RAM and "storage". XPoint is still slower than RAM, but is a path towards unification.


XPoint still wears down; it's said to be 1,000 better than NAND flash but that's still highly finite.


Couple of iterations still and wear down suddenly won't matter anymore!


Isn't 8 GB per core still reasonable? Especially if you can share indices and buffer caches across cores, for example. There must still be diminishing returns for caching.


Depends on your dataset. Systems like Databases perform much, much better the less you have to touch a storage controller. One of the things that's going into Intel's 2017/2018 platform is the support for 6 channels of memory, and not all of that needs to be DRAM. There's a new standard, NVDIMM, that lets you use non-volatile memory as RAM, and take advantage of its much higher densities. So, if you have things like a database, you can map a much larger dataset into actual memory, instead of needing to just have the indexes in there.


I do a load of work with high throughput genetics sequencing. One of the programs that processes the data for a sample is single-threaded, but requires about 40GB of RAM. I currently have a server with 384GB RAM and 64 CPU threads, so 6GB/thread. RAM capacity is a definite bottleneck, since I can only run 9 at a time, instead of 64.

It all depends.


"reasonable" is entirely context-dependent. Some workloads are CPU or network bound. Others are memory bound.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: