No description
- Shell 100%
| Ansible | ||
| Bash | ||
| LICENSE | ||
| README.md | ||
Beowulf-Cluster
Made by: Paul Gleason, Matt Compton
Project Description
This project is to hold our scripts and configs to configure multilocal computing using Chapel.
Goals
- Learn more about Chapel and parallel computing
- Make scripts to setup client and controller install scripts
Progress
- client-install.sh
- controller-install.sh
- Have connectivity between nodes and controller
- Figure out multinode configuration
- Test benchmark
- Make weather prediction application
- Have fully running weather prediction
Prerequisites
Networking
- 6 Static IP's
Devices
- 6 Updated Debian machine
OS Config
- sudo user
Environment
Controller
- OS: Debian 11
- Number of Nodes: 1
- Hosts file to contain nodes
Nodes
- OS: Debian 11
- Number of Nodes: 5
- Host file to contain other nodes and controller
Script Setup
controller-install.sh
- Be in the a users home directory.
wget https://raw.githubusercontent.com/ChampPG/Beowulf-Cluster/main/controller-install.shchmod +x controller-install.sh./controller-install.sh- If you already have ssh-keys generated This won't pop up
- Configure SSH-Keys how you would like
- Enter
- Now script will update debian and install Chapel Prerequisites.
client-install.sh
- Be in the a users home directory.
wget https://raw.githubusercontent.com/ChampPG/Beowulf-Cluster/main/client-install.shchmod +x client-install.sh./client-install.sh- If you already have ssh-keys generated This won't pop up
- Configure SSH-Keys how you would like
- Enter
Manual Setup
Controller
sudo hostnamectl set-hostname controller- Rename machine- Configure /etc/hosts
ssh-keygen- Generate SSH keys- Install Prerequisites
sudo apt-get update sudo apt-get install gcc g++ m4 perl python3 python3-dev bash make mawk git pkg-config cmake sudo apt-get install llvm-dev llvm clang libclang-dev libclang-cpp-dev libedit-dev wget https://github.com/chapel-lang/chapel/releases/download/1.29.0/chapel-1.29.0.tar.gz- wget Chapel-1.29.0.tar.gztar xzf chapel-1.29.0.tar.gz- untar ball Chapel-1.29.0cd chapel-1.29.0- Enter Chapel dirsource util/setchplenv.bash- Set sourcesudo make- Compiler Chapel | Will take some time..../util/printchplenv- Show current Chapel environmentexport CHPL_HOME=/home/<user>/chapel-1.29.0.tar.gz- Set CHPL_HOMEexport CHPL_COMM=gasnet- Set CHPL_COMMcd $CHPL_HOME- Enter $CHPL_HOMEmake- Recompilechpl -o hello $CHPL_HOME/examples/hello6-taskpar-dist.chpl- Make hello programexport GASNET_SPAWNFN=S- Set GASNET_SPAWNFNexport GASNET_SSH_SERVERS="node1 node2 ..."- Set GASNET_SSH_SERVER
Client
sudo hostnamectl set-hostname node<XX>- Rename machine- Configure /etc/hosts
ssh-keygen- Generate SSH keys- Install Prerequisites
sudo apt-get update sudo apt-get install gcc g++ m4 perl python3 python3-dev bash make mawk git pkg-config cmake sudo apt-get install llvm-dev llvm clang libclang-dev libclang-cpp-dev libedit-dev wget https://github.com/chapel-lang/chapel/releases/download/1.29.0/chapel-1.29.0.tar.gz- wget Chapel-1.29.0.tar.gztar xzf chapel-1.29.0.tar.gz- untar ball Chapel-1.29.0cd chapel-1.29.0- Enter Chapel dirsource util/setchplenv.bash- Set sourcesudo make- Compiler Chapel | Will take some time..../util/printchplenv- Show current Chapel environmentexport CHPL_HOME=/home/<user>/chapel-1.29.0.tar.gz- Set CHPL_HOMEexport CHPL_COMM=gasnet- Set CHPL_COMMcd $CHPL_HOME- Enter $CHPL_HOMEmake- Recompilechpl -o hello $CHPL_HOME/examples/hello6-taskpar-dist.chpl- Make hello programexport GASNET_SPAWNFN=S- Set GASNET_SPAWNFNexport GASNET_SSH_SERVERS="controller node1 node2 ..."- Set GASNET_SSH_SERVER | Test without doing this step first as well. For this step make sure not to put the current node in the list


