wiki:WikiStart

Version 46 (modified by dlove, 7 years ago) (diff)

--

Welcome to the Son of Grid Engine project

The Son of Grid Engine is a community project to continue Sun's old gridengine free software project that used to live at http://gridengine.sunsource.net, now that Oracle have shut down the site and are not contributing code. It will maintain copies of as much as possible/useful from the old site.

The idea is to encourage sharing, in the spirit of the original project, informed by long experience of free software projects and scientific computing support. Please contribute, and share code or ideas for improvement, especially any ideas for encouraging contribution.

This effort precedes Univa taking over gridengine maintenance and subsequently apparently making it entirely proprietary, rather than the originally-promised ‘open core’, but what's here is nearly a large superset of Univa's free code. See also the gridengine.org site, in particular the mail lists hosted there. The gridengine.org users list is probably the best one to use for general gridengine discussions and questions which aren't specific to this project.

Currently most information you find for the gridengine v6.2u5 release will apply to this effort, including the v6.2u5 wiki documentation and pointers therefrom, including the gridengine.info site and its wiki. The intention is to convert the Sun wiki documentation into another format and update that.

This wiki isn't currently generally editable, but will be when spam protection is in place; yes it needs reorganizing and expanding. If you're a known past contributor to gridengine and would like to help, please get in touch for access or to make any other contributions.

News

  • 2011-11-29: Version 8.0.0d is available, primarily correcting potential build problems with GCC and a regression with classic spooling (spool being deleted bogusly).
  • 2011-09-29: Version 8.0.0b is available with fixes for building (particularly on Red Hat 6), installation and documentation.
  • 2011-07-26: There's a long-overdue release 8.0.0a, based on the 8.0.0 tag of Univa's github repo, and tagged 800a in the darcs repo. See the NEWS file for information on changes. Note that the spool format for this version has changed from previous test versions so that live upgrades from v6 installations work. Binaries are available for a few platforms I have available. Only the SGE component is currently there; ARCo and others should follow.
  • 2011-03-17: Manpages and Javadocs are now online, as requested. See Other Resources.

Repositories/Source

There are several distinct source repositories converted from the last Sunsource CVS versions of the same name. The sge one actually only goes back to the V60 tag — i.e. not including version 5.3 — and also has some re-buildable files removed, to keep it a bit more manageable. Only the repository trunk was converted in each case, but see History.

Also, some files are omitted from those in the head of the sunsource sge repo as follows; any others missing are probably a mistake unless they're noted in the change history:

  • www top-level directory: Not really relevant for a distribution, although some of it can probably be converted into useful documentation for distribution later;
  • review top-level directory: Just a set of tick sheets for Sun internal use;
  • gep top-level directory: The portal, which may not actually be functional now, and is anyway based on a proprietary server;
  • HTML documentation: This is either rebuild-able (like Javadocs) and/or probably not useful outside the gridengine web site (like HTML-ized man pages).

In other repos, .jar files have mostly been removed (especially as some of them were from copyleft source), and the directories for support of obsolete versions have been removed from nbgui. This may affect building Java sources.

The repositories are maintained under darcs,1 but are mirrored to Mercurial and git — see below. To clone the sge repo, get a recent version of darcs — at least version 2 and preferably 2.5 — and then run

darcs get --lazy --set-scripts-executable http://arc.liv.ac.uk/repos/darcs/sge

which will create a directory sge of the current source. The head of the source tree is actually available directly via the Repository URL links for each repository, and if you really need all the current source without a darcs or hg client, this should do the trick:

wget -r -X /repos/darcs/sge/_darcs -np http://arc.liv.ac.uk/repos/darcs/sge 
find arc.liv.ac.uk/repos/darcs/ -name index.html\\?\* | xargs rm

Alternatively, you can get a tarball from the snapshot directory, but snapshots currently aren't made automatically, so it may not be so up-to-date.

You can access the repos with Mercurial (hg) at the same URLs as with darcs, e.g. hg clone http://arc.liv.ac.uk/repos/darcs/sge/. (They should probably be aliased to avoid confusion.) You can also pull with git, but the relevant URL is the darcs one with /.git appended, e.g. git clone http://arc.liv.ac.uk/repos/darcs/sge/.git. Servers aren't currently available for hg or git, so pulling may be relatively slow Also note that pulls with git or hg leave scripts not executable — see the amended build instructions.

Building

Building the source is currently rather a pain, which is something to improve urgently. With appropriate development packages installed — they need documenting (but see #1305) — it should build on GNU/Linux in Bourne shell with something like this:

cd source
csh aimk -only-depend && scripts/zerodepend && ./aimk depend &&
./aimk

(The aimk arguments are set up to default to -system-libs -no-gui-inst.) To avoid Java stuff, try:

cd source
csh aimk -only-depend && scripts/zerodepend && 
./aimk -no-java -no-jni depend &&
./aimk -system-libs -no-gui-inst -no-java -no-jni

The explicit use of csh the first time allows aimk to set necessary executable permissions, which will be missing if you pulled with git or hg, or didn't use --set-scripts-executable with darcs. See ticket #821 about the --no-gui-inst.

For further information, see README.BUILD and README.aimk in the source tree, and ignore any inappropriate references to the sunsource web site, at least — those documents need review in the absence of a better build system.

Bug reporting, patches, and mail lists

There is a subscribers-only general mail list sge-discuss@liv.ac.uk; see https://arc.liv.ac.uk/mailman/listinfo/sge-discuss, or subscribe by mail as usual for Mailman.

You can report bugs by mail in the convenient time-honoured fashion to sge-bugs@liv.ac.uk, with control available via email2trac. They are gatewayed to the issue tracker and to a list. You can subscribe to the bugs list if you like, or keep track via the RSS feed on the tickets page. You can create an account to put tickets in the tracker via a web form, or use the "tourist" account with "sge" as the password. If you are just visiting, it's probably useful to put a mail address in the report so that you can be contacted about it. If a report doesn't show up in the tracker, it has probably fallen foul of our site spam filter, sorry.

The best way to send patches is to record them in a clone darcs repository and use darcs send. Until arrangements are made for direct contributions, they will be pushed into the main repository by hand if they look reasonable. Otherwise, you can attach normal patches to tickets or just mail them (see Contact), maybe even against the 6.2u5 source, if you have them ready-made.

If you do record changes with darcs, make the patch name a useful short summary of the patch, and include the number of any ticket it fixes in the form fix #N, where N is the ticket number. If it also refers to an item N in the sunsource Issuezilla system, it's useful to include that also in the form IZN even though the imported tickets have that reference.

History

As well as the partial gridengine-users mail archive the original CVS repositories have been mirrored completely, along with copies of all the items in the old issue tracker — ‘Issuezilla’, sometimes referred to as ‘IZ’, and the general material from the sunsource web site. Oracle promised to donate artifacts from the old site, but it doesn't look as if we'll ever see those. Most of the extra information is available via the page of extra information.

The active IZ issues have been transferred to the issue tracker here, though some have somewhat suffered in the process; unfortunately I only discovered after the fact that they were accessible as an XML dump. MarkMail appears to have complete archives of the gridengine mail lists currently online, though with a less than ideal interface, and Gmane has gridengine-users from 2006 onwards via HTTP and NTP, although it is quite fragmentary apart from more recent items. We have a partial archive of the old -users and -dev lists (but mixed up, non-threaded, and currently not indexed) pending supply of the complete archive from sunsource. Beware of referring to items in that archive, as the URLs won't be stable until we get the complete archives.

Copyright and Naming

The Sunsource material has been copied according to the original sunsource terms. Material here has an explicit or implicit copyright under the same terms, i.e. code with no explicit terms is covered by the SISSL, and other (non-code) contributions have a permissive licence per the sunsource terms. Any explicit licence must be a free software or free documentation one, compatible with any material it modifies. The original source code is obviously under the original (rather odd!) SISSL, except for some more-or-less ‘third party’ stuff like qmake.

The appendix to the SISSL requires a conformance test to use names like ‘Grid Engine’ for a modified version, but this appears not to be relevant if we satisfy the publishing source provisions of §3.1, according to legal advice obtained by and relayed by Univa, so the original idea of a 6.2u5 compatibility mode has been dropped.

Univa wouldn't say whether they have any relevant trademark interests, so care has been taken to avoid possible issues with that.

Note that, contrary to what Univa have claimed, there is no evidence that any Sun (or other) material here is being distributed without an appropriate licence, let alone wilfully. See the rebuttal. Reports of licensing bugs are very welcome, of course.

As well as Univa's public repo, there's another project, Open Grid Scheduler, or ‘gridscheduler’, which is also continuing work on gridengine but has different aims. Unlike this one, its repository doesn't use a distributed revision control system, and doesn't include history from before the gridengine v6.2u5 release, or the documentation. It would be better if there was only one project, but this satisfies the need for those things missing from OGS (and more, like a bug-tracker that doesn't involve creating yet another account), which should ease contributing.

The sge source here is currently a superset of OGS's, and is likely to remain so. It includes the changes from OGS, or close equivalents, plus some important fixes for persistent or immediate crashes in some circumstances, and other less important changes, as well as documentation. It is currently more unstable than OGS, but breakage should get fixed, at least if it isn't inherited from the original code base, and there will probably be stable and development branches eventually.

Other Resources

  • Oracle have a Oracle Grid Engine Forum, but it's presumably specific to Oracle's version, and users@… is likely to be at least as helpful; also you might want to note the terms of use before posting in that forum.

Contact

For problems with this site or queries that aren't appropriate for the list, contact Dave Love, d.love(SGE) @ liverpool.ac.uk, or you can open a ticket in the issue tracker against component "hosting". In case our spam-blocking appears to defeat you, I'm also fx(SGE) @ gnu.org. — Happy hacking


  1. 1. Darcs is a nice distributed version control system, but doesn't currently scale so well with a repository of this size and age. It's fine for looking at the change history and recording new changes, but currently slow at producing diffs for previous changes, for instance.