* Christoph Lameter <[email protected]> wrote:
> On Tue, 13 Nov 2012, Ingo Molnar wrote:
>
> > > the pages over both nodes in use.
> >
> > I'd not go as far as to claim that to be a general rule: the
> > correct placement depends on the system and workload
> > specifics: how much memory is on each node, how many tasks
> > run on each node, and whether the access patterns and
> > working set of the tasks is symmetric amongst each other -
> > which is not a given at all.
> >
> > Say consider a database server that executes small and large
> > queries over a large, memory-shared database, and has worker
> > tasks to clients, to serve each query. Depending on the
> > nature of the queries, interleaving can easily be the wrong
> > thing to do.
>
> The interleaving of memory areas that have an equal amount of
> shared accesses from multiple nodes is essential to limit the
> traffic on the interconnect and get top performance.
That is true only if the load is symmetric.
> I guess through that in a non HPC environment where you are
> not interested in one specific load running at top speed
> varying contention on the interconnect and memory busses are
> acceptable. But this means that HPC loads cannot be auto
> tuned.
I'm not against improving these workloads (at all) - I just
pointed out that interleaving isn't necessarily the best
placement strategy for 'large' workloads.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/