Installing the cluster manager. Currently, Faucets requires that the cluster job scheduling system be the Adaptive Queuing System (aka cluster manager) we have developed. In later versions we plan to support other scheduling systems such as PBS, DQS, etc. To install the cluster manager, download and install the charm++ module from charm.cs.uiuc.edu, and a MySql server from www.mysql.com. Configuring the MYSQL Database ------------------------------ MySQL installation, follow the instructions from the mysql website to install a mysql server. Having started the server connect to it using the mysql client, and execute the floowing commands. mysql> create database ; mysql> use ; mysql> create table jobInfo ( id mediumint primary key NOT NULL DEFAULT '0' auto_increment, name varchar(255), pid mediumint, type smallint, minpe mediumint, maxpe mediumint, createTime TIMESTAMP, bitmap varchar(128), status tinyint not null, fd mediumint, argbuf varchar(255), port mediumint, userName varchar(32), stdout varchar(255), stderr varchar(255), stdin varchar(255), pwd varchar(255), allocatedTime mediumint, startTime int, flags int, email varchar(255), display varchar(255) ); mysql> grant all on *.* to identified by ; #chage code to take password from config file later Starting Up the Cluster Manager -------------------------------- >cd charm_path #path to the charm installation >cd #the architecture with which charm has been built with e.g. net-linux >cd pgms/scheduler #Edit the make file to point to the correct location of the MySql #client library (libmysqlclient.a) and header file mysql.h, will come #with the mysql installation and can also be downloaded from mysql.com >make client; >make scheduler; #Edit the startScheduler file as follows: #Edit Database to match used earlier. #Edit PORT to point to port of the scheduler #Edit DATABASE_HOST DATABASE_USER and DATABASE_PASSWD to point to the database host and #NODELIST points to the nodelist for the schdeuler #CENTRAL_SERVER points to the machine name of the CS and it expects the port to be 1999, currently disabled, CS does not need to talk to the CM #if you want to run the cluster manager as root >su >chown root scheduler >chmod +s scheduler #To start the scheduler > touch stdout > ./startScheduler >>& stdout & Set the environment variable SCHEDULER_PATH to //pgms/scheduler, AND add $SCHEDULER_PATH/qsystem to your path. setenv SCHEDULER_PATH #otherwise, edit the HOST and PORT fields in fjobs, fsub, frun, fquery and fkill, #to point to the host and port of the Cluster Manager Scheduler. >cd qsystem; edit etc... Then: >./fjobs #should print out an output like UserId JobId Processors MinPE MaxPE Status Name CURRENTLY 32 PROCESSORS FREE Submitting Jobs to the Cluster manager directly ----------------------------------------------- frun, runs a job interactively. frun [program_name] [options] [arguments] frun interactively runs the job on the parallel machine (cool cluster) program_name is the name of your compiled executable or script, you should NOT provide an mpirun or a charmrun Options -stdout [filename]: The Std. Output file of the job (default frun terminal) -stderr [filename]: The Std. Error file of the job (default frun terminal) -stdin [filename]: The Std. Input file of the job (default frun terminal) -type [mpi/charm/mcharm/uni]: The type of the job (default charm) -pwd [directory name]: Process Working Directory, (default current directory) -minpe [value] : minimum number of processors used by the job (default 1) -maxpe [value] : maximum number of processors used by the job (default 1) #Processors allocated to the job varies between these bounds ++notify-start, to send email when job starts ++notify-end, to send email when job finishes default email address used is userid@cool2.cs.uiuc.edu -email [address], to send email to address, also sets notify-end by default ++debug, to enable charm++ programs to be debugged, SHOULD HAVE DISPLAY set -time [hh:mm:ss] : time requested for the job (4 hours by default) fsub, submits a job to the queuing system as a batch job, fsub [program_name] [options] [arguments] program_name is the name of your compiled executable or script, you should NOT provide an mpirun or a charmrun Options -stdout [filename]: The Std. Output file of the job (default /dev/null) -stderr [filename]: The Std. Error file of the job (default /dev/null) -stdin [filename]: The Std. Input file of the job (default /dev/null) -type [mpi/charm/mcharm/uni]: The type of the job (default charm) -pwd [directory name]: Process Working Directory, (default current directory) -minpe [value] : minimum number of processors used by the job (default 1) -maxpe [value] : maximum number of processors used by the job (default 4) #Processors allocated to the job varies between these bounds ++notify-start, to send email when job starts ++notify-end, to send email when job finishes default email address used is userid@cool2.cs.uiuc.edu -email [address], to send email to address, also sets notify-end by default ++debug, to enable charm++ programs to be debugged, SHOULD HAVE DISPLAY set -time [hh:mm:ss] : time requested for the job (4 hours by default) fkill, kills the job fkill [job_id] fjobs, reports the status of all the running and queued jobs.