1 / 15

High-Performance Grid Computing and Research Networking

High-Performance Grid Computing and Research Networking. How to Use the Cluster?. Presented by Javier Delgodo Slides prepared by David Villegas Instructor: S. Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Teaching/ sadjadi At cs Dot fiu Dot edu. Acknowledgements.

rod
Download Presentation

High-Performance Grid Computing and Research Networking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. High-Performance Grid Computing and Research Networking How to Use the Cluster? Presented by Javier Delgodo Slides prepared by David Villegas Instructor: S. Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/Teaching/ sadjadi At cs Dot fiu Dot edu

  2. Acknowledgements The content of many of the slides in this lecture notes have been adopted from the online resources prepared previously by the people listed below. Many thanks! Henri Casanova Principles of High Performance Computing http://navet.ics.hawaii.edu/~casanova henric@hawaii.edu

  3. Is MPI enough? MPI submits the jobs using rsh/ssh There is no control of who runs what! For multiple users in the cluster, we want to have privileges, authentication, fair-share...

  4. Introducing Batch Schedulers A job scheduler provides more features to control job execution: Interfaces to define workflows and/or job dependencies Automatic submission of executions Interfaces to monitor the executions Priorities and/or queues to control the execution order of unrelated jobs

  5. Batch Schedulers Most production clusters are managed via a batch scheduler: You ask the batch scheduler to give you X nodes for Y hours to run program Z At some point, the program will be started. Later on you can look at the program output This is really different from what you’re used to, and honestly is sort of painful No interactive execution Necessary because: Since most applications are in this for high performance, they’d better be alone on their compute nodes There are not enough compute nodes for everybody at all times

  6. Scheduling criteria Job priority Compute resource availability License key if job is using licensed software Execution time allocated to user Number of simultaneous jobs allowed for a user Estimated execution time Elapsed execution time Availability of peripheral devices Occurrence of prescribed events …

  7. The case of GCB Rocks allows us to install different job schedulers: SGE, PBS, LSF, Condor… Currently we have SGE installed. Sun Grid Engine is an open source DRM (Distributed Resource Manager) sponsored by Sun Microsystems and CollabNet. It can be downloaded from http://gridengine.sunsource.net

  8. Our Cluster You have (or soon will get) an account on the cluster Question: once I am logged in, what do I do? Clusters are always organized as A front end node To compile code (and do minimal testing)‏ To submit jobs Compute nodes To run the code You don’t ssh to these directly In our case they are dual-proc Pentiums

  9. How to use SGE as a user? You need to learn how to do three basic things Check the status of the platform Submit a job Check on job status All can be done from the command line Read the man pages Google “SGE commands” Checking on platform and job status qhost Information about nodes qstat –f Information about queues qstat –F[ resource ] Detailed information about resources qstat lists pending/running/done jobs

  10. How to use SGE as a user?(contd.)‏ Submitting and controlling jobs qsub We can pass the path to a binary or a script qsub –b yes Submits a binary qsub –q queue list Specifies to what queue the job will be sent qsub –pe parallel-env n Allows to send a parallel job qdel Attempts to terminate a range of jobs But for those of you who don’t like the command line… qmon Be sure that you are forwarding X11 and that you have a X server in your client machine!

  11. How to use SGE as a user?(contd.)‏ But sending a single command is not very interesting… Submitting scripts Scripts can submit many jobs We can pass options to SGE and consult environment variables. Example: #$ -cwd Use the currend directory as work directory #$ -j y Join errors and output in the same file #$ -N get_date Give a name to the job #$ -o output.$JOB_ID Use a given file for output $JOB_ID: The job number assigned by the scheduler to your job $JOBDIR: The directory your job is currently running in $USER: The username of the person currently running the job $JOB_NAME: The job name specified by -N option $QUEUE: Current running queue

  12. How to use SGE as a user?(contd.)‏ Submitting parallel jobs We can define parallel-environments to execute this kind of jobs. Parallel environments define startup procedures, maximum number of slots, users allowed to submit parallel jobs… Examples: mpich, lam … SGE allows "Tight Integration" with MPICH by intercepting the calls MPICH makes to run your job on other machines, and replacing those calls with SGE calls so that it may better monitor and manage your parallel jobs. ( Source http://rc.usf.edu/sge/submit.php )‏ It is also possible to integrate other MPI flavors with SGE

  13. How to use SGE as an admin? Scheduler configuration. This values are found in /opg/gridengine/default/common/sched_configuration These values can only be altered using qconf or qmon algorithm default schedule_interval 0:0:15 maxujobs 0 queue_sort_method load job_load_adjustments np_load_avg=0.50 load_adjustment_decay_time 0:7:30 load_formula np_load_avg schedd_job_info true flush_submit_sec 0 flush_finish_sec 0 params none reprioritize_interval 0:0:0 halftime 168 usage_weight_list cpu=1,mem=0,io=0 compensation_factor 5 …

  14. How to use SGE as an admin? (contd.)‏ Queue configuration Queues are created with qmon or qconf qconf –shgrpl show all host groups qconf -ahgrp group add a new host group qconf –shgrp group show details for one group qconf –sq queue shows a queue configuration qconf –Aq file create a queue from a file We’ll output a queue configuration to a file and modify it. Exercise: create a short/test job queue. Which are the best policies for this kind of queue?

  15. Queue parameters qname hostlist seq_no load_thresholds suspend_thresholds nsuspend suspend_interval priority min_cpu_interval processors qtype ckpt_list pe_list rerun slots tmpdir shell … For the rest, type man queue_conf

More Related