Distributed Computing Architecture Using Codelets and Datalets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern high-end computer architectures face challenges in optimizing resource allocation for distributed computing systems, where both computation and data are distributed, and traditional paradigms hinder efficient parallel processing.

Innovation Solution

The implementation of a distributed computing system using an execution model based on 'codelets' and 'datalets' with fine-grained scheduling services, along with a runtime architecture that manages heterogeneous systems, facilitates efficient execution and resource management across multiple processing devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional single address space paradigm is used, then system simplicity is maintained, but resource allocation efficiency deteriorates in distributed computing environments

Engineering Contradiction:
Improvesystem simplicityVSAvoidresource allocation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the traditional single address space into multiple distributed address spaces, each managed by local memory systems. This segmentation allows independent optimization of resource allocation in each segment while maintaining overall system functionality, resolving the contradiction between system simplicity and resource allocation efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of memory management by implementing non-local memory access capabilities across distributed nodes. This dimensional extension allows the system to maintain simplicity at the application level while enabling efficient resource allocation through multi-dimensional memory addressing and management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If distributed memory architecture is implemented, then processing parallelism is improved, but memory access complexity increases

Engineering Contradiction:
Improveprocessing parallelismVSAvoidmemory access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal memory interface that can handle both local and non-local memory access through a unified programming model. This multi-functional interface simplifies memory access operations by providing consistent semantics for memory operations regardless of whether data is located locally or remotely, thereby maintaining processing parallelism while reducing memory access complexity.

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

Solution Approach 2:

The patent introduces intermediary software layers including virtual machine monitors and memory management systems that mediate between application programs and the distributed memory architecture. These intermediaries handle the complexity of non-local memory access, caching, and data placement transparently, allowing applications to exploit parallelism without directly managing memory access complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If fine-grained scheduling is implemented, then resource utilization is optimized, but system overhead increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic scheduling mechanisms that adaptively adjust scheduling granularity based on workload characteristics and system state. This dynamic approach allows the system to optimize resource utilization by switching between fine-grained and coarse-grained scheduling as needed, while managing overhead through intelligent adaptation rather than static fine-grained scheduling throughout.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables self-service scheduling where local systems autonomously manage their own resource allocation and scheduling decisions. This distributed self-service approach optimizes resource utilization locally without requiring centralized control overhead, allowing each node to make intelligent scheduling decisions based on local conditions while maintaining overall system efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10620988B2Distributed computing architecture
Publication Date: 2020.04.14 ET INT
  • US10620988B2 patent drawing
  • US10620988B2 patent drawing
  • US10620988B2 patent drawing

AI summary

A distributed computing system may incorporate an implementation based on a codelet-based execution model, where a codelet is a high-level dataflow element. In addition to supporting the use of codelets, the system may further provide support for “datalets,” which are an extension of codelets providing better built-in support for static dataflow programming. Such a distributed computing system, implementing computing based on such codelets, may incorporate an implementation of an execution model, locality management schemes, scheduling schemes, a type system, and/or management of heterogeneous systems.