Logical Partition Allocation Across Mixed-Core Drawers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing environments with multiple processor core types face challenges in efficiently allocating logical partitions across hardware drawers, leading to cache pollution and inconsistent performance due to varying hardware generations and configurations.
Innovation Solution
A method for allocating logical partitions that considers processor core types, allowing partitions to be placed on a single drawer when possible, and using bitmasks to distribute across multiple drawers while minimizing cross-drawer traffic and maintaining consistency, employing a modified fill and spill algorithm to optimize performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If logical partitions are allocated across multiple drawers to accommodate large partition sizes, then the partition capacity is improved, but cache pollution increases and performance consistency deteriorates
Solution Approach 1:
The system segments the allocation decision into two parts: first determines if a single drawer can accommodate the partition, and if not, then allocates across multiple drawers using bitmasks. This segmentation allows the system to prefer single-drawer allocations (avoiding cache pollution) while still supporting large partitions that require multiple drawers.
Solution Approach 2:
The system applies different allocation strategies based on the specific characteristics of each partition and drawer configuration. By using bitmasks to represent processor chips and selectively allocating to specific drawers, the system tailors the allocation quality to local conditions, minimizing cache pollution while accommodating partition size requirements.
2Reliability
If logical partitions are confined to a single drawer to minimize cache pollution, then performance consistency is improved, but the ability to accommodate large partitions deteriorates
Solution Approach 1:
The system dynamically adjusts the allocation strategy based on partition size requirements. The hypervisor evaluates whether a single drawer can accommodate the partition, and only when necessary does it expand to multiple drawers. This dynamic approach allows the system to maintain performance consistency for smaller partitions while accommodating larger partitions when needed.
3Productivity
If the hypervisor uses complex allocation algorithms to optimize partition placement, then resource allocation efficiency is improved, but system complexity increases
Solution Approach 1:
The system introduces bitmasks as an intermediary data structure to represent processor chip allocations. This intermediary simplifies the complex task of tracking and managing processor assignments across multiple drawers, making the allocation algorithm more manageable and efficient without significantly increasing overall system complexity.
4Speed
If the system allocates partitions without considering processor core types, then allocation speed is improved, but hardware compatibility and performance optimization deteriorate
Solution Approach 1:
The system performs preliminary analysis of processor core types and drawer configurations before allocating partitions. By pre-evaluating hardware characteristics and determining suitable drawer assignments in advance, the system maintains allocation speed while ensuring hardware compatibility and performance optimization. The bitmask representation enables efficient pre-computation of valid allocation options.
Data Source
AI summary
A method includes receiving a request to create a logical partition. The method further includes determining whether the logical partition can be implemented on a single drawer of a plurality of drawers. The method further includes, responsive to determining that the logical partition can be implemented on a single drawer of the plurality of drawers, allocating the logical partition to one of the drawers of the plurality of drawers based on a container size that can fit the logical partition. The method further includes, responsive to determining that the logical partition cannot be implemented on a single drawer of the plurality of drawers, allocating the logical partition to at least two drawers of the plurality of drawers using bitmasks, wherein each of the bitmasks represents a processor chip of a plurality of processor chips, and wherein one bitmask is generated per drawer of the plurality of drawers.


