Looking for a "get started guide"

Extremely new to PBS Pro and to the world of job scheduling.
I’m looking for something along the lines of a get started guide that includes installation and some sort of demo dummy system. Something that tells me how to setup a node or two and run a dummy job on them.

quick question to get my head around
Q1. From what I’ve understood PBS Pro should allow me to submit a job to any of my (ex:10) machines depending on availability and machine load?

now to the installation & demo dummy I’m looking for
So far I’ve found the installation https://github.com/PBSPro/pbspro/blob/master/INSTALL

Also found this which looks like it has a dummy job https://www.webmo.net/support/pbs.html

Q2. Perhaps that’s all there is to it? I was thinking something a little more “complex” w/ nodes and running a job depending on load (I guess if another job is currently running or high cpu loads - docker use case?)

Hi @aanderr

Thank you for your interest in PBS Professional

  • the best approach is to create a VM running CentOS 7 using hypervisors ( VirtualBox or VMware)

  • make sure to turn off the firewalls , selinux , iptables ( reboot the system(VM) after making any changes)

  • give it a hostname and static IP address , so that everytime it boots up it gets the same IP, populate the same in the /etc/hosts (if there are 1 or more nodes all the nodes should have static IP / hostname and should be populated in the /etc/hosts of all the nodes of the PBS complex)

  • here we are installing all in one PBS complex, if you have 1 or more nodes, then you would need to setup common home directory and passwordless ssh for all the users , with stricthostchecking disabled + steps mentioned above

  • create a user account called “pbsdata” with some password

  • Download pre-compiled PBS Pro rpm’s for CentOS 7 from this link https://www.pbspro.org/Download.aspx#download

  • Install the required dependencies ( https://github.com/PBSPro/pbspro/blob/master/INSTALL )
    yum install -y expat libedit postgresql-server postgresql-contrib python3
    ** sendmail sudo tcl tk libical

  • as root unzip the package and yum install pbspro-server*rpm

  • edit /etc/pbs.conf and update PBS_START_MOM=1 ( it will be PBS_START_MOM=0 )
    /etc/init.d/pbs start

  • source /etc/profile.d/pbs.sh

  • qmgr -c ‘s s job_history_enable=true’
    qmgr -c “s s flatuid=true”
    qmgr -c “create queue workq queue_type=e, started=t, enabled=t”
    qmgr -c “set server default_queue=workq”
    qmgr -c “create node pbsserver” # e.g., pbsserver is the hostname of the compute node we are adding

  • su - pbsdata and submit a sleep job as below
    qsub – /bin/sleep 100
    qstat -answ1 # to monitor

  • Documents at this link should be able to help you with the rest
    https://www.altair.com/pbs-works-documentation/

Answer to your queries:

Yes. PBS Professional will schedule your jobs based on the resources requested for your job and resource availability. If you have 1 node with 10 cores and 100GB memory and no jobs in the system, then

  • if you submit a job requesting 6 cores and 60GB memory , then the job will be run
  • if you submit a job requesting 5 cores and 40GB memory , then the job will be queued
  • if you submit a job with 2 cores 20GB memory, then job will run
  • if you submit a job with 2 cores 20GB memory , then the job will run

If you are comfortable follow the above instruction guide.
Instructions in the second link is not related to the PBS Pro OSS version / release.

Sure , this can be done.
Please check the below section from this guide : https://www.altair.com/pdfs/pbsworks/PBS19.2.3_BigBook.pdf
4.9.9.6.i Attributes and Parameters Affecting Cycle Harvesting Based on Load Average

Hope this helps.

1 Like

Hi @adarsh

This definitely helps a lot! Thank you :slight_smile:

I installed CentOS 8 instead as I begun the installation before you replied.
Is CentOS 7 a requirement for PBS Pro to work?

I’m using this kernel version

It is not a requirement, you can compile the PBS Pro OSS source code to the operating system of your choice (please check this link https://github.com/PBSPro/pbspro/blob/master/INSTALL ). However, the pre-compiled installers/rpm are readily made available for CentOS7 and OpenSuse 15. This will get you going with a testbed ASAP. Otherwise, you would have to spend some time in compiling the sources.

I see, thanks! I switched over to CentOS 7. Keeping you posted :slight_smile:

1 Like

Getting a permission denied error @adarsh

Tried this but to no avail

groupadd pbsdata
useradd -g pbsdata -r pbsdata
mkdir -p /var/spool/pbs/datastore
chown pbsdata:pbsdata /var/spool/pbs/datastore

Progress! Still getting errors.
Selinux must be disabled before starting PBS

Did you start the pbs services as root user ?
Please check this discussion: The problem with running on a clean virtual machine

Yes.

This command fails
image

  1. static IP and hostname

  2. /etc/hosts should be populated

    root@pbsserver:~# cat /etc/hosts
    192.168.1.101 pbsserver.pbspro.org pbsserver
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  3. commands are working

  4. firewall disabled , selinux disabled and system should be restarted.

Done

Done

I think? :smiley:

Done

Does the command contain a tilde like so `
or is it a single quote like so ’

I tried both cases, the second giving me a >
Would that be correct or no?

If you copy paste it from windows, then there might be some special characters.
You can use double quotes instead (notepad++ or notepad )

qmgr -c “set server job_history_enable=true”

Please use the IP address of your VM or the system, the information given above was a sample /etc/hosts

Done. Missed that.

image

Please share the output of these commands:

  1. ps -ef | grep pbs_
  2. cat /etc/hosts
  3. hostname
  4. cat /etc/pbs.conf
  5. source /etc/pbs.conf ; cat $PBS_HOME/mom_priv/config
  6. ifconfig

Thank you @aanderr. It seems like the pbs services are not up and running

As root user, please run the below commands and instructiosn:

  1. hostnamectl set-hostname pbsserver --static
    #close the terminal
    #open the terminal and go to step 1

  2. edit /etc/pbs.conf and update

PBS_SERVER=pbsserver

  1. edit /var/spool/pbs/mom_priv/config and update
    $clienthost pbsserver

  2. /etc/init.d/pbs start

  3. ps -ef | grep pbs_

  4. /etc/init.d/pbs status

Thanks, looks much better! However, the errors persist

Please note, all the qmgr commands are to be run by the root user
Please share us the output of this command (run as root user)
0. /etc/init.d/pbs restart

  1. qstat -Bf
  2. netstat -tunap | grep pbs
  3. /etc/init.d/pbs status

If the “qstat” command does not work , then please run the below command and share us the contents of strace.txt. If you do not have strace command, then please install it using yum

strace qstat -Bf -o strace.txt

Ah. I think that did it!

The last two commands:

So the /bin/sleep 100 is supposed to start a job, right?

The snippet has the wrong commands:
I’ve now done /bin/sleep 100 and qstat -answ1 on another terminal and can’t see anything.
image

qstat command