• No results found

Load Distribution Using Load Balancing

Chapter 2 HDLM Functions

2.7 Load Distribution Using Load Balancing

When the system contains multiple paths to an LU, HDLM can distribute the load across the paths by using multiple paths for I/O. This functionality is called load balancing, and it prevents a heavily loaded path from affecting the performance of the entire system.

Note: some I/O operations managed by HDLM can be distributed to each path, while others cannot. Therefore, even though load balancing function is used, I/O operations may not be equally allocated to each path.

Figure 2.6 shows the I/O flow when the load balancing function is not being used. Figure 2.7 shows the I/O flow when the load balancing function is being used. Both figures show an example of an I/O operation being issued for the same LU from multiple applications.

Figure 2.6 I/O Flow When the Load Balancing Function is Not Being Used

When the load balancing function is not being used, I/O operations converge on one physical path (A). The load on the physical path (A) will cause a bottleneck, which might cause deterioration of the whole system's performance.

Figure 2.7 I/O Flow When the Load Balancing Function Is Being Used

When the load balancing function is being used, I/O operations are distributed via physical paths (A), (B), (C), and (D). This prevents deterioration of the whole system's performance from a bottleneck on one path.

2.7.1 Paths To Which Load Balancing Is Applied

This subsection describes, for each storage subsystem, the paths to which the load balancing function is applied.

2.7.1.1 When Using the Thunder 9200, Thunder 9500V, or TagmaStore AMS/WMS Series

HDLM performs load balancing between owner paths or between non-owner paths. An owner path is a path that passes through the CHA. This path is set on the owner controller of the storage subsystem LU. Since the owner controller varies depending on the LU, the owner path also varies depending on the LU. A non-owner path is a path that uses a CHA other than the owner controller (a non-owner controller). Paths used for load balancing are selected from owner paths first, then non-owner paths. To prevent performance in the entire system from deteriorating, HDLM does not perform load balancing between owner paths and non-owner paths. When some owner paths cannot be used due to a problem such as a failure, load balancing is performed among the remaining usable owner paths. When all owner paths cannot be used, load balancing is performed among the non-owner paths.

For the example in Figure 2.8, suppose that the owner controller of LU0 is CHA0. When the LU is accessed, the load is balanced between the paths (A) and (B) (that is, between owner paths).

When the path (A) cannot be used due to a problem such as a failure, the LU can only be accessed via the path (B). When the physical paths (A) and (B) cannot be used, the load is balanced between the physical paths (C) and (D) (that is, between non-owner paths).

Figure 2.8 Overview of Load Balancing

2.7.1.2 When Using the Lightning 9900, Lightning 9900V Series, TagmaStore USP, Universal Storage Platform V/VM, or AMS

All the online paths are owner paths. Thus, for the example in Figure 2.7, when the LU is accessed, the load is balanced among the paths(A), (B), (C), and (D). When one of the physical paths cannot be used due to a problem such as a failure, the load is balanced among the remaining physical paths.

2.7.2 Algorithms for Load Balancing

HDLM has the following two algorithms for load balancing:

„ Round robin

Round robin distributes all I/Os among multiple paths.

„ Extended round robin

Extended round robin distributes I/Os to paths depending on the type of the I/O, which can be either sequential access or random access. For sequential access, I/Os are issued to a single path. For random access, I/Os will be distributed to multiple paths.

Table 2.5 describes the type of load balancing (round robin and extended round robin) for each I/O operation type.

Table 2.5 Algorithms for Load Balancing

Algorithm For sequential access For random access Round robin ƒ After an I/O operation is issued to a path

once or a certain number of times, the path is switched to the next path.

ƒ The storage subsystem cache might not be fully usable.

ƒ When multiple applications that request sequential access are run concurrently, we recommend that you use the round robin algorithm in order to distribute I/Os across multiple paths.#

After an I/O operation is issued to a path once or a certain number of times, the path is switched to the next path.

Extended round

robin ƒ After an I/O operation is issued to a path a certain number of times in succession, the path is switched to the next path. If sequential access is switched to random access before an I/O operation is issued to a path a certain number of times, the path is switched to the next path when sequential access is switched to random access.

ƒ The storage subsystem cache can be used.

ƒ When you execute only a single application that requests sequential access, such as a batch job running at night, we recommend that you use the extended round robin algorithm.#

#

The recommended algorithm depends on the type of applications, and the operations policy.

You can specify the load balancing function by the dlnkmgr command's set operation. For details on the set operation, see section 6.6.

Note:

Some I/O operations managed by HDLM can be distributed across all paths, and some cannot. Thus, you should be aware that even when you use the load balancing function, I/O operations cannot always be allocated uniformly across all paths.