Re: [RFC PATCH 00/14] Heterogeneous Memory System (HMS) and hbind()

From: Logan Gunthorpe
Date: Thu Dec 06 2018 - 18:29:35 EST




On 2018-12-06 4:09 p.m., Dave Hansen wrote:
> This looks great. But, we don't _have_ this kind of information for any
> system that I know about or any system available in the near future.
>
> We basically have two different world views:
> 1. The system is described point-to-point. A connects to B @
> 100GB/s. B connects to C at 50GB/s. Thus, C->A should be
> 50GB/s.
> * Less information to convey
> * Potentially less precise if the properties are not perfectly
> additive. If A->B=10ns and B->C=20ns, A->C might be >30ns.
> * Costs must be calculated instead of being explicitly specified
> 2. The system is described endpoint-to-endpoint. A->B @ 100GB/s
> B->C @ 50GB/s, A->C @ 50GB/s.
> * A *lot* more information to convey O(N^2)?
> * Potentially more precise.
> * Costs are explicitly specified, not calculated
>
> These patches are really tied to world view #1. But, the HMAT is really
> tied to world view #1.

I didn't think this was meant to describe actual real world performance
between all of the links. If that's the case all of this seems like a
pipe dream to me.

Attributes like cache coherency, atomics, etc should fit well in world
view #1... and, at best, some kind of flag saying whether or not to use
a particular link if you care about transfer speed. -- But we don't need
special "link" directories to describe the properties of existing buses.

You're not *really* going to know bandwidth or latency for any of this
unless you actually measure it on the system in question.

Logan