Dynamic Workload Pool Reassignment for Search Resource Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data intake and query systems, there is a lack of explicit control over resource allocation, leading to inefficiencies, particularly with searches that involve wildcard characters consuming more hardware resources, and unpredictability in the number of resources required for processing search queries, which can inadvertently slow down critical searches.
Innovation Solution
The implementation of workload pools with predicate-based rules for assigning search query and data intake requests, providing explicit control over resource allocation and using guardrails to manage access to hardware resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If wildcard searches are allowed without resource control, then search query flexibility is improved, but hardware resource consumption increases
Solution Approach 1:
The system segments search queries into different priority levels (critical vs. non-critical) and routes them to different workload pools. Critical searches receive guaranteed resources while non-critical wildcard searches are isolated to prevent resource starvation, resolving the contradiction between search flexibility and resource consumption.
Solution Approach 2:
The system dynamically changes resource allocation parameters based on search query characteristics. By analyzing query patterns and resource requirements, the system adjusts CPU and memory allocation dynamically, allowing flexible wildcard searches when resources are available while preventing resource exhaustion.
2Productivity
If resources are dynamically allocated to background tasks, then resource utilization efficiency is improved, but critical search performance deteriorates
Solution Approach 1:
The system creates separate workload pools for critical searches and background tasks. This segmentation ensures that critical searches have dedicated resources guaranteed by guardrails, while background tasks can utilize remaining resources, thus maintaining both resource utilization efficiency and critical search performance.
Solution Approach 2:
The workload management system acts as an intermediary layer between resource requests and physical hardware. It enforces guardrails that prevent background tasks from exceeding allocated resource thresholds, ensuring critical searches maintain performance while allowing efficient resource utilization overall.
3Device complexity
If search queries and data ingest share the same resource pool, then system simplicity is maintained, but resource starvation occurs
Solution Approach 1:
The system segments resources into dedicated pools for search queries and data ingest operations. This segmentation prevents resource starvation by ensuring each function has guaranteed minimum resources, while maintaining relative system simplicity through automated workload management rather than complex manual configuration.
Solution Approach 2:
The workload management system automatically monitors resource usage and dynamically adjusts allocation between search and ingest operations without external intervention. This self-service mechanism prevents resource starvation and data loss while keeping the system simple to operate, as the automation handles complex resource balancing.
Data Source
AI summary
Dynamic reassignment of search processes into workload pools includes receiving a search query to search at least one data store, assigning the search query to a first workload pool, and executing the search query using a first hardware resource in the first workload pool, the first hardware resource corresponding to a first portion of a hardware device. Dynamic reassignment further includes receiving, while executing the search query, an update command to move the search query to a second workload pool, moving, while executing the search query, the search query to the second workload pool; and continuing execution of the search query using a second hardware resource in the second workload pool. The second hardware resource corresponds to a second portion of the hardware device.


