Heterogeneous Task Mapping for Self-Programming Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face inefficiencies in handling heterogeneous hardware platforms, including high energy consumption due to data movement, lack of programmability, and inflexibility in task mapping, especially in applications with varying computational demands.
Innovation Solution
A self-optimizing and self-programming computing system (SOSPCS) framework that uses neural networks and community detection to dynamically map tasks onto CPUs, GPUs, and domain-specific hardware accelerators, minimizing data communication and optimizing resource allocation through reinforcement learning-based schedulers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If domain-specific accelerators are used to improve computational efficiency, then performance is improved, but programmability deteriorates
Solution Approach 1:
The patent implements a heterogeneous computing platform that integrates multiple types of processing elements (CPUs, GPUs, FPGAs, and domain-specific accelerators) into a single system. The compiler and runtime system automatically partition and map application tasks across these diverse resources, allowing the system to handle both general-purpose computing and specialized accelerated operations within a unified programmable framework.
Solution Approach 2:
The patent introduces a compiler and runtime system as intermediary layers between the programmer and the heterogeneous hardware platform. The compiler automatically analyzes application code, identifies suitable tasks for acceleration, and generates appropriate execution plans that map computational workloads to the most suitable processing elements, thereby maintaining programmability while leveraging domain-specific hardware capabilities.
2Adaptability or versatility
If general-purpose machines are used to maintain programmability, then adaptability is improved, but computational efficiency deteriorates
Solution Approach 1:
The heterogeneous computing platform provides a universal interface that allows standard programming languages and compilers to access both general-purpose processors and specialized accelerators. The runtime system dynamically manages task distribution, enabling applications to achieve high computational efficiency on accelerators while maintaining the programming flexibility of general-purpose machines through a unified interface.
Solution Approach 2:
The compiler and runtime system automatically perform task analysis, partitioning, and mapping without requiring programmer intervention. The system self-adapts to the available hardware resources and application requirements, automatically optimizing the distribution of computational workloads across the heterogeneous platform to maximize efficiency while maintaining programmability.
3Reliability
If data is frequently broadcast between cores to maintain consistency, then information consistency is improved, but energy consumption deteriorates
Solution Approach 1:
The patent implements a cache coherence protocol that selectively broadcasts data only when necessary, rather than universally broadcasting all data updates. The system tracks which cores need which data updates and limits broadcasts to only those specific targets, thereby maintaining information consistency while significantly reducing the energy consumption associated with unnecessary data movement across the network-on-chip.
4Productivity
If the operating system manually manages task mapping to optimize performance, then productivity is improved, but device complexity deteriorates
Solution Approach 1:
The patent implements an automated task mapping system where the compiler and runtime environment automatically analyze application code, identify suitable tasks for acceleration, and generate optimized execution plans. This self-service approach eliminates the need for complex manual OS-level task mapping logic, reducing system complexity while maintaining high performance through automatic optimization of task distribution across heterogeneous resources.
Data Source
AI summary
A self-optimizing and self-programming computing system (SOSPCS) design framework that achieves both programmability and flexibility and exploits computing heterogeneity [e.g., CPUs, GPUs, and hardware accelerators (HWAs)] is provided. First, at compile time, a task pool consisting of hybrid tasks with different processing element (PE) affinities according to target applications is formed. Tasks preferred to be executed on GPUs or accelerators are detected from target applications by neural networks. Tasks suitable to run on CPUs are formed by community detection to minimize data movement overhead. Next, a distributed reinforcement learning-based approach is used at runtime to allow agents to map the tasks onto the network-on-chip-based heterogeneous PEs by learning an optimal policy based on Q values in the environment.


