<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>All,</p>
<p>An update on the previous lustre-discuss post. The closing of
the first file after writing, dumping from cache, and reopening
with O_RDONLY, does make it immune to the stat()s from another
client node.</p>
<p>Now to the real question I have concerning the Lustre caching for
the reproducer program. I have changed the reproducer to :</p>
<p>1: write the first file, sim.dat.A.</p>
<p>2: force a memory dump of the OSCs ofA by doing O_DIRECT reads of
the first stripe block on each OSC. ( a trick I recently learned
)</p>
<p>3: close the fd for A and reopen with only O_RDONLY.</p>
<p>4: read A.</p>
<p>5: write the larger second file, sim.dat.B</p>
<p>6: using the same fd, without closing B, read B forwards and
backwards.</p>
<p>7: close both files.</p>
<p>This can all be see in this first image. </p>
<p>Why do the OSCs forA retain their memory even though the data is
used/touched only once, while the OSCs for B are fighting for
caching memory and their data is used/touched 3 times?</p>
<p><img moz-do-not-send="false"
src="cid:part1.4CdQXkQA.8LPOO9s0@iodoctors.com"
alt="https://www.dropbox.com/scl/fi/flpvi9dnvftbtpjquleef/3461_fpa.png?rlkey=ux7zko8igh6loosrfs05ryb1c&st=mtpixhyy&dl=0"
width="1067" height="695"></p>
<p>Another plot of interest relating to this run is the amount of
memory for filePages on each node(socket) of the system. This
happens to be an 8 node system. When A is read back in it is
placed on nodes 1,2, and 4. While B is later fighting for caching
memory, it also has filePages on node 4. How can A hang on to the
memory when its pages's LRU is certainly less than or equal to
those for B. The memory behavior can't be a node thing either as
both files are on node 4 for much of the run, but A never gets
pushed out of node 4. I should also point out that the aggregate
of the filePages on the 8 nodes maps directly to the cached memory
from meminfo. Not sure why it was decided to call the node thing
filePages and the meminfo thing cached in /proc.</p>
<p><img moz-do-not-send="false"
src="cid:part2.rzX0Yf5M.sXTOd0II@iodoctors.com"
alt="https://www.dropbox.com/scl/fi/gcpbct21e0knx5d420njo/3461_nodemem.png?rlkey=c47nl06a5hoqswh62ivx9uxdh&st=za8ec97b&dl=0"
width="1052" height="683"></p>
<p><br>
</p>
</body>
</html>