Service Model Recomputation with Controlled Worker Threads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The recomputation process in distributed computing environments can congest job schedulers, leading to high instance load and performance issues due to simultaneous worker thread utilization for recomputing services.
Innovation Solution
A method is introduced where recomputation jobs search for environments to be recomputed rather than automatically creating scheduled jobs, limiting worker thread usage to a threshold, and employing breadth-first traversal to reduce database queries, thereby managing instance load and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If automatic job scheduling is used for recomputation, then service model updates are ensured, but job scheduler congestion and instance load increase
Solution Approach 1:
The system pre-identifies and queues environments requiring recomputation based on change detection, but actual recomputation execution is deferred and controlled to prevent scheduler overload. This preliminary identification without immediate execution ensures service model updates are tracked while avoiding job scheduler congestion.
Solution Approach 2:
Recomputation is performed in periodic batches rather than continuously or simultaneously for all environments. The system processes environments in controlled intervals, allowing the job scheduler to maintain performance while still ensuring all service models are updated eventually.
2Speed
If simultaneous worker threads are used for recomputation, then processing speed increases, but instance load becomes unmanageable
Solution Approach 1:
Instead of using all available worker threads simultaneously for recomputation, the system employs a controlled subset of threads processing environments in batches. This partial action approach maintains acceptable processing speed while preventing instance load from becoming unmanageable.
Solution Approach 2:
The number of active worker threads for recomputation is dynamically adjusted based on current instance load conditions. The system can scale thread utilization up or down depending on system state, optimizing between processing speed and load management in real-time.
3Loss of information
If depth-first traversal is used for environment processing, then database queries are comprehensive, but query overhead and processing time increase
Solution Approach 1:
The environment processing is segmented into hierarchical levels or batches, allowing the system to process environments in manageable chunks rather than as a single deep traversal. This segmentation reduces the depth of any single traversal while maintaining comprehensive coverage across all environments.
Solution Approach 2:
The system performs breadth-first traversal to a limited depth rather than exhaustive depth-first traversal. This partial action approach processes sufficient environments to maintain service model accuracy while significantly reducing the time and query overhead associated with complete deep traversals.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Systems, methods, and media are presented that are used to recompute a service model to match data in a configuration management database. Recomputing includes detecting a change to a configuration item in a configuration management database and marking a recomputing environment indicating a recomputing environment to be recomputed based on the change. Using a recomputation job, a service environment database is queried and a response is received from the service environment indicating at least the recomputing environment. The recomputation job then recomputes the service environment to match a service model to the change in the configuration management database.