Placement and scheduling of radio signal processing dataflow operations

Inventors

O'Shea, Timothy James

Assignees

DeepSig Inc

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-10200875-B2

Patent

Publication Date

2019-02-05

Expiration Date


Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for placement and scheduling of radio signal processing dataflow operations. An example method provides a primitive radio signal processing computational dataflow graph that comprises nodes representing operations and directed edges representing data flow. The nodes and directed edges of the primitive radio signal processing computational dataflow graph are partitioned to produce a set of software kernels that, when executed on processing units of a target hardware platform, achieve a specific optimization objective. Runtime resource scheduling, including data placement for individual software kernels in the set of software kernels to efficiently execute operations on the processing units of the target hardware platform. The resources of the processing units in the target hardware platform are then allocated according to the defined runtime resource scheduling.

Core Innovation

The invention provides functional radio signal processing tensor blocks to build a functional radio signal processing application, where the functional radio signal processing tensor blocks represent symbolic radio tensor expressions and directed edges represent data flow. The invention obtains a functional radio signal processing block dataflow graph comprising functional tensor blocks that represent a specific functional radio signal processing application. The invention maps the functional radio signal processing block dataflow graph to a specific primitive radio signal processing computational dataflow graph that corresponds to the functionality of the specific functional radio signal processing application.

The invention provides the specific primitive radio signal processing computational data flow graph as a primitive radio signal processing computational dataflow graph that comprises nodes representing operations and directed edges representing data flow, and where the primitive radio signal processing computational dataflow graph represents a functional radio signal processing application. The invention partitions the nodes and directed edges of the primitive radio signal processing computational dataflow graph to produce a set of software kernels. The software kernels, when executed on a plurality of processing units of a target hardware platform, achieve a specific optimization objective.

The invention defines runtime resource scheduling, including data placement for individual software kernels in the set of software kernels, to efficiently execute operations on the plurality of processing units of the target hardware platform. The invention allocates the resources of the plurality of processing units in the target hardware platform according to the defined runtime resource scheduling. The scheduling supports efficiently executing operations on processing units and allocating resources to meet the specific optimization objective.

Claims Coverage

Independent claims cover a pipeline that starts from functional radio signal processing tensor blocks and symbolic radio tensor expressions, maps them into a primitive operation-based computational dataflow graph, partitions that graph into software kernels, and then defines runtime resource scheduling and resource allocation across one or more processing units to meet a specific optimization objective. Across the independent claims, inventive features include mapping/graph conversion, graph partitioning into kernels, runtime resource scheduling with data placement, and in one independent claim selecting an optimal processing unit type for at least one kernel.

Functional tensor blocks to functional block dataflow graph and mapping to primitive computational dataflow graph

providing functional radio signal processing tensor blocks to build a functional radio signal processing application, obtaining a functional radio signal processing block dataflow graph, and mapping the functional radio signal processing block dataflow graph to a specific primitive radio signal processing computational dataflow graph that corresponds to functionality of the specific functional radio signal processing application

Partitioning primitive dataflow graph into software kernels for optimization objectives

partitioning the nodes and directed edges of the primitive radio signal processing computational dataflow graph to produce a set of software kernels that, when executed on a plurality of processing units of a target hardware platform, achieve a specific optimization objective

Runtime resource scheduling with data placement and resource allocation

defining runtime resource scheduling including data placement for individual software kernels in the set of software kernels to efficiently execute operations on the plurality of processing units of the target hardware platform, and allocating the resources of the plurality of processing units in the target hardware platform according to the defined runtime resource scheduling

Selecting an optimal processing unit type for executing software kernels and defining data placement to that type

defining runtime resource scheduling including data placement for individual software kernels by determining an optimal processing unit type on which to execute at least one software kernel from multiple types of processing units, defining a data placement of the at least one software kernel in the set of software kernels to a processing unit in the target hardware platform of the determined optimal processing unit type, and allocating the resources of the plurality of processing units of multiple types in the target hardware platform according to the defined runtime resource scheduling

System implementation using processors and stored instructions to build, map, partition, and schedule execution

providing functional radio signal processing tensor blocks using one or more processors executing stored instructions, obtaining a functional radio signal processing block dataflow graph, mapping to a primitive radio signal processing computational dataflow graph with nodes representing operations and directed edges representing data flow, partitioning into a set of software kernels, defining runtime resource scheduling including data placement, and allocating resources according to the defined runtime resource scheduling

The independent claims collectively cover converting functional radio tensor-block representations into a primitive operation-based dataflow graph, partitioning that graph into software kernels executed on a target hardware platform, and defining runtime resource scheduling with data placement so that execution achieves a specific optimization objective. One independent claim further includes determining an optimal processing unit type for at least one kernel before placing its data and allocating resources across heterogeneous processing units.

Stated Advantages

Achieve a specific optimization objective when executed on the plurality of processing units of the target hardware platform.

Efficiently execute operations on the plurality of processing units of the target hardware platform through runtime resource scheduling including data placement.

Optimization objective is met via partitioning and scheduling of the primitive radio signal processing computational dataflow graph into software kernels.

Documented Applications

Radio receiver/transmitter/radar processing for radio signal processing applications.

Cellular baseband processing tasks that transceive LTE, 5G, or 6G waveforms.

Tensor-based radio waveform processing examples including LTE/5G/6G waveform processing.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.