Earlier quoted context omitted.
Now? I had found some used epyc servers with 2TB ddr4 ram for around 5k usd yesteryear. Too bad I didn't purchase it.
He said GPU servers
I/O is no longer the bottleneck? (2022)
61–70 of 133 posts
Re: I/O is no longer the bottleneck? (2022)
#62Not a new idea, but it's intriguing to think about an architecture that's just: CPU caches nonvolatile storage What if you could take it for granted that mmap()ing a file has the exact same performance characteristics as malloc(), aside from the data not going away when you free the address space? What if arbitrary program memory could be given a filename and casually handed off to the OS to make persistent? A lot of…
You can get something like this from Linux today. (And mmap is actually how you request memory from the kernel in almost all cases.) It's just that mmap is slower than using read/write, because the kernel knows less about your data access patterns and thus has to guess for how to populate caches etc.
Instead, imagine if I could just state in one line of system-agnostic code "give me a pointer to /home/user/abc" and it does the right thing--assuming there was some way around mmap's current set of caveats. Imagine if I could turn a memory buffer into a file in one line of code and it Just Worked. Imagine if the OS treated my M.2 SSD as just another chip on the bus instead of still having a good amount of code on the hot path that assumes I'm manually sending bytes to a mechanical drive.
Re: I/O is no longer the bottleneck? (2022)
#63Re: I/O is no longer the bottleneck? (2022)
#64Re: I/O is no longer the bottleneck? (2022)
#65Earlier quoted context omitted.
Have you benchmarked against Rust's rkyv, too?
No, I have not benchmarked yet against other languages. Rkyv is Rust only. One primary difference is that Rkyv does not support in-place mutation. So any modification of a message requires full reserialization, unlike Lite³.
Re: I/O is no longer the bottleneck? (2022)
#66Earlier quoted context omitted.
The limit is the number of outstanding cache line requests to the memory controller. CPUs have a fixed number of slots for this, around 10-12 usually. Intel calls them LFBs (Line Fill Buffers) and AMD MSHRs (Miss Status Holding Registers). When the slots are filled, the CPU can issue no more requests and has to wait for them to complete. Apple M chips (probably) have more slots and the memory is physically packaged t…
I assume these must be really expensive? Otherwise it seems like a great way to improve throughput on low concurrency tasks.
Re: I/O is no longer the bottleneck? (2022)
#67Earlier quoted context omitted.
> 6 GB/s Samsung is selling NVMe SSDs claiming 14 GB/s sequential read speed.
Any code that's reading/writing to SSD needs to use multiple cores. The SSD is faster than a single CPU core.
Re: I/O is no longer the bottleneck? (2022)
#68Re: I/O is no longer the bottleneck? (2022)
#69Earlier quoted context omitted.
Old IBM's term for RAM was "storage."
I wonder whether the current huge funding in AI will ever lead to a revolution in computer architecture. Modern PCIe/CXL is already starting to blur the difference between memory and I/O. Maybe the future is going to be that CPUs, RAM, storage devices, GPUs and other devices are going to directly address one another like a mesh network. Maybe the entire virtual memory model will change to include everything to be add…
Technically there's nothing stopping me from mmaping an entire multi-terabyte nvme at the block level except for the part where I don't want to reimplement a filesystem from scratch in addition to needing to share it between lots of different programs.
Re: I/O is no longer the bottleneck? (2022)
#70Earlier quoted context omitted.
The limit is the number of outstanding cache line requests to the memory controller. CPUs have a fixed number of slots for this, around 10-12 usually. Intel calls them LFBs (Line Fill Buffers) and AMD MSHRs (Miss Status Holding Registers). When the slots are filled, the CPU can issue no more requests and has to wait for them to complete. Apple M chips (probably) have more slots and the memory is physically packaged t…
I assume these must be really expensive? Otherwise it seems like a great way to improve throughput on low concurrency tasks.
it's why GPUs have their memory chips in a circle around the GPU chip.