Setting the pagepool size

The Spectrum Scale pagepool is used to cache user data and file system metadata.

In general, Spectrum Scale read and write requests going through the pagepool are executed asynchronously. Hence the size of the pagepool limits the amount of data or metadata that can be cached without requiring synchronous I/O.

The amount of memory available for a pagepool on a particular node may be restricted by the operating system, hypervisor and other software running on the node. The pagepool sizes on different cluster nodes must not be equal. Every node in a cluster can have its own pagepool size according to the intended role or task of the node.

A pagepool size of 8 GiB was chosen for the single-node cluster to allow a similar comparison to the XFS filesystem which had around 8 GiB Linux® page cache available.

This example shows how the pagepool size was increased from 1GiB (default) to 8 GiB:

# mmlsconfig pagepool 
pagepool 1G
# mmchconfig pagepool=8G
mmchconfig: Command successfully completed
# mmlsconfig pagepool 
pagepool 8G  
Note:
  • To change the pagepool size immediately (without restarting the GPFS daemons), use the mmchconfig -i or -I option.
  • If no node is specified for the mmchconfig command, the new pagepool size applies to all nodes in the cluster.
Figure 1 shows the Spectrum Scale startIO calls for 750 virtual ICN users (medium-to-high workload). The larger the pagepool size, the less startIO calls are required. For a 1 GiB pagepool, around 2000k (2.000.000) startIO calls were done during the workload execution phase. For the 8 GiB pagepool, this number decreased to 1200k (1.200.000) startIO calls. As a result the overhead for the operating system disk I/O was lower.
Figure 1. Spectrum Scale startIO calls for different pagepool sizes
This graphic shows the Spectrum Scale startIO calls for different pagepool sizes.