April 8, 2022

The Arvados team is pleased to announce Arvados 2.4.0. This is a major upgrade, with many new features as well as bugfixes. We recommend that new and existing installations of 2.3.3 or earlier upgrade to 2.4.0. See Upgrading Arvados for upgrade instructions.

New Features

NVIDIA CUDA GPU support

Arvados now supports running compute containers with access to NVIDA CUDA GPUs. Once GPU instance dispatch has been configured (as described in the support for NVIDIA CUDA GPUs) GPUs can be requested using the cwltool:CUDARequirement CWL extension.

Crunch-run colocated Keepstore

Arvados now supports running a dynamic instance of Keepstore on the same node as the compute container. This should result in better performance and scaling, as read and write requests for Keep blocks no longer need to be routed through separate dedicated Keepstore nodes but instead will be communicate with the underlying storage system (e.g. S3 or NFS) directly. See dedicated keepstore process for each container for details.

Frozen Projects

It is now possible to freeze a project to disallow any modifications to a project or anything contained within it. This is currently only available through the API, Workbench support for frozen projects will be added in the near future.

Groups now visible to all users by default

Groups are now visible to all users by default. This makes it possible to share a project with a group of which you are not a member. The previous behavior (only able to share with groups whom you are also a member) can be configured by setting Users.RoleGroupsVisibleToAll: false.

New API for manipulating collection contents

The Collection create and update APIs now support a replace_files parameter which enables efficiently copying individual files and directory trees from other collections, and copying/renaming/deleting items within an existing collection, with a single API transaction.

Improved arv-mount and arv-get performance

Software using the Arvados Python SDK, including arv-mount and arv-get, are now likely to see 2-3x improved download performance as a result of improvements to the pre-fetch feature of the SDK, enabling parallel block downloads by default.

Improved support for preemptible instances

Users can now control the use of preemptible (spot) instances at the level of individual workflows or workflow steps. Preemptible instance types are also easier to configure.

Improved support for metadata vocabularies

The Arvados Python SDK now supports client-side translation between metadata vocabulary terms and human-readable labels and aliases. Examples can be found in the code cookbook.

The arvados-server config-check command now provides improved error messages if the vocabulary contains problems (such as ambigious/conflicting aliases for terms).

Improved virtual machine management interface in Workbench 2

Workbench 2 now features an improved admin management interface for virtual machines (arvados-managed shell nodes) that makes it easy to add, edit, list, and remove shell accounts on each shell node.

New group management interface in Workbench 2

Workbench 2 now features a new “Groups” management interface enabling users to

  • create, list, and delete user groups on the Arvados instance
  • add, list, and remove members of permission groups
  • list, edit, and remove permissions granted to a group

Improved user management interface in Workbench 2

Workbench 2 now features improved User management, including the ability to see and edit what groups an individual user belongs to.

Bug fixes

#18865

Non-admin users can now correctly manage permission links on objects that are not users or groups.