OpenPBS and Version 20.0

Hi,

Two big announcements: the open source project name is changing to “OpenPBS” and version 20.0 is coming in the next few weeks, and includes a great set of new features and fixes.

OpenPBS

The PBS software is dual-licensed — a single core technology, available under both an open source license and a commercial license — and this approach has been truly successful, with innovations flowing between researchers and enterprises, and with a large and growing community, globally. We continue to be 100% committed to this strategy — the core job scheduling and workload management technology will continue to be “a single core” and dual-licensed. However, to reduce “version confusion”, we are giving each version a distinct name: OpenPBS will be the open source licensed version, and PBS Professional (or PBS Pro) will be the commercially licensed version.

Over the next few weeks, we will be making changes to update the name to OpenPBS, including moving the main project page to openpbs.org, moving the source code repos to github.com/openpbs, updating the RPM names, and a lot of other stuff. The changes will be made in as seamless a way as possible, but, as with any major update, you may encounter an issue or two; we ask that you be patient and report any issues on the community forum.

Version 20.0

The first release under the OpenPBS name will be version 20, and we are targeting it for late April / May. And, wow, it’s another big release, including:

  • Faster scheduling via multithreading, better job dispatch (~30x faster), and better preemption (~2x faster)
  • Faster/better turnaround by allowing a job which could run on multiple different combinations of resources, start on the first/best available (via the Beta “runone" dependency)
  • Faster, more scalable, hook throughput via pre-cached job data and a non-blocking execjob_end event; plus, additional hook events, including pre-resume and post-suspend
  • Native PBS support for the Cray Shasta platform
  • Numerous advance reservations enhancements:
    • Admins can reserve nodes for maintenance via “force” creating “maintenance” reservations
    • Long-waiting jobs can “keep their place in the queue” despite startup faults or human errors by converting these jobs to new “start reservations” (which an admin can do automatically)
    • “Idle” reservations can be automatically ended to free resources
    • Reservation owners can add users/groups and, when allowed, change durations
    • Support for MultiSched and replacing “down” nodes in running reservations
  • Accounting records now include full submission information (including dependencies), updates on qalter, and suspend/resume event information
  • Plus, improvements for cgroups, job arrays, qstat, preemption, MOM footprint, and more. View the full list of enhancements and bug fixes via the commit logs.

As we move forward with the transition, and with the release of version 20.0, I’ll post updates to the community forum, so “watch this space”!

On a personal note (during this crazy and troubling C-19 time), please be safe, wash your hands, and take care of yourselves and your families. And, to those of you on the front lines — THANK YOU!

Best,

- bill

Bill Nitzberg, OpenPBS Community Manager

8 Likes

Quick Update:

The big renaming to OpenPBS is starting this weekend (follow Renaming Github Repo pbspro -> openpbs for details), then we expect to release OpenPBS v20 by the end of the month.

OpenPBS v20.0 is Officially Released – a big “Thank You” to all the contributors!

Downloads are available for CentOS 8, openSUSE Leap 15, and Ubuntu 18.04 via openpbs.org.

We are still working on all the updates for the name change to OpenPBS. In particular, we will be updating this Forum soon, so you may need to adjust email rules (stay tuned). Other changes, e.g., for the Contributor portal (pbspro.atlassian.net) will come later.

OpenPBS v20.0 Highlights

Important upgrade note: rpm -U cannot be used to upgrade from an earlier release (because the software name has changed to OpenPBS). Overlay and migration upgrades from v19.1 to v20.0 should work. To do an overlay upgrade: (1) stop PBS, (2) make a backup of your installation, (3) uninstall the older version of PBS via “rpm -e”, (4) install the new OpenPBS via “rpm -i”, and (5) start PBS up again.

What’s New?

  • Faster scheduling via multithreading, better job dispatch (~30x faster), improvements preempting large numbers of jobs (~2x faster), and asynchronous job updates.

  • Faster/better turnaround and utilization via a new BETA feature: “runone” dependencies, which runs the first job possible among a set of alternatives, i.e., run job X or Y or Z, whichever will start first.

  • Faster, more scalable, hook throughput via pre-cached job data and a non-blocking execjob_end event; plus, additional hook events, including pre-resume and post-suspend

  • Native PBS support for the Cray Shasta platform

  • Plugin framework (hooks) upgraded to support Python 3

  • Numerous advance reservations enhancements: supporting multisched, freeing idle reservations via timeouts, replacing failed nodes in running reservations, changing durations, updating allowed users/groups, explicitly freeing some allocated resources (to shrink a reservation), and creating maintenance reservations regardless of node state

  • Long-waiting jobs can “keep their place in the queue” despite startup faults or human errors by converting these jobs to new “start” and “now” reservations (which an admin can do automatically, e.g., based on job size)

  • Accounting records now include full submission information (including dependencies), updates on qalter, and suspend/resume event information

  • Enhanced cgroup functionality: flexible configuration for heterogeneous clusters, control of memory.swappiness, support for “cpu” subsystem, and replacement of old cpuset MOM on HPE systems.

  • Plus, preemption by deletion for non-rerunnable jobs, additional qstat -w (wide) options, smaller MOM disk footprint, ability to hold subjobs, consistent log_events attribute for the scheduler, select statement syntax for pbs_release_nodes, support for multiple authentication methods, and more.

View the full list of enhancements and bug fixes in the commit logs.

2 Likes