80 likes | 160 Views
Solve issues in job workflow by optimizing data staging, scheduling, and offloading activities, reducing wasted compute time, and enhancing resource usage and data availability. Automate job I/O activities for faster turnaround time and optimized resource allocation.
E N D
The stagesub tool Sudharshan S. Vazhkudai Computer Science Research Group CSMD Oak Ridge National Laboratory
Problem Space • Users’ job workflow (stage, compute, offload) is mired by numerous issues • Staging and offloading are large data jobs prone to failure • Early staging and late offloading wastes scratch space • Delayed offloading renders result data vulnerable to purging • Compute time wasted on staging/offloading as part of the job
Solution • Recognition that job input and output data needs to be managed more efficiently: in the way it is scheduled • Automatic scheduling of data staging/offloading activities so they can better coincide with computing • Results: • From a center standpoint: • Our techniques optimize resource usage and increase data and service availability • From a user job standpoint: • Our techniques reduce job turnaround time and optimize the usage of allocated time
Coordination between staging, offloading and computation • Motivation • Lack of global coordination between the storage hierarchy and system software • Problems with manual and scripted staging • Human operational cost, wasted compute time/storage and increased wait time due to resubmissions • Our approach • Explicit specification of I/O activities alongside computation in a job script • Zero-charge Data Transfer Queue • Planning and Orchestration
Specification of I/O Activities • Instrumented PBS job script: • #!/bin/bash • #PBS -N ldrdtest • #PBS -l nodes=4 • #PBS -l walltime=00:015:00 • #PBS -q batch • #PBS -A project-account • #PBS -M vazhkudaiss@ornl.gov • #STAGEIN [-d HH:MM:SS] hpssdir://hpss.ccs.ornl.gov/home/vazhkuda/inp [-k /spin/sys/.keytab/vazhkuda.kt] [-p 1217] [-l vazhkuda] file:///ccs/home/vazhkuda/SVLDRD/test/scratch • Multiple stagein directives: from more than one source • Your compute job • #STAGEOUT file:///ccs/home/vazhkuda/SVLDRD/test/scratch/out hpssdir:///home/vazhkuda/inp • Multiple stageout directives: to more than one source • Protocols supported: scp://, hpss://, gsiftp://, file://
Data Transfer Queue • Motivation: • Queuing up and scheduling data transfers • Treats data transfers as “data jobs” • Enables efficient management of data transfers • Specifics: • Zero-charge data transfer queue • Queue operated with the same scheduling policy as compute queue • Queue is managed using access controls to avoid misuse • Added benefit: • Data transfer jobs can now be logged and charged, if need be!
Job Queue Data Queue Orchestration • Parsing into individual stagin, compute and stageout jobs • Dependency setup and management using resource manager primitives: wrapper around qsub Head Node Compute Nodes Job Script 1. Stage Data 2. Compute Job 3. Offload Data Planner I/O Nodes 1 2 after 1 3 after 2
Usage • module load stagesub • man stagesub • stagesub <pbs_script> • References: • Z. Zhang, C. Wang, S. S. Vazhkudai, X, Ma, G. Pike, J.W. Cobb, F. Mueller, “Optimizing Center Performance through Coordinated Data Staging, Scheduling and Recovery”, Proceedings of Supercomputing 2007 (SC07): Int'l Conference on High Performance Computing, Networking, Storage and Analysis, Reno, Nevada, November 2007. • H. Monti, A.R. Butt, S.S. Vazhkudai, “Just-in-time Staging of Large Input Data for Supercomputing Jobs”, Proceedings of Petascale Data Storage Workshop, Supercomputing 2008, Austin, Texas, November 2008.