daimh / sge

Some Grid Engine/Son of Grid Engine/Sun Grid Engine
94 stars 35 forks source link

Some Grid Engine/Son of Grid Engine/Sun Grid Engine

Table of contents
  1. About SGE
  2. Requirements
  3. Three different installation methods
  4. Quick test on one machine
  5. Installation
  6. Contribute
  7. License
  8. Acknowledgments

About SGE

Some Grid Engine is a fork of Son of Grid Engine at University of Liverpool, with SOME improvement.

We have been using, maintaining this famous software at Michigan Neuroscience Institute, University of Michigan for over a decade. We also test it weekly with the latest version of all major Linux distros. It is stable and good enough for a small HPC cluster. Here share it on GitHub, hoping more peoples can benefit from it.

Improvements

Requirements

tested with all the Linux distributions below, patched up to the specified date


- **openSUSE Leap**, 2024-10-27

zypper -n addrepo http://download.opensuse.org/distribution/leap/15.5/repo/oss/ oss zypper -n install cmake gcc gcc-c++ git hwloc-devel libdb-4_8-devel libtirpc-devel libXext-devel motif-devel ncurses-devel openssl-devel pam-devel pkgconf rsync systemd-devel wget


## Three different installation methods

1) **CMake**, recommended

cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/opt/sge cmake --build build -j sudo cmake --install build

Please check [the tested environment below](#environmet) in case of any compiling issue.

2) **Legacy SGE installation on modern Linux distributions**

make sudo make install

Please check the original source/README.BUILD for detail

3) **Legacy SGE installation on Arch Linux**

cp PKGBUILD.in PKGBUILD makepkg sudo pacman -U sge-r*.pkg.tar.zst


## Quick test on one machine
- step 1, as root.

useradd -r -d /opt/sge sge chown -R sge /opt/sge cd /opt/sge yes "" | ./install_qmaster yes "" | ./install_execd source /opt/sge/default/common/settings.sh qhost -q #you should be able to see five lines of output qconf -as $HOSTNAME #add this node as submit host


- step 2, as a regular account

source /opt/sge/default/common/settings.sh echo hostname | qsub -cwd watch qstat #check job status ls STDIN.* #check job output


## Installation

All SGE services are running under user **sge** for security reason, as this is production system.

Assuming master node hostname is **master**, and execution nodes hostnames is **node-XX**.
**/etc/hosts** on master and all nodes shoud be like it:

10.1.1.1 master 10.1.1.11 node-01 10.1.1.12 node-02 ... 10.1.1.1N node-0N


#### The first - on all nodes as root

ping master ping node-XX useradd -u -r -d /opt/sge sge

sge UID should be identical on all machines.

#### The second - on master as root

First of all, change option **admin_user** in [bootstrapfile](http://gridscheduler.sourceforge.net/htmlman/htmlman5/bootstrap.html)

chown -R sge /opt/sge cd /opt/sge yes "" | ./install_qmaster source /opt/sge/default/common/settings.sh qconf -as master

Next commands it's necessary to run for each nodes in cluster:

qconf -ah node-01 qconf -ah node-02 ... qconf -ah node-0N


#### The third - on all execution nodes as root

mkdir -p /opt/sge/default chown -R sge /opt/sge/default scp -pr master:/opt/sge/default/common /opt/sge/default/common cd /opt/sge yes "" | ./install_execd source /opt/sge/default/common/settings.sh qhost -q


#### The fourth - on master as any non-root user

source /opt/sge/default/common/settings.sh echo hostname | qsub -cwd watch qstat cat STDIN.*



## Contribute

Contributions are always welcome!

## License

Written by [Manhong Dai](mailto:daimh@umich.edu)<br>
Copyright © 2002 University of Michigan.<br>
License [SISSL](https://opensource.org/licenses/sisslpl)<br>
This is free software: you are free to change and redistribute it.<br>
There is NO WARRANTY, to the extent permitted by law.<br>

## Acknowledgments

https://arc.liv.ac.uk/trac/SGE, Sun, and Oracle<br>
[fretn](https://github.com/fretn/sge)<br>
[ondrejv2](https://github.com/ondrejv2/sge)<br>
Ruth Freedman, MPH, former administrator of MNI, UMICH<br>
Thomas Wilson, M.D., Ph.D. Professor of Pathology, UMICH<br>
Huda Akil, Ph.D., Director of MNI, UMICH<br>
Stanley J. Watson, M.D., Ph.D., Director of MNI, UMICH<br>
Fan Meng, Ph.D., Research Associate Professor, Psychiatry, UMICH<br>