Patent classifications
G06F15/7871
Hardware platform based on FPGA partial reconfiguration for wireless communication device
Systems and methods are disclosed herein that relate to partially reconfiguring a Field Programmable Gate Array (FPGA) of a wireless communication device to provide time-slicing of modem and application functionality. In this manner, a low-cost, small size, and low power consumption implementation of the FPGA and thus the wireless communication device is provided.
Policy handling for data pipelines
Methods, systems, and devices for data processing are described. In some systems, data pipelines may be implemented to handle data processing jobs. To improve data pipeline flexibility, the systems may use separate pipeline and policy declarations. For example, a pipeline server may receive both a pipeline definition defining a first set of data operations to perform and a policy definition including instructions for performing a second set of data operations, where the first set of data operations is a subset of the second set. The server may execute a data pipeline based on a trigger (e.g., a scheduled trigger, a received message, etc.). To execute the pipeline, the server may layer the policy definition into the pipeline definition when creating an execution plan. The server may execute the execution plan by performing a number of jobs using a set of resources and plugins according to the policy definition.
Computer-Implemented Method and System for the Dynamically Executing an Application Program by a Platform
A computer-implemented method for dynamically executing an application program by a platform including a processor with a program memory and a programmable logic unit, wherein a first application program having a first module is loaded from an application database into the program memory and/or the programmable logic unit during a programming mode and executed as first program code during an execution mode, where a processor or the programmable logic unit performs a check during the execution mode based on a predefined criterion to determine whether a second application program having a second module should be loaded from the application database and, if so, the system switches to the programming mode and the second module is loaded into the program memory and/or the programmable logic unit and executed as second program code, where the system switches to the execution mode in which the second program code is executed.
Runtime patching of configuration files
A data processing system comprises a pool of reconfigurable data flow resources and a runtime processor. The pool of reconfigurable data flow resources includes arrays of physical configurable units and memory. The runtime processor includes logic to receive a plurality of configuration files for user applications. The configuration files include configurations of virtual data flow resources required to execute the user applications. The runtime processor also includes logic to allocate physical configurable units and memory in the pool of reconfigurable data flow resources to the virtual data flow resources and load the configuration files to the allocated physical configurable units. The runtime processor further includes logic to execute the user applications using the allocated physical configurable units and memory.
Compile time instrumentation of data flow graphs
A data processing system comprises memory, compile time logic, runtime logic, and instrumentation profiling logic. The memory stores a dataflow graph for an application. The dataflow graph has a plurality of compute nodes that are configured to be producers to produce data for execution of the application, and to be consumers to consume the data for execution of the application. The compile time logic partitions execution of the dataflow graph into stages. Each of the stages has one or more compute nodes, one or more producers, and one or more consumers. The runtime logic determines a processing latency for each of the stages by calculating time elapsed between producers of a particular stage receiving input data and consumers of the particular stage receiving output data. The instrumentation profiling logic generates performance statistics for the dataflow graph based on the processing latency determined for each of the stages.
Processor for configurable parallel computations
A flexible processor includes (i) numerous configurable processors interconnected by modular interconnection fabric circuits that are configurable to partition the configurable processors into one or more groups, for parallel execution, and to interconnect the configurable processors in any order for pipelined operations, Each configurable processor may include (i) a control circuit; (ii) numerous configurable arithmetic logic circuits; and (iii) configurable interconnection fabric circuits for interconnecting the configurable arithmetic logic circuits.
LOGIC REPOSITORY SERVICE
The following description is directed to a logic repository service. In one example, a method of a logic repository service can include receiving a first request to generate configuration data for configurable hardware using a specification for application logic of the configurable hardware. The method can include generating the configuration data for the configurable hardware. The configuration data can include data for implementing the application logic. The method can include receiving a second request to download the configuration data to a host server computer comprising the configurable hardware. The method can include transmitting the configuration data to the host server computer in response to the second request so that the configurable hardware is configured with the host logic and the application logic.
Reconfigurable security hardware and methods for internet of things (IOT) systems
A hardware encryption module with reconfigurable security algorithms for randomly selecting block ciphers, stream ciphers, and their components, for internet of things (IoT) and data security applications. A corresponding system contains a hardware number generator for generating unique secrets in digital and wireless communication protocols. The system contains a cryptographically secure pseudorandom number generator for creating deterministic random sequences for the reconfigurable logic module. The system contains a multiplexing scheme to send keys and cipher texts in accordance with a wireless communication protocol. The hardware encryption module can be used to reconfigure block cipher algorithms, modes of operation, key scheduling algorithms, confusion functions, and/or round orders, based on reconfigurable logic. One type of reconfigurable logic allows stream cipher algorithms and key mixing keys to be changed at random.
OVERLAY LAYER HARDWARE UNIT FOR NETWORK OF PROCESSOR CORES
Methods and systems for executing an application data flow graph on a set of computational nodes are disclosed. The computational nodes can each include a programmable controller from a set of programmable controllers, a memory from a set of memories, a network interface unit from a set of network interface units, and an endpoint from a set of endpoints. A disclosed method comprises configuring the programmable controllers with instructions. The method also comprises independently and asynchronously executing the instructions using the set of programmable controllers in response to a set of events exchanged between the programmable controllers themselves, between the programmable controllers and the network interface units, and between the programmable controllers and the set of endpoints. The method also comprises transitioning data in the set of memories on the computational nodes in accordance with the application data flow graph and in response to the execution of the instructions.
ANALYZING DATA USING A HIERARCHICAL STRUCTURE
Apparatus, systems, and methods for analyzing data are described. The data can be analyzed using a hierarchical structure. One such hierarchical structure can comprise a plurality of layers, where each layer performs an analysis on input data and provides an output based on the analysis. The output from lower layers in the hierarchical structure can be provided as inputs to higher layers. In this manner, lower layers can perform a lower level of analysis (e.g., more basic/fundamental analysis), while a higher layer can perform a higher level of analysis (e.g., more complex analysis) using the outputs from one or more lower layers. In an example, the hierarchical structure performs pattern recognition.