Storlet Engine Abstract Syntax Tree Node Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing object storage environments face inefficiencies in workload balancing, as they lack a framework to intelligently select nodes for computation operations based on node characteristics, leading to suboptimal performance and increased disk input/output operations.
Innovation Solution
A storlet engine is introduced, which utilizes a lookup table, parser unit, and resource availability monitor to determine the optimal node for processing a computational algorithm by analyzing its abstract syntax tree and matching it with node categories, thereby selecting the most suitable node for execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If computational algorithms are processed on storage nodes without intelligent selection, then workload distribution occurs, but computation performance is suboptimal and disk I/O increases
Solution Approach 1:
The system performs preliminary analysis of computational algorithms by parsing them into abstract syntax trees and categorizing them before execution. This advance classification enables the storlet engine to pre-determine the optimal node characteristics required, allowing intelligent node selection before the actual computation begins, thereby preventing suboptimal workload distribution and excessive disk I/O operations
Solution Approach 2:
The storlet engine continuously monitors resource availability and node characteristics, using this feedback to dynamically select the most appropriate nodes for processing specific computational algorithms. This feedback mechanism ensures that computation tasks are consistently directed to nodes with matching characteristics, optimizing computation performance while minimizing unnecessary disk I/O operations
2Adaptability or versatility
If nodes are selected without considering node characteristics, then simple workload assignment occurs, but the system lacks adaptability to different computational requirements
Solution Approach 1:
The system changes the parameters of node selection by transitioning from simple, uniform workload assignment to characteristic-based matching. By parsing computational algorithms into abstract syntax trees and comparing them against node characteristics stored in lookup tables, the system adapts its node selection process to match specific computational requirements with appropriate node capabilities, thereby enhancing adaptability without requiring overly complex framework changes
Solution Approach 2:
The storlet engine acts as an intermediary between computational algorithms and storage nodes. It receives computational tasks, analyzes their characteristics through parsing, consults lookup tables containing node information, and selectively routes tasks to appropriate nodes. This intermediary layer provides the necessary adaptability for intelligent node selection while maintaining a relatively simple overall framework structure
3Productivity
If storage units process all computational workloads, then universal processing capability is achieved, but workload concentration increases and efficiency decreases
Solution Approach 1:
The system segments the computational workload distribution by categorizing both computational algorithms and storage nodes into distinct groups based on matching characteristics. Instead of treating all nodes uniformly, the storlet engine divides workloads and routes them to specific node categories that best match the computational requirements, thereby distributing workload concentration across multiple specialized nodes rather than overwhelming single storage units
Solution Approach 2:
The system applies local quality by assigning different types of computational workloads to different storage nodes based on their specific characteristics. Rather than having all nodes perform identical functions or having a single node handle all workloads, each node is matched with computational tasks that align with its local capabilities and resource availability, optimizing overall workload processing efficiency while preventing excessive concentration on any single storage unit
Data Source
AI summary
A first storlet engine is monitored for a first computational algorithm. The storlet engine includes a lookup table including a first characteristic of one or more nodes, a parser unit, and a resource availability monitor. The first computational algorithm is parsed into an abstract syntax tree using a parser unit. A first category of the first computational algorithm is determined by analyzing the abstract syntax tree. A first node of the lookup table with the first characteristic matching the first category for processing the first computational algorithm is identified based on the first category of the computational algorithm. The first computational algorithm is sent to the first node for processing.


