[[TracNav(nocollapse)]] = Batch Systems on MacOS X = == Torque == * [http://www.clusterresources.com/products/torque/ Information Page] == Sun Grid Engine == * [http://gridengine.sunsource.net/ Information Page] * [http://gridengine.sunsource.net/downloads/latest.html Download (requires registration)] * [http://wikis.sun.com/display/gridengine62u5 Documentation] == Slurm == * [https://computing.llnl.gov/linux/slurm/ Information Page] * [https://computing.llnl.gov/linux/slurm/download.html Download Info] * [https://computing.llnl.gov/linux/slurm/documentation.html Documentation] This is a batch system used at many supercomputing centers and is noted for its simplicity and scalability. In the grid context, torque wrappers exist for the slurm command line utilities that would make integration into the grid straight-forward. Although MacOS X is listed on the site as one of the supported platforms. It uses a non-posix call (GNU extension) within the C library that does not exist on MacOS X: {{{getgrent_r()}}}. This call is in the file {{{partition_mgr.c}}}. This is intended to be a reentrant (thread-safe) version of {{{getgrent()}}} that allows looping over the defined groups. Hence the code does not compile on MacOS X. The manpages for similar C functions are explicitly marked as being thread-safe. However, this particular function is not so marked and testing would have to be done to determine whether it is indeed thread-safe. Rewriting the code would be fairly easy to do if getgrent() on MacOS X is indeed thread-safe. This problem occurs with both the production release of slurm (2.1.4) and the development release (2.2.0-0.pre2).