G06F8/453

Systems and methods for minimizing communications

A system for allocation of one or more data structures used in a program across a number of processing units takes into account a memory access pattern of the data structure, and the amount of total memory available for duplication across the several processing units. Using these parameters duplication factors are determined for the one or more data structures such that the cost of remote communication is minimized when the data structures are duplicated according to the respective duplication factors while allowing parallel execution of the program.

Systems and methods for facilitating streaming in a local network with multiple subnets

Systems, methods, and non-transitory, machine-readable media to facilitate streaming in a local network are disclosed. A primary media device may be configured to: operate as a server in a local network, receive audio/video (A/V) content, and provide the A/V content to a first display. A secondary media device may be communicatively connected to the primary media device and may be configured to: operate as a client with respect to the primary media device in the local network, receive the A/V content from the primary media device, and provide the A/V content to a second display. The primary media device and the secondary media device may use multiple subnets in the local network. The primary media device and/or the secondary media device may select a first subnet of the multiple subnets to use based at least in part on a type of content to communicate via the first subnet.

Automatic static region generation for memory protection units (MPUs)
11132305 · 2021-09-28 ·

This invention presents a method for error-free, automatic generation of regions for Memory Protection Units (MPUs) to ease development of systems, using MPUs.

Cognitve Automation-based engine to propagate data across systems

Aspects of the disclosure relate to cognitive automation-based engine processing to propagate data across multiple systems via a private network to overcome technical system, resource consumption, and architecture limitations. Data to be propagated can be manually input or extracted from a digital file. The data can be parsed by analyzing for correct syntax, normalized into first through sixth normal forms, segmented into packets for efficient data transmission, validated to ensure that the data satisfies defined formats and input criteria, and distributed into a plurality of data stores coupled to the private network, thereby propagating data without repetitive manual entry. The data may also be enriched by, for example, correcting for any errors or linking with other potentially related data. Based on data enrichment, recommendations of additional target(s) for propagation of data can be identified. Reports may also be generated. The cognitive automation may be performed in real-time to expedite processing.

PROCESS FOR CONSTRUCTING A SIGNATURE CHARACTERISTIC OF THE ACCESSES, BY A MICROPROCESSOR, OF A MEMORY

Method for constructing a signature characteristic of the accesses, by a microprocessor, to a memory wherein: each time the microprocessor executes an access instruction for accessing a datum of a data structure, the microprocessor retrieves the identifier of the data structure and a position identifier that identifies the position of the datum accessed inside this data structure, the temporally ordered series of the position identifiers thus retrieved forming a retrieved access pattern, then for each retrieved access pattern associated with one and the same data structure identifier, the microprocessor constructs a statistical distribution on the basis of just the position identifiers of this retrieved access pattern, the set of the statistical distributions thus constructed and associated with the identifier of this data structure forming the signature characteristic of the accesses to the memory.

VEHICLE MASTER DEVICE, REWRITE TARGET GROUP ADMINISTRATION METHOD, COMPUTER PROGRAM PRODUCT AND DATA STRUCTURE OF SPECIFICATION DATA

A vehicle master device includes a rewrite specification data acquisition unit that is configured to acquire rewrite specification data from outside, a rewrite specification data analysis unit that is configured to analyze the rewrite specification data acquired by the rewrite specification data acquisition unit, a group generation unit that is configured to divide the plurality of rewrite target ECUs to generate a plurality of groups based on the rewrite specification data analyzed by the rewrite specification data analysis unit, and an instruction execution unit that is configured to instruct the plurality of rewrite target ECUs for each group of the plurality of groups generated by the group generation unit to perform at least one of installation, rollback, and activation.

Accelerating Application Modernization
20210165640 · 2021-06-03 ·

Various embodiments of the present technology generally relate to the characterization and improvement of software applications. More specifically, some embodiments relate to systems and methods for modeling code behavior and generating new versions of the code based on the code behavior models. In some embodiments, a method of improving a codebase includes recording a run of the existing code, characterizing the code behavior via one or more models, prototyping new code according to a target language and target environment, deploying the new code to the target environment, and comparing the behavior of the new code to the behavior of the existing code. In some implementations, generating new code based on the behavior models includes using one or more machine learning techniques for code generation based on the target language and environment.

REMOTE APPLICATION MODERNIZATION
20210165641 · 2021-06-03 ·

Various embodiments of the present technology generally relate to the characterization and improvement of software applications. More specifically, some embodiments relate to systems and methods for modeling code behavior and generating new versions of the code based on the code behavior models. In some embodiments, a method of improving a codebase includes recording a run of the existing code, characterizing the code behavior via one or more models, prototyping new code according to a target language and target environment, deploying the new code to the target environment, and comparing the behavior of the new code to the behavior of the existing code. In some implementations, generating new code based on the behavior models includes using one or more machine learning techniques for code generation based on the target language and environment.

RESCHEDULING JIT COMPILATION BASED ON JOBS OF PARALLEL DISTRIBUTED COMPUTING FRAMEWORK

A computer-implemented method is provided for compilation rescheduling from among four compilation levels comprising level 1, level 2, level 3, and level 4 on a parallel distributed computing framework running processes for a plurality of jobs of a virtual machine. The method bypasses a program analysis overhead that includes measuring a compiled method execution time by identifying completed compilation levels of a Just In Time compilation. The method finds a repetition of a same process in the processes for the plurality of jobs of the virtual machine from profiles by comparing main class names, virtual machine parameters, and Jar file types therein. The method applies a compilation scheduling for the same process a next time the same process runs based on a result of the checking the transition, by (i) compiling at the level 1 at least some methods for the same process responsive to the virtual machine finishing without compiling the at least some methods for the same process at the level 4 after compiling the at least some of the methods at a level in between the level 1 and the level 4, and (ii) compiling at the level 4 at least a subset of the methods earlier than an original scheduled time responsive to at least the subset of the methods compiled at the level 4 being infrequently invoked below a threshold amount.

Optimize control-flow convergence on SIMD engine using divergence depth

There are provided a system, a method and a computer program product for selecting an active data stream (a lane) while running Single Program Multiple Data code on a Single Instruction Multiple Data machine. The machine runs an instruction stream over input data streams and machine increments lane depth counters of all active lanes upon the thread-PC reaching a branch operation and updates the lane-PC of each active lane according to targets of the branch operation. An instruction of the instruction stream includes a barrier indicating a convergence point for all lanes to join. In response to a lane reaching a barrier: evaluating whether all lane-PCs are set to a same thread-PC; and if the lane-PCs are not set to the same thread-PC, selecting an active lane from the plurality of lanes; otherwise, incrementing the lane-PCs of all the lanes, and then selecting an active lane from the plurality of lanes.