<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<font face="monospace">Hello everyone.<br>
<br>
<br>
The setting <code>max_rpcs_in_flight</code> affects, among other
things, how many threads can be spawned simultaneously for
processing the RPCs, right? <br>
In tests where the network is clearly a bottleneck, this setting
has almost no effect - the network cannot keep up with processing
the data, there is not so much to do in parallel. <br>
With a faster network, the stats show higher CPU utilization on
different cores (at least on the client). <br>
<br>
What is the exact mechanism by which it is decided that a kernel
thread is spawned for processing a bulk? Is there an RPC queue
with timings or something similar? <br>
Is it in any way predictable or calculable how many threads a
specific workload will require (spawn if possible) given the data
rates from the network and storage devices?<br>
<br>
With <code>max_</code><code>rpcs_in_flight = 1</code>, multiple
cores are loaded, presumably alternately, but the statistics are
too inaccurate to capture this. <br>
The distribution of threads to cores is regulated by the Linux
kernel, right? Does anyone have experience with what happens when
all CPUs are under full load with the application or something
else? <br>
Do the Lustre threads suffer? Is there a prioritization of the
Lustre threads over other tasks?<br>
Are there readily available statistics or tools for this scenario?<br>
<br>
Thanks a lot<br>
Anna<br>
--<br>
Anna Fuchs
<br>
Universität Hamburg
<br>
Department of Computer Science
<br>
Research Group Scientific Computing</font><br>
<font face="monospace"><br>
Bundesstraße 45a
<br>
D-20146 Hamburg
</font><br>
<br>
<br>
</body>
</html>