G06F8/4441

Analytic workload partitioning for security and performance optimization

The present disclosure provides privacy preservation of analytic workflows based on splitting the workflow into sub-workflows each with different privacy-preserving characteristics. Libraries are generated that provide for formatting and/or encrypting data for use in the sub-workflows and also for compiling a machine learning algorithm for the sub-workflows. Subsequently, the sub-workflows can be executed using the compiled algorithm and formatted data.

In situ triggered function as a service within a service mesh

The present technology is directed to a system and method for automatic triggering of relevant code segments corresponding to a sequence of code segments or function codes having a preferred execution order. The automatic triggering action is based on the snooping of a response generated from an execution of a previous code segment. Information with respect to the next code segment in the preferred execution order may be obtained by directing a network proxy, such as Envoy to snoop the Uniform Resource Identifier (URI) field of a response packet being forwarded to a client entity. In this way, a network proxy may preemptively spawn and instantiate the following function codes (pointed to by the snooped Uniform Resource Identifier) prior to receiving the corresponding client request. As such, by the time a client request for the subsequent function code is received the code ready for execution.

REGISTER PRESSURE TARGET FUNCTION SPLITTING
20230029183 · 2023-01-26 ·

Provided are embodiments for a method of performing register pressure targeted function splitting. The method can include determining a candidate region of a function, the candidate region comprising variables, and determining a number of available registers in a computing system for allocating the variables of the function. The method can also include grouping the variables in the candidate region into first variables and second variables based at least in part on the number of available registers, and splitting the candidate region of the function into split functions based at least in part on the grouping of the variables. Also provided are embodiments for a computer program product and a system for performing register pressure targeted function splitting

Instrumentation for nested conditional checks

Aspects include executing a first phase that includes injecting instrumentation into program code in response to identifying an inner conditional check in the program code and running the instrumented program with a representative workload. The injecting includes duplicating the inner conditional check and placing a duplicate of the inner conditional check before a respective original nested conditional check in the program code to create an instrumented program. The instrumented program includes a plurality of basic blocks including original basic blocks and a newly added basic block that includes the duplicate of the inner conditional check. The method also includes executing a second phase that includes collecting execution frequency values from counters associated with the basic blocks to form metadata used to make optimization decisions for the program code.

Compiler-optimized context switching with compiler-inserted data table for in-use register identification at a preferred preemption point

Compiler-optimized context switching may include receiving an instruction indicating a preferred preemption point comprising an instruction address; storing the preferred preemption point in a data structure; determining, based on the data structure, that the preferred preemption point has been reached by a first thread; determining that preemption of the first thread for a second thread has been requested; and performing a context switch to the second thread.

Systems using computation graphs for flow solvers

An embodiment of a method can create a directed acyclic graph (DAG) from a programmer specified set of computation units to solve, in a computer program, physics based simulations of physical systems, and the DAG can be used to analyze and debug the computer program. In this method, the computer program can be created by automatically determining dependency relationships in the set of computation units and automatically schedule their execution. The method can also automatically allocate memory for the computation units.

PACKING CONDITIONAL BRANCH OPERATIONS
20230214219 · 2023-07-06 ·

Disclosed in some examples, are systems, methods, devices, and machine readable mediums which use improved dynamic programming algorithms to pack conditional branch instructions. Conditional code branches may be modeled as directed acyclic graphs (DAGs) which have a topological ordering. These DAGs may be used to construct a dynamic programming table to find a partial mapping of one path onto the other path using dynamic programming algorithms.

Machine learning (ML) powered programming code transformations

A machine learning (ML) based code transformation system that transforms a source programming code developed using a source library for execution on a source platform into remediated code for execution on a target platform is disclosed. Metadata extracted from the source programming code is used to detect the source programming language, source libraries, and the source platform. The metadata also enables modularizing the source programming code based on the functionality and identifying a node from a plurality of nodes in a communication network to execute the various source code modules. A similarity map is generated mapping the source libraries to the target libraries and the source code modules that are incompatible with the target platform are identified and remediated with similar target code modules using the similarity map.

METHOD AND SYSTEM FOR PROVIDING A CONTEXT-SENSITIVE, NON-INTRUSIVE DATA PROCESSING OPTIMIZATION FRAMEWORK

A method of performing a data search in a data source by which an operator of a data search pipeline is just-in-time optimized and compiled, using an operator optimization module which optimizes and compiles an intermediate representation of the operator, considering runtime information, and optimization rules, to produce an operator that is optimized for the data search being performed. The method can be applied with one operator or with many operators applied in any sequence or tree structure according to a query plan, as determined by runtime information and optimization rules.

METHOD AND APPARATUS FOR FUNCTIONAL UNIT BALANCING AT PROGRAM COMPILE TIME
20220413818 · 2022-12-29 ·

There is provided methods and apparatus to improve runtime by computer programs at compilation time. A compiler analyzes code to be translated into machine executable instructions to identify overloaded functional units of the target processor, and replaces instructions scheduled on the overloaded functional unit to an idle unit using functionally equivalent operations on the idle unit. The replacement instructions may be taken from an instruction replacement library comprising function calls that implement functionality of a functional unit of the target processor on another functional unit of the target processor.