Job Queue File Scheduling in RAM for Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing job scheduling systems in computer systems face inefficiencies due to time-consuming access to queue files stored on disk, leading to bottlenecks and potential data loss during power outages.
Innovation Solution
Storing job queue files in random access memory (RAM) and maintaining backup queue files on more stable storage media, with a queue manager updating both to ensure rapid scheduling and data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If queue files are stored on disk, then data reliability is improved, but access time increases and productivity decreases
Solution Approach 1:
The queue files are segmented into two storage locations: volatile memory (for fast access) and disk storage (for reliability). The system divides the queue file data between these two media, allowing the job manager to access frequently used queue information from volatile memory while maintaining a reliable backup on disk.
Solution Approach 2:
The patent introduces an intermediary mechanism (the queue file structure in volatile memory) between the job manager and the disk storage. This intermediary allows rapid access to queue information without requiring direct disk access for every scheduling decision, thus reducing access time while maintaining data integrity.
2Reliability
If queue files are stored on disk, then data integrity is improved, but system productivity decreases due to bottlenecks
Solution Approach 1:
The system segments queue file storage between volatile memory and disk, allowing high-speed scheduling operations to proceed using in-memory data while periodic updates maintain integrity with disk storage. This segmentation eliminates the bottleneck of continuous disk access.
Solution Approach 2:
The system performs preliminary action by loading queue file data into volatile memory before it is needed for scheduling decisions. This pre-positioning of data in fast memory allows the job manager to make scheduling decisions rapidly without subsequent disk access delays.
3Loss of time
If queue files are stored in volatile memory, then access time is reduced, but data loss risk increases during power failures
Solution Approach 1:
The patent implements a copying strategy where queue file data is maintained in both volatile memory (for fast access) and disk storage (for safety). The volatile memory contains a working copy of the queue files, while the disk holds a persistent copy that survives power failures. This copying approach allows the system to enjoy fast access times while mitigating data loss risk through the disk backup.
4Productivity
If queue files are stored in volatile memory, then scheduling speed is improved, but device complexity increases
Solution Approach 1:
The system segments the storage function between volatile memory and disk, with each serving a specific purpose. This segmentation manages complexity by assigning clear roles: volatile memory for rapid scheduling operations and disk for persistent storage, avoiding the need for a single complex storage system trying to do both.
Data Source
AI summary
A method for scheduling jobs in a computer system includes storing a plurality of job queue files in a random access memory, accessing at least one of the job queue files stored in random access memory, and scheduling, based in part on the at least one job queue file, execution of a job associated with the at least one job queue file. In a more particular embodiment, a method for scheduling jobs in a computer system include storing a plurality of job queue files in a random access memory. The plurality of job queue files include information associated with at least one job. The method also includes storing the information external to the random access memory and accessing at least one of the job queue files stored in the random access memory. The method also includes scheduling, based at least in part on the at least one job queue file, execution of a job associated with at least one job queue file. In response to the scheduling, the method includes updating the information stored in the job queue file and random access memory and the information stored external to the random access memory.


