OpenCL Runtime Task Offloading for Mobile Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices and other local devices are limited by their computing capabilities, making it difficult to transfer tasks to external high-performance devices like cloud services due to incompatibility of instruction set architectures and the lack of an integrated programming model, which complicates task transfer and execution.

Innovation Solution

A method and apparatus using an open computing language (OpenCL) to selectively transfer tasks to internal or external devices based on user preference, automatically selecting the most suitable device for optimal performance and energy efficiency through performance analysis and cost modeling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If tasks are transferred to external high-performance devices like cloud services, then computing capability is improved, but device compatibility and programming complexity worsen due to instruction set architecture incompatibility

Engineering Contradiction:
Improvecomputing capabilityVSAvoidprogramming complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (runtime system and translation mechanism) between the host application and external computing devices. This intermediary handles instruction set architecture translation and task scheduling, allowing the host to execute tasks on diverse external devices without requiring device-specific programming. The intermediary resolves the incompatibility issue while maintaining high computing capability utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal task execution framework that can run on multiple types of devices (mobile devices, servers, cloud services) with different instruction set architectures. By using a standardized task description language and runtime system, the same application can be executed across diverse platforms without modification, achieving multi-functionality and platform independence.

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

2Power

If tasks are transferred to external devices, then computational power is improved, but energy consumption increases due to data transmission and remote execution

Engineering Contradiction:
Improvecomputational powerVSAvoidenergy consumption
Core Design Contradiction:
PowerVSUse of energy by moving object

Solution Approach 1:

The patent implements selective task offloading where only specific computationally intensive tasks are transferred to external devices, while other tasks remain executed locally. The runtime system analyzes task characteristics and determines the optimal partitioning between local and remote execution, avoiding the energy overhead of transferring unnecessary tasks while still utilizing external computational power for suitable workloads.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent incorporates feedback mechanisms where the runtime system monitors execution performance, energy consumption, and resource availability in real-time. Based on this feedback, the system dynamically adjusts task allocation decisions, transferring tasks to external devices when it energy-efficient and keeping tasks local when transmission overhead would exceed computational benefits.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If device types change or new devices are added, then system adaptability is improved, but re-analysis of task suitability is required increasing complexity

Engineering Contradiction:
Improvedevice adaptabilityVSAvoidanalysis complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service runtime system that automatically discovers available computing devices, characterizes their capabilities, and determines suitable task allocations without requiring manual intervention. The system autonomously performs device profiling, task analysis, and execution planning, eliminating the need for developers to re-analyze task suitability when devices are added or changed.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a dynamic task execution system that continuously adapts to changing device availability and characteristics. The runtime system dynamically updates its knowledge base of available devices and their capabilities, and automatically re-optimizes task allocation based on current system state, enabling seamless adaptation to new devices without manual reconfiguration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10277667B2Method and apparatus for executing application based on open computing language
Publication Date: 2019.04.30 SAMSUNG ELECTRONICS CO LTD
  • US10277667B2 patent drawing
  • US10277667B2 patent drawing
  • US10277667B2 patent drawing

AI summary

Disclosed is a method of executing a kernel of a mobile application program using an open computing language (OpenCL). The method includes receiving, from a server, a resource list including resources to execute a kernel for the application program; determining, if the application program is executed, resources to execute the kernel for the application program among resources of the terminal and the server; and transmitting, if the resources to execute the kernel are determined as the resources of the server, data and the kernel to the server.