Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1077194 (rhelosp_hpc_scheduling)

Summary: [Tracking] HPC style compute scheduling
Product: Red Hat OpenStack Reporter: Stephen Gordon <sgordon>
Component: openstack-novaAssignee: RHOS Maint <rhos-maint>
Status: CLOSED NOTABUG QA Contact: Ami Jeain <ajeain>
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: ndipanov, yeylon
Target Milestone: ---Keywords: Tracking, ZStream
Target Release: 6.0 (Juno)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-04 06:43:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1057941, 1093840, 1097988    
Bug Blocks: 1076956, 1077198    

Description Stephen Gordon 2014-03-17 12:45:11 UTC
Description of problem:

HPC style compute scheduling, requires scheduler to be aware of and take advantage of:

* NUMA architecture including CPU layout (sockets/cores/hyperthreads) and memory.
* Memory layout (proximity to allocated CPU, size of pages and number of pages available as well as memory bandwidth).
  * Full implementation requires Libvirt enhancements to expose:
    * Large page size for host.
    * Number of large pages per NUMA node on host.
    * Number of free large pages per NUMA node.
  * Avoid crossing NUMA boundaries when practical.
* Instance launch would nominally provide the facility for selecting scheduling criteria based on these factors. In particular telecommunications providers want to be able to define the guest topology that the scheduler should attempt to place, not just a # of vCPUs.

* Desire for scheduler to take into account CPU flags like second-level address translation services large pages for virtualization (Intel's Extended Page Tables and and Rapid Virtualization Indexing) and hardware support for I/O virtualization (IOMMU/AMD-Vi). Requires Libvirt changes.