Euler III Beta Testing
The information on this wiki page is obsolete, as the Euler III beta testing phase is over.
The Euler III extension to the Euler cluster has been put into production on Wednesday, 10 May 2017.
Serial jobs or single-node parallel jobs using from 1 to 4 cores and use up to 30 GB of total memory per node may run on these nodes from then on.
Contents
Select or avoid Euler III nodes
For a short time after these nodes enter production, you can force or prevent your jobs from running there. To force your job to run on these nodes, request the “-R beta” bsub option:
bsub -R beta [other bsub options] ./my_command
To prevent your job from running on these nodes, request the “-R stable” bsub option:
bsub -R stable [other bsub options] ./my_command
Known issues
See the Troubleshooting section below for solutions to issues you may encounter.
- NAS NFS mounts
- Euler III nodes are in a different IP range than the rest of the Euler nodes. If you use your own NAS, then you need to change the export rules and/or update your firewall to include the new IP addresses. The NAS shares provided by the Storage Group of the IT Services have been automatically changed to include the new IP ranges. You can test whether your NAS is affected by submitting a test job to list some files on your NAS:
bsub -R beta -Ip ls /nfs/my-nas-server/my-nas-volume (with appropirate substitutions). - Infiniband and MPI
- Euler III nodes do not have an Infiniband network, but they do have a fast, low-latency Ethernet interconnect. MPI jobs requesting 5 or more cores will by default continue to run exclusively on Euler I and II nodes with the Infiniband network. Although not recommended, refer to Submitting parallel jobs below for details on running parallel jobs on Euler III nodes.
- Back connections (from Euler to external server)
- If your job connects to your workstation or another external server, such as MATLAB MDCS, you will need to change your firewall and/or access rules because Euler III nodes are in a different IP range than the rest of the Euler nodes.
- Missing libraries
- Euler III nodes run CentOS 7, unlike the rest of Euler, which runs CentOS 6. Some libraries may be missing, especially for self-compiled programs. Refer Missing libraries below if you encounter problems.
- Jobs submitted from Euler III nodes can only run on other Euler III nodes.
- Jobs submitted on a CentOS 7 must run on another CentOS 7 node. For now, only Euler III can run such jobs.
Submitting beta jobs
To submit a job to run on the beta Euler III nodes, you must request the beta resource, e.g.,
bsub -R beta [other bsub options] ./my_command
Submitting parallel jobs
While the Euler III nodes are targeted to serial and shared-memory parallel jobs, multi-node parallel jobs are still accepted.
You need to tell the system that Infiniband is not available,
module load interconnect/ethernet
before loading the MPI module. Then you need to request at most four cores per node:
bsub -R beta -R "span[ptile=4]" [other bsub options] ./my_command
- Open MPI
- Open MPI 1.6.5 has been tested to work with acceptable performance.
- Open MPI 2.0.2 has been tested to work
- MVAPICH2
- MVAPICH2 2.1 works but preliminary results show low scalability. You need to load the interconnect/ethernet module.
- Intel MPI
- Intel MPI 5.1.3 has been tested.
Troubleshooting
Missing libraries
Euler III nodes run CentOS 7, which includes many updated libraries. We have included as many backward-compatible libraries as possible in the default system. However, due to stability and operational concerns, there are some that we had to install as a separate module.
If your program aborts with an error message such as
[leonhard@eu-ms-001-01 ~]$ ./some_program some_program: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
but it works on the other, older, Euler nodes, then one of the libraries is not found.
Self-compiled programs
If you have built your program yourself, then for now it is advisable to load the “legacy” and “centos_cruft/6” modules before submitting your beta job (or before calling your program within your job shell script). For example,
[leonhard@euler00 ~]$ module load legacy centos_cruft/6 [leonhard@euler00 ~]$ bsub -R beta ./my_program
Euler-provided programs and modules
Let us know if you encounter this problem when using a program provided by us so we can fix it for all users. Please include the error message in your report.