|
|||
Appendix L: Grid Data Staging Details
Moab allows sites to manage job data staging requirements so as to minimize resource inefficiencies and maximize system utilization. Without scheduler-controlled data staging, a job must handle its own data staging. This leads to inefficiencies as a job does not use its assigned compute resources while waiting for its data to be staged. Moab's data staging facilities prevent the loss of compute resources due to data blocking and can significantly improve cluster performance.
This section describes the following:
L.1 Data Staging ModelsMoab supports, or plans to support, four different data staging models:
The DATASTAGEMODEL parameter is used to configure Moab to use one of these models. In each model, Moab handles data staging using a storage resource manager interface. This interface is configured using the RMCFG parameter. To actually drive the storage resource manager, a number of RM interface attributes must be set. The TYPE, RESOURCETYPE, and SYSTEMQUERYURL attributes must always be set. In addition, other attributes will be required depending on the data staging model used. Then, job submission resource managers can use this storage interface to stage data by specifying it with the DATARM attribute.
Moab is pre-packaged with several interface scripts that will work for many situations. These scripts are located in the tools directory (those beginning with *.dstage.pl) and may be customized to fit your particular needs. To use these scripts, simply define a resource manager with the needed URL attribute pointing to the appropriate script. L.2 Verified Data Staging (External)In this model, an external data server entity is responsible for staging needed job data. Moab has no control or influence over the timing or execution of data staging decisions. It can only determine that a job has data staging requirements and avoid starting the job until it can verify that these requirements are met. This data staging model eliminates the situation where a job is assigned resources it is unable to immediately use. To determine when the stage-in operation is complete, Moab uses a storage resource manager SYSTEMQUERYURL interface to retrieve information about the files being staged (see below for more information). Optionally, Moab will provide diagnostic information about the storage resource manager if the CLUSTERQUERYURL interface is specified. To take advantage of Verified Data Staging, a job must be submitted with an indication of its stage-in data requirements. The resource manager extension STAGEIN is used to indicate a job's stage-in data files. This extension can be used directly by the user or inserted via a portal or submit filter. For an example, see the TORQUE submission filter page.
Moab displays information about data staging in: Checkjob The checkjob command reports information on both input and output data stage requests. This information includes the following:
Example
Checknode The checknode command will report information on storage managers' pending, active, and completed data stage requests as well as cluster resources dedicated to these requests. This information includes the following:
Example
L.3 Prioritized Data Staging (Loose)In this model, Moab is assumed to have influence over the order in which data staging operations are executed. Moab still doesn't have full control over the staging, but is responsible for initiating the data staging operations for each job. Also, Moab assumes that the data server is unable to provide an accurate estimate of when a data migration request will be complete. To allow Moab to initiate a data staging operation, a storage manager must be configured with the SYSTEMMODIFYURL and the SYSTEMQUERYURL attributes set. Further, if data manager throttling is desired, the CLUSTERQUERYURL attribute should be set to allow Moab to monitor data resource usage and prevent possible data cache thrashing. If Moab detects a job with data stage-in requirements it first checks that the job's assigned resource manager has a storage manager associated with it. If this is the case and the storage manager has the SYSTEMMODIFYURL attribute set, it will attempt to stage the data by utilizing the interface defined by SYSTEMMODIFYURL. Moab will block the job until the staging operation is complete. Because this model allows Moab to explicitly request data migration actions, Moab can control when each request is made and, to some degree, have data staged according to batch system job prioritization and compute resource availability constraints. Consequently, Moab can seek to maximize the use of the data manager so as to optimize cluster performance and minimize response times for the most important jobs. As mentioned above, if the CLUSTERQUERYURL attribute is set, Moab will monitor and control the disk usage on the storage resource manager. In addition to this attribute, the $MOABHOMEDIR/dataspaces.tab file must be created/modified to include any data space areas that you would like Moab to monitor. Multiple locations on remote nodes can be monitored for availbility and disk space. (See below example for syntax.) Example 1: Prioritized Data Staging with Data Cache Constraints (w/TORQUE)
Example 2: Prioritized Data Staging with Data Cache and Transfer Agent Constraints A given site uses a hierarchical storage manager (HSM) in conjunction with a single large SMP system. Preliminary monitoring indicates that only 25% of SMP to HSM traffic is input file based and 75% is output file based. The site also currently manages data stageback using a homegrown solution which stages data back afterdata_node/cluster/users/storage/ STATE=active job completion. Consequently, in order to free up compute resources at the earliest time possible, Moab needs to intelligently prestage the data to ensure that total data stage does not exceed 25% of total SMP disk resources. In addition, the HSM system is known to perform best with 8 or fewer active data transfer agents. When this value is exceeded, some level of thrashing appears and performance is reduced. In the following configuration, the MAXDSOP attribute is used to prevent more than 8 simultaneous stagein requests and the TARGETUSAGE attribute prevent more than 25% of available disk resources to be consumed by input data staging requests.
Example 3: Grid Data Staging L.4 Submitting Jobs which Request Data Staging ServicesJobs submitted directly by end users, from grid schedulers, or via application or user portals may request intelligent data staging of input files (stage-in) by using the MSTAGEIN resource manager extension. This alerts Moab that the job cannot start until the input data files are staged in by the SYSTEMMODIFYURL interface. All jobs submitted to a resource manager that has an associated storage manager may also exploit an implicitly staging-out of standard out and standard error files. If the associated storage manager is configured with a SYSTEMMODIFYURL interface, then when the job completes successfully, the standard out and error files will be transfered automatically back to the user's home directory. This feature is especially useful for disparate clusters in a grid environment. (Note: This implicit stage-out feature is not currently available for all resource managers.)
|
|||
| © 2001-2010 Adaptive Computing Enterprises, Inc. | |||