On Mon, 25 May 2020 05:23:05 -0700 (PDT), Andy Rudoff <
an...@rudoff.com> wrote:
>Note that interleaving granularity is larger than 256 bytes, and the Optane
>PMem modules provide "sequential" performance when you access 256 bytes
>(aligned). So changing the interleave should not change the difference
>between sequential/random performance of an individual Optane module, but
>it will of course change what happens for larger blocks, sending a large
>access to a single DIMM versus spreading it out among multiple DIMMs.
>Whether you have interleave sets going across all DIMMs in a socket, or
>have them set so each DIMM is in its own interleave set, the same decoder
>logic has to process each access (you don't skip the decoders either way),
>so I'm not sure why Steve is seeing faster random access. Without more
>information (what type of access, what size of access, single thread versus
>multiple threads, etc) it is hard to guess. The key to understanding
>performance puzzles is to get more visibility into what's going on, so I
>suggest using a tool like VTune (which is free) to examine the system
>counters.
Thanks for the additional info.
The pmem access pattern is single threaded, random access to 900-byte records in a 1 billion record table. The records are not aligned on 256-byte
boundaries.
I'm also doing a random access to DRAM before each of these random pmem accesses, to look up the address in the pmem table.
Maybe it's the 256 vs 128 parts: are they significantly faster? I can do an experiment today or tomorrow by taking the 128 part out and creating an
interleave set with the 256s.
VTune is part of Intel System Studio, right?
>-andy
>
>On Monday, May 25, 2020 at 6:04:33 AM UTC-6, Anton Gavriliuk wrote:
>>
>> Hi Steve
>>
>> > I guess I shouldn't have been surprised because obviously some extra
>> work must be done to direct the write or read to the correct part for the
>> interleaved access. Is this documented somewhere or should I just rely on
>> my experimental results? I'm mostly concerned that I'm measuring something
>> incorrectly.
>>
>> I think you are right. Interleaving means striping with stripe size 64
>> bytes if I remember correctly, so yes, for interleaving some extra work
>> must be done.
>>
>> Based on my experience, interleaving or non-interleaving setup is highly
>> workload dependent what is need.
>>
>> Anton
>>
>> ??, 25 ??? 2020 ?. ? 14:32, steve <
st...@steveheller.org>:
>>
>>> Hi all,
>>>
>>> I've recently been using my pmem in a non-interleaved AppDirect
>>> configuration. As expected, sequential writing is slower than with the
>>> interleaved
>>> version, and slows down further as my process runs, which I imagine is
>>> due to thermal issues.
>>>
>>> I was however surprised to see that random access appears to be
>>> noticeably faster without interleaving than with it. It looks like
>>> somewhere in the
>>> neighborhood of 100 nsec overhead for the interleaving, although I
>>> haven't yet been able to run exactly the same experiment with and without
>>> interleaving so I'm not sure of the exact overhead.
>>>
>>> I guess I shouldn't have been surprised because obviously some extra work
>>> must be done to direct the write or read to the correct part for the
>>> interleaved access. Is this documented somewhere or should I just rely on
>>> my experimental results? I'm mostly concerned that I'm measuring something
>>> incorrectly.
>>>
>>> Thanks!
>>> ------------
>>> Steve Heller
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "pmem" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to
pmem+uns...@googlegroups.com.
>>> To view this discussion on the web visit