Soft Affinity for Workloads

*

One Line Summary

For weak performance isolation with multi-tenancy for some applications
by allowing space partitioning of CPUs, there is a need for applications
to specify soft affinity to some CPUs. So that one "group" does not
interfere with other "groups", yet allow the group to occupy the full
set of CPUs when no one else is using it. Currently, CFS allows time
sharing of CPUs and sched_setaffinity allows for "hard" affinity (or
restricting CPUs to a given mask or set).
One solution could be to to add a new cpumask other than cpus_allowed
(which is used for "hard" affinity). Let's say cpus_preferred. And allow
an application to set a preference to a set of CPUs if it so desires.

Abstract

For weak performance isolation with multi-tenancy for some applications
by allowing space partitioning of CPUs, there is a need for applications
to specify soft affinity to some CPUs. So that one “group” does not
interfere with other “groups”, yet allow the group to occupy the full
set of CPUs when no one else is using it. Currently, CFS allows time
sharing of CPUs and sched_setaffinity allows for “hard” affinity (or
restricting CPUs to a given mask or set).
One solution could be to to add a new cpumask other than cpus_allowed
(which is used for “hard” affinity). Let’s say cpus_preferred. And allow
an application to set a preference to a set of CPUs if it so desires.

Speaker

  • Photo_james_w800

    James E.J. Bottomley

    IBM Research

    Biography

    James Bottomley is a Distinguished Engineer at IBM Research where he
    works on Cloud and Container technology. He is also Linux Kernel
    maintainer of the SCSI subsystem. He has been a Director on the Board
    of the Linux Foundation and Chair of its Technical Advisory Board. He
    went to university at Cambridge for both his undergraduate and
    doctoral degrees after which he joined AT&T Bell labs to work on
    Distributed Lock Manager technology for clustering. In 2000 he helped
    found SteelEye Technology, a High availability company for Linux and
    Windows, becoming Vice President and CTO. He joined Novell in 2008 as
    a Distinguished Engineer at Novell’s SUSE Labs, Parallels (later Odin)
    in 2011 as CTO of Server Virtualization and IBM Research in 2016.