HDFS NameNode Priority Scheduling for Disk Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed data computing, the existing methods for processing intermediate files lack dynamic adjustment of read/write operations based on server and disk load, leading to unbalanced loads and potential delays in processing tasks with higher priority levels.
Innovation Solution
The proposed method involves creating cluster information for intermediate files that includes a priority level, allowing the system to dynamically adjust writing and reading operations based on local disk load and priority, ensuring that higher priority tasks are processed promptly and disk loads are balanced.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If intermediate files are stored directly on local file systems of servers, then file access is simple and direct, but disk load becomes unbalanced and read/write operations cannot be dynamically adjusted
Solution Approach 1:
The patent introduces a NameNode as an intermediary between clients and DataNodes. The NameNode manages the metadata and cluster information of intermediate files, while DataNodes store the actual file data. This mediator architecture allows the system to maintain simple file access operations while enabling dynamic load adjustment through centralized management of cluster information including priority levels and load balancing policies.
Solution Approach 2:
The system implements feedback mechanisms where the NameNode monitors disk load conditions and dynamically adjusts the scheduling of read/write operations for intermediate files. The cluster information stored in HDFS includes priority levels that are used by the NameNode to make dynamic scheduling decisions based on current system state, creating a closed-loop control system that balances load adaptively.
2Productivity
If backup instances are used to reduce long tail running time, then task completion time is improved, but fine-grained optimization cannot be achieved
Solution Approach 1:
The patent changes the parameter of task scheduling by introducing priority levels in cluster information and using these priorities to dynamically adjust the scheduling of intermediate file operations. Instead of using backup instances as a coarse-grained solution, the system modifies the scheduling parameters at the individual task level, allowing fine-grained optimization where each intermediate file operation can be prioritized independently based on its importance and current system conditions.
3Adaptability or versatility
If intermediate files are remotely read through HTTP access, then file sharing between tasks is enabled, but load balancing across servers cannot be achieved
Solution Approach 1:
The NameNode acts as a mediator that manages both file sharing and load balancing. It maintains cluster information that includes priority levels and load status of different DataNodes. When a task needs to read an intermediate file, the NameNode uses this information to direct the read operation to an appropriate DataNode, enabling both file sharing across tasks and simultaneous load balancing across servers through intelligent routing decisions.
Data Source
AI summary
The present invention discloses an intermediate file processing method, client, server, and system, including: receiving, from a first client, a message of writing an intermediate file to a first server; requesting a second server to create cluster information of the intermediate file; after the cluster information is created, receiving the cluster information returned by the second server, wherein the cluster information includes a priority level; and sending the cluster information to the first client and a second client, wherein the intermediate file is uploaded to the first server by the first client, so that the intermediate file is written by the first server according to a local disk load and the priority level of the cluster information, and the intermediate file is read from the first server by the second client according to the cluster information. It is ensures that tasks of jobs of higher priority levels can be processed promptly, jobs of higher priority levels are prevented from being delayed, and disk load balance is maintained.


