Dynamic Resource Allocation in Distributed Heterogeneous Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed heterogeneous computer systems face challenges in optimizing job performance due to inadequate consideration of heat, energy, and reliability factors, leading to increased setup and runtime costs, as well as inefficient energy usage and maintenance requirements, primarily because they lack global visibility and scalability in resource allocation across computing nodes.

Innovation Solution

A distributed heterogeneous computer system with a network of interconnected nodes, featuring an application injector, collector, job informer, and job optimizer that dynamically reallocates resources by determining a data distribution vector based on workload values and job types, allowing for global optimization and decoupling of application and optimization processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If task schedulers maximize performance without considering energy optimization, then job performance is improved, but energy consumption increases and global energy optimization cannot be achieved

Engineering Contradiction:
Improvejob performanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent introduces an optimization layer as an intermediary between the application layer and infrastructure layer. This optimization layer includes components (collector, job informer, job optimizer, application injector, refresher) that act as mediators to gather system state information, determine optimization parameters, and dynamically adjust resource allocation. This intermediary structure enables global energy optimization while maintaining job performance by decoupling application execution from resource management decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the collector continuously gathers system state information (workload values, performance metrics, energy consumption) from computing nodes, and the job optimizer uses this feedback to dynamically adjust the data distribution vector. This closed-loop feedback system allows the system to respond to changing conditions and achieve global energy optimization while maintaining productivity.

Inventive Principle:
Principle #23Feedback

2Productivity

If applications are designed for maximized performance on specific hardware, then performance is improved, but system adaptability decreases and maintenance complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidsystem adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent changes the optimization parameters dynamically based on system state rather than having fixed hardware-specific optimizations. The job optimizer determines a data distribution vector based on current workload values and system conditions, allowing the same application to be optimized for different hardware configurations without modification. This enables high performance across heterogeneous systems while maintaining adaptability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The optimization layer provides universal optimization capabilities that work across different hardware platforms and application types. The collector gathers information from any computing node, the job informer determines job characteristics universally, and the job optimizer generates appropriate data distribution vectors for any hardware configuration. This universal approach eliminates the need for hardware-specific application versions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If computing nodes are used extensively to maximize performance, then productivity is improved, but heat generation increases and reliability decreases

Engineering Contradiction:
Improveperformance utilizationVSAvoidsystem reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent makes the resource allocation dynamic by continuously monitoring system state through the collector and adjusting the data distribution vector in real-time. When computing nodes approach thermal or reliability thresholds, the system dynamically redistributes workload to maintain performance while preventing overheating and failures. This dynamic adjustment resolves the contradiction between high utilization and system reliability.

Inventive Principle:
Principle #15Dynamics

4Productivity

If dedicated task schedulers are implemented at each computing node, then local performance is improved, but global visibility and scalability are limited

Engineering Contradiction:
Improvelocal performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the optimization functionality into a unified optimization layer that operates across all computing nodes. Instead of separate schedulers at each node, the collector aggregates information from all nodes, the job informer centralizes job information, and the job optimizer generates coordinated data distribution vectors for the entire system. This merged architecture provides global visibility and scalability while maintaining local performance optimization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10567490B2Dynamically reallocating resources for optimized job performance in distributed heterogeneous computer system
Publication Date: 2020.02.18 SAMSUNG ELECTRONICS CO LTD
  • US10567490B2 patent drawing
  • US10567490B2 patent drawing
  • US10567490B2 patent drawing

AI summary

An apparatus dynamically reallocates resources for optimized job performance in a distributed heterogeneous computer system that includes a plurality of computer nodes. The apparatus includes an application injector to invoke at least one job to be performed on at least one computer node among the computer nodes. The apparatus further includes a collector to dynamically collect a workload value on each computer node. The apparatus further includes a job informer to determine known and unknown jobs on each computer node. The apparatus further includes a job optimizer to determine a data distribution vector based on the workload value and the known and unknown jobs on each computer node. The data distribution vector defines an amount of data to be distributed among the computer nodes to perform the at least one job.