Opportunistic Analytics Using Unused Memory Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face inflexibility in resource configuration and allocation, leading to underutilization of memory bandwidth due to fixed hardware configurations and limitations in scaling or descaling demands, resulting in poor resource utilization and increased costs.
Innovation Solution
A disaggregated computing system with a pool of memory and processor devices uses an iterative learning algorithm to define data boundaries for performing analytic functions on datasets, efficiently employing unused memory bandwidth by assigning memory devices to processor devices, thereby optimizing memory bandwidth and preventing underutilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If fixed hardware configurations are used in cloud computing systems, then resource allocation is simplified, but memory bandwidth utilization deteriorates due to underutilization
Solution Approach 1:
The system dynamically allocates memory bandwidth by allowing processor devices to opportunistically access memory devices assigned to other processor devices when bandwidth is not currently committed to primary compute tasks. This dynamic sharing enables memory bandwidth utilization to adapt to varying workload demands, resolving the contradiction between fixed configuration simplicity and bandwidth utilization efficiency.
Solution Approach 2:
Memory devices are assigned to multiple processor devices, enabling each memory device to serve multiple purposes and multiple processors. This multi-functionality allows the same memory infrastructure to support both dedicated primary compute tasks and opportunistic analytics workloads, improving overall utilization without requiring separate dedicated resources for each function.
2Reliability
If memory bandwidth is dedicated to primary compute tasks, then compute task performance is maintained, but opportunistic analytics processing is prevented
Solution Approach 1:
The system enables continuous useful action by allowing opportunistic analytics processing to occur during periods when memory bandwidth is not fully utilized by primary compute tasks. The iterative learning algorithm continuously monitors memory bandwidth availability and dynamically defines data boundaries, ensuring that analytics processing can continuously utilize available bandwidth without disrupting primary compute task performance.
Solution Approach 2:
The system performs self-service by using the same memory infrastructure to simultaneously support primary compute tasks and opportunistic analytics. The iterative learning algorithm automatically identifies and exploits unused memory bandwidth capacity, allowing the system to serve additional analytics workloads without requiring external resource allocation or disrupting existing compute tasks.
3Loss of energy
If iterative learning algorithms are used to define data boundaries, then memory bandwidth utilization is improved, but system complexity increases
Solution Approach 1:
The iterative learning algorithm implements feedback by continuously monitoring memory bandwidth utilization and adjusting data boundary definitions based on observed usage patterns. This feedback mechanism allows the system to automatically adapt to changing workload conditions and optimize memory bandwidth allocation without requiring complex manual configuration or external control systems.
Solution Approach 2:
The iterative learning algorithm provides self-service functionality by autonomously defining data boundaries and managing memory bandwidth allocation based on observed usage patterns. This self-managing approach reduces the need for external system complexity while improving memory bandwidth efficiency through automated adaptation to workload conditions.
Data Source
AI summary
Respective memory devices are assigned to respective processor devices in a disaggregated computing system, the disaggregated computing system having at least a pool of the memory devices and a pool of the processor devices. An iterative learning algorithm is used to define data boundaries of a dataset for performing an analytic function on the dataset simultaneous to a primary compute task, unrelated to the analytic function, being performed on the dataset in the pool of memory devices using memory bandwidth not currently committed to the primary compute task, thereby efficiently employing the unused memory bandwidth to prevent underutilization of the pool of memory devices.


