Earlier quoted context omitted.
Knights Landing from Intel is already NUMA (I think). I'm not sure if it can be bought yet, but it should be very close to release.
Aren't AMD parts already (cache-coherent) NUMA?
Non-volatile Storage: CPUs no longer more performant than I/O devices
71–80 of 121 posts
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#72Earlier quoted context omitted.
I'm probably the poster above. ;-) Yes, we layer on top of PCIe for the physical transport, but once an adapter's in CAPI mode, it's able to do translations, participate in locks, and looks more or less like a slightly-strange other thread as far as code running on the main CPU is concerned. Since the logic inside the accelerator can do pointer chasing, it can communicate directly with the application and bypass a lo…
Yes indeed, I've read about redis acceleration, are relational dbs next? Is anyone working on that?
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#73Earlier quoted context omitted.
Brits use "whilst" instead of "while". Thank god they didn't pick the keywords of any programming languages. utilise namespace std; whilst (performant()) { pontificate(); } Edit: bonus `problematic` operator for exceptions.
I don't know, I think a "whilst loop" would be kind of charming.
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#74Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#75Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#76Performant: still not a word.
(1) It's not perfectly clear what the definition is in this particular context. Usually the word is used to indicate "our stuff is rad fast bro" implying that speed is obtained through cleverness such as the use of efficient code or an efficiently scalable architecture, but the linked article violates this definition by comparing apples (CPUs) and oranges (storage). It's nonsensical in the manner of "my word processor is more performant than my fractal renderer".
(2) Normally, use of this neologism saves time by replacing a long phrase. This use in the linked article is backwards: the word "faster" could have been used in place of the longer "more performant."
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#77Earlier quoted context omitted.
Interesting! Incidentally (since this may be somewhat related), I'm wondering, what are your thoughts on the Persistent Memory Manager approach, as in the following: Justin Meza, Yixin Luo, Samira Khan, Jishen Zhao, Yuan Xie, and Onur Mutlu: "A Case for Efficient Hardware/Software Cooperative Management of Storage and Memory." Workshop on Energy-Efficient Design, 2013. Context: "emerging high-performance NVM technolo…
One giant flat address space is not the answer. Hardware people tend to come up with approaches like that because flat address spaces and caching are well understood hardware. It's the same thinking that leads to "storing into device registers" as an approach to I/O control, even when the interface is really packets over a serial cable as in FireWire or USB or PCI Express. File systems and databases are useful abstra…
Going back to non-volatile memory the question is what kind of abstraction should be implemented in hardware? Presumably something simple that the OS and applications can then use to implement higher level abstractions like file systems and databases. Pushing parts of a SQL database engine into the hardware does not intuitively seem like a right solution.
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#78Earlier quoted context omitted.
Actually, "fast" doesn't mean "performant" (OK, maybe that's not a word, in which case I mean "having high performance"), unless you want to also say "speed" means "performance". Also "utilize" is more specific than "use": it implies "using for a desirable purpose". Consider: (1) This daemon process is utilizing all the available bandwidth. (2) This daemon process is using all the available bandwidth. Sometimes peopl…
I have no idea what difference is implied between (1) and (2) there. What's the difference between speed and performance here?
(2) The bandwidth is being entirely consumed, but it might only be because the process is misbehaving and consuming more bandwidth than necessary.
Speed only translates to performance if the resource being quickly consumed is actually needed. Example-- a game might always use all CPU cycles, but only when rendering the most challenging scene is reaching peak performance.
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#79Earlier quoted context omitted.
The syscall overhead isn't the problem, that's dirt cheap as you say. The problem is the context-switch overhead. Calling into the OS flushes a lot of data and instructions from the cache, and that lost performance after returning can easily add up to around 30µs.[1] [1] http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-ma...
Sounds like multiple caches are an obvious solution. No code in the OS needs access to the user code or data cache, and vice versa. Smart cache management might be one of Intel's goals for the Altera buyout.
Re: Non-volatile Storage: CPUs no longer more performant than I/O devices
#80Earlier quoted context omitted.
See also: "utilize" instead of "use."
Brits use "whilst" instead of "while". Thank god they didn't pick the keywords of any programming languages. utilise namespace std; whilst (performant()) { pontificate(); } Edit: bonus `problematic` operator for exceptions.
Whilst implies parallelism/concurrency, it's not the same thing as while.
Problematic is more a tumblrism than anything else.