Uploaded image for project: 'OpenStack Strategy'
  1. OpenStack Strategy
  2. RHOSSTRAT-927

CPU Performance Service Levels using CPU Shares

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • Compute, Watcher
    • None
    • Not Selected
    • False
    • False
    • Hide

      None

      Show
      None
    • 0
    • 100% To Do, 0% In Progress, 0% Done

      1. Proposed title of this feature request:

      CPU Performance Service Levels using CPU Shares and Placement Resource Classes

      2. What is the nature and description of the request?

      a mechanism within Nova to allow users to
      request and receive predictable CPU performance service levels for their
      instances. By leveraging CPU shares managed via control groups (cgroups)
      and integrating with OpenStack Placement using standardized resource
      classes, we aim to provide a standardized and quantifiable way for users
      to express desired performance tiers and for cloud administrators to
      enforce performance guarantees, particularly in oversubscribed
      environments.

      3. Why does the customer need this? (List the business requirements here)

      Users currently lack a standardized and reliable method within Nova to
      request and guarantee specific levels of CPU performance for their
      instances. While existing mechanisms like CPU pinning or NUMA topology
      awareness provide some control, they are often complex to manage and do not
      offer a simple, quantifiable way to express desired performance tiers across a shared
      infrastructure, leading to unpredictable performance, especially in
      oversubscribed environments, making it difficult for users to run
      performance-sensitive workloads with confidence.

      The goal is to introduce a mechanism that allows users to request CPU
      performance service levels based on CPU shares, providing a more
      predictable and manageable approach to CPU resource allocation and
      performance guarantees.

      Use Cases
      ---------

      • A user wants to launch a database server instance and ensure it receives
        a guaranteed minimum level of CPU performance, even under high load
        from other instances on the same host.
      • A user is running a batch processing job that requires a consistent amount
        of CPU time to complete within a specific timeframe. They need to request
        a performance tier that guarantees this.
      • A cloud administrator wants to offer different tiers of compute service
        (e.g., "Bronze", "Silver", "Gold") based on guaranteed CPU performance,
        allowing users to choose the level that best suits their workload and
        budget.
      • As a cloud administrator, I want to achieve higher utilization of my
        infrastructure by allowing lower performance tier instances to use more
        resources when there is low contention but reduce them to a lower
        level of performance when higher priority workloads become active.
        For example, running lower priority batch processing jobs when higher
        priority customer workloads are idle.

      4. List any affected packages or components.

      openstack-nova
      openstack-placement

              mmagr@redhat.com Martin Magr
              smooney@redhat.com Sean Mooney
              rhos-workloads-compute
              Votes:
              2 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated: