Technology To Use Control Dependency Graphs To Convert Control Flow Programs Into Data Flow Programs

    公开(公告)号:US20180349115A1

    公开(公告)日:2018-12-06

    申请号:US15609583

    申请日:2017-05-31

    Inventor: Yongzhi Zhang

    CPC classification number: G06F8/433 G06F8/20 G06F15/825

    Abstract: An apparatus for automatically converting a control flow program into a data flow program comprises a non-transitory machine-readable medium and a translator stored in the machine-readable medium. The translator, when executed by a data processing system, enables the data processing system to (a) automatically generate a control dependency graph for a control flow program, (b) automatically generate a data flow graph based at least in part on the control dependency graph, and (c) automatically generate a data flow program based at least in part on the data flow graph. In one embodiment or scenario, the translator may also automatically insert a switch instruction into the data flow program, in response to a determination that a variable of the control flow program is defined in one control dependency region and used in a different control dependency region. Other embodiments are described and claimed.

    GENERATING CODE FOR REAL-TIME STREAM PROCESSING

    公开(公告)号:US20180173508A1

    公开(公告)日:2018-06-21

    申请号:US15898844

    申请日:2018-02-19

    CPC classification number: G06F8/41 G06F8/433 G06F8/4452

    Abstract: A computer-implemented method for generating code for real-time stream processing, where data is streamed in tuples. One or more processors receive source code which includes code to be applied in a sequential series to one or more tuples. Processor(s) generate the code for real-time stream processing by: buffering received time sequence tuples in a buffer; and converting the code to be sequentially applied to the one or more tuples into code for buffered tuples with a loop construct. Processor(s) also generate code for: checking that all tuples in a processing window have been buffered; and applying the converted code to each tuple in the processing window.

    DATABASE OBJECT DELIVERY INFRASTRUCTURE
    67.
    发明申请

    公开(公告)号:US20180137010A1

    公开(公告)日:2018-05-17

    申请号:US15349767

    申请日:2016-11-11

    Applicant: SAP SE

    Abstract: In an example embodiment, one or more changes to one or more objects in the software object database are received from a developer. A change list is generated based on the one or more changes. An object definition is exported for every object in the change list from a first schema in the database to a second schema in the software object database. A first object in the second schema is activated by mapping a logical schema name specified in the object definition for the first object to a corresponding physical schema name and creating or altering the first object in the second schema using the physical schema name.

    Automatic refactoring of javascript code for multi-thread execution

    公开(公告)号:US09946536B2

    公开(公告)日:2018-04-17

    申请号:US14957629

    申请日:2015-12-03

    CPC classification number: G06F8/72 G06F8/315 G06F8/433 G06F8/456

    Abstract: Computer implemented method of refactoring JavaScript code for multi-threading concurrent execution, comprising: 1) Designating a source code which includes background code entries indicated by a user as executed in background. 2) Analyzing the source code entries to create a dependency record. 3) Creating a background process comprising the background code entries and removing code entries which read or write from DOM(s). 4) Creating a handler code comprising the write code entries. 5) Creating main code which includes: (a) Remaining code entries not included in the background process and the handler code. (b) Process initiation code initiating the background process. The process initiation code is placed at a process initiation point identified based on the dependency record which follows the read code entries in the source code execution path and precedes the write code entries. 6) Outputting refactored code file(s) which include the background process, handler code and main code.

    Generating code for real-time stream processing

    公开(公告)号:US09946522B1

    公开(公告)日:2018-04-17

    申请号:US15381236

    申请日:2016-12-16

    CPC classification number: G06F8/41 G06F8/433 G06F8/4452

    Abstract: A computer-implemented method for generating code for real-time stream processing, where data is streamed in tuples, and where each tuple has a timestamp and a value. One or more processors receive source code. The source code includes: code to be applied in a sequential series to one or more tuples; a definition of a size of a sequence of tuples to be processed as a processing window; and a size of a sequence of earlier tuples that a current tuple depends upon as a dependence window. Processor(s) generate the code for real-time stream processing by: buffering received time sequence tuples in a buffer in accordance with the processing window and the dependence window; and converting the code to be sequentially applied to the one or more tuples into code for buffered tuples with a loop construct.

    MODIFYING APPLICATIONS FOR INCREMENTAL CHECKPOINTS

    公开(公告)号:US20180088916A1

    公开(公告)日:2018-03-29

    申请号:US15278091

    申请日:2016-09-28

    CPC classification number: G06F8/433 G06F11/07

    Abstract: In one example, a system for modifying applications to support incremental checkpoints can include logic to generate a dominator tree based on a control flow graph for source code, wherein the control flow graph and the dominator tree comprise a plurality of nodes corresponding to basic blocks of the source code. The processor can select a region based on a leaf node of the dominator tree, the region based on an instruction threshold, and insert a first set of commit instructions into the source code based on entry points into the region and insert a second set of commit instructions into the source code based on exit points from the region. The processor can update the dominator tree to exclude the selected region and compile the source code into an executable application, wherein the first set of commit instructions and the second set of commit instructions enable incremental checkpoints.

Patent Agency Ranking