[gpfsug-discuss] Interpreting "mmlsqos" output

Marc A Kaplan makaplan at us.ibm.com
Tue Mar 8 19:37:22 GMT 2016


Bob,

  You can read ioql as "IO queue length" (outside of GPFS) and "qsdl" as 
QOS queue length at the QOS throttle within GPFS, computed from average 
delay introduced by the QOS subsystem.

These "queue lengths" are virtual or fictional -- They are computed by 
observing average service times and
applying Little's Law.  That is there is no single actual queue but each 
IO request spends some time in the OS + network + disk controller + .... 

For IO bound workloads one can verify that ioql+qsdl is the average number 
of application threads waiting for IO.

Our documentation puts it this way (See 4.2 Admin Guide, mmlsqos command)


iops= The performance of the class in I/O operations per second.

ioql= The average number of I/O requests in the class that are pending for 
reasons other than being
queued by QoS. This number includes, for example, I/O requests that are 
waiting for network or
storage device servicing.

qsdl= The average number of I/O requests in the class that are queued by 
QoS. When the QoS system
receives an I/O request from the file system, QoS first finds the class to 
which the I/O request
belongs. It then finds whether the class has any I/O operations available 
for consumption. If not,
then QoS queues the request until more I/O operations become available for 
the class. The Qsdl
value is the average number of I/O requests that are held in this queue.

et= The interval in seconds during which the measurement was made.

You can calculate the average service time for an I/O operation as (Ioql + 
Qsdl)/Iops. For a system that is
running IO-intensive applications, you can interpret the value (Ioql + 
Qsdl) as the number of threads in
the I/O-intensive applications. This interpretation assumes that each 
thread spends most of its time in
waiting for an I/O operation to complete.





From:   "Oesterlin, Robert" <Robert.Oesterlin at nuance.com>
To:     gpfsug main discussion list <gpfsug-discuss at spectrumscale.org>
Date:   03/08/2016 10:53 AM
Subject:        [gpfsug-discuss] Interpreting "mmlsqos" output
Sent by:        gpfsug-discuss-bounces at spectrumscale.org



So – I enabled QoS on my file systems using the defaults in 4.2 Running a 
restripe with a class of “maintenance” gives me this for mmlsqos output:

[root at gpfs-vmd01a ~]# mmlsqos VMdata01 --sum-nodes yes
QOS config:: enabled
QOS values:: pool=system,other=inf,maintenance=inf
QOS status:: throttling active, monitoring active
=== for pool system
10:36:30 other iops=9754 ioql=12.17 qsdl=0.00022791 et=5
10:36:30 maint iops=55 ioql=0.067331 qsdl=2.7e-05 et=5
10:36:35 other iops=7999.8 ioql=12.613 qsdl=0.00013951 et=5
10:36:35 maint iops=52 ioql=0.10034 qsdl=2.48e-05 et=5
10:36:40 other iops=8890.8 ioql=12.117 qsdl=0.00016095 et=5
10:36:40 maint iops=71.2 ioql=0.13904 qsdl=3.56e-05 et=5
10:36:45 other iops=8303.8 ioql=11.17 qsdl=0.00011438 et=5
10:36:45 maint iops=52.8 ioql=0.08261 qsdl=3.06e-05 et=5

It looks like the “maintenance”  class is getting perhaps 5% of the 
overall IOP rate? What do “ioql” and “qsdl” indicate? 

Bob Oesterlin
Sr Storage Engineer, Nuance HPC Grid
507-269-0413
_______________________________________________
gpfsug-discuss mailing list
gpfsug-discuss at spectrumscale.org
http://gpfsug.org/mailman/listinfo/gpfsug-discuss



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gpfsug.org/pipermail/gpfsug-discuss_gpfsug.org/attachments/20160308/b43cfec2/attachment-0002.htm>


More information about the gpfsug-discuss mailing list