G06F9/45

Method of achieving intra-machine workload balance for task chunks for distributed graph-processing systems

Techniques are provided for efficiently distributing graph data to multiple processor threads located on a server node. The server node receives graph data to be processed by the server node of a graph processing system. The received graph data is a portion of a larger graph to be processed by the graph processing system. In response to receiving graph data the server node compiles a list of vertices and attributes of each vertex from the graph data received. The server node then creates task chunks of work based upon the compiled list of vertices and their corresponding attribute data. The server node then distributes the task chunks to a plurality of threads available on the server node.

Memory management for graphics processing unit workloads

A method, a device, and a non-transitory computer readable medium for performing memory management in a graphics processing unit are presented. Hints about the memory usage of an application are provided to a page manager. At least one runtime memory usage pattern of the application is sent to the page manager. Data is swapped into and out of a memory by analyzing the hints and the at least one runtime memory usage pattern.

Comparative program execution through control of two or more debug sessions to automatically determine execution differences

According to embodiments of the present invention, machines, systems, methods and computer program products for controlling two or more remote sessions are provided. Two or more remote sessions are synchronized to control each session using a common interface. One or more executable commands are sent to each remote session at substantially the same time using the common interface to control operation of that remote session. Data generated by each remote session from executing the commands is received and analyzed to identify one or more differences in data generated by each remote session. The one or more identified differences in the data are displayed on the common interface. An indication may be provided regarding possible root causes of the differences in the data generated by each remote session. Each remote session includes a program debug session. A report comprising the one or more identified differences in the data may be generated.

COMPUTING DEVICE COMPRISING A TABLE NETWORK

A computing device is provided configured to compute a data function on a function-input value comprising an electronic storage storing a table network configured for the data function and an electronic processor coupled to the storage and configured to compute the data function by applying the table network, wherein the device is configured to obtain the function-input value as an encoded input value, the encoded input value combines the function-input value together with a state-input value encrypted together into a single value, the table network is configured to take as input the encoded input value and produce as output an encoded output value, the encoded output value combines a function-output value together with a state-output value encrypted data function together into a single value, wherein the function-output value equals the result of applying the data function to the function-input value, and the state-output value equals the result of applying a state function to the state-input value.

TRANSLATING ATOMIC READ-MODIFY-WRITE ACCESSES

Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.

SYSTEM AND METHOD FOR DYNAMIC RUNTIME MERGING OF REAL TIME STREAMING OPERATOR ENVIRONMENTS

A method, computer program product, and computer system for tracking tuples by ID as the tuples progress through an operator of a chain of operators within a processing element. Dynamic loading may be utilized to load a processing code for the operator in response to invoking fusion for the operator. Ownership of network I/O may be shifted from the operator to a final operator of the chain of operators within the processing element. A tuple ID may be rolled back to a last ID processed by the operator being added into the processing element.

ANALYSIS OF SOURCE CODE FOR DEPLOYMENT

A method comprises receiving a source code having a data set with a processor, opening the data set and identifying compile stage dependencies and run stage dependencies in the data set, determining whether a compile stage dependency has been identified, determining whether the identified compile stage dependency is accessible responsive to determining that the compile stage dependency has been identified, retrieving the compile stage dependency responsive to determining that the identified compile stage dependency is accessible, and compiling the source code and saving the compiled source code in a memory using the retrieved compile stage dependency responsive to determining that no run stage dependencies have been identified.

DEBUGGING OPTIMIZED CODE USING FAT BINARY

Embodiments of the present invention provide a method, computer program product, and system for debugging optimized code. The system includes a FAT binary, wherein the FAT binary comprises a non-optimized native code and an internal representation of a program's source code. An optimus program is configured to transform the internal representation of the program's source code into a fully optimized native code. The system also includes an enhanced loader, wherein the enhanced loader is configured to communicate with a debugger to determine a type of code to load.

SEMANTICALLY SENSITIVE CODE REGION FINGERPRINT CALCULATION FOR PROGRAMMING LANGUAGES
20170235556 · 2017-08-17 ·

Herein disclosed is an optimization for a compiler, the optimization configured to assign numeric values, or semantic fingerprints, to portions of code, and to combine these fingerprints to arrive at fingerprints for larger and larger portions of code. The fingerprints can be provided to various consumers such as code redundancy optimization modules and copyright violation and malware/virus identification modules. The fingerprints can also be used to cluster similar code, and then code within each cluster can be merged. Merger can include creating a single merged portion of code including the same portions of code from the original portions of code plus control flow and new arguments to account for differences between the original portions of code. The original portions of code can be replaced with wrappers that use new arguments to call to the merged portion of code.

METHOD FOR TRACKING HIGH-LEVEL SOURCE ATTRIBUTION OF GENERATED ASSEMBLY LANGUAGE CODE

A method for tracking high-level source attribution of a generated assembly language code includes: receiving commands for compiling or linking a high-level language code; analyzing the received commands to determine whether a command is a compiler command for compiling the high-level language code or a link command for linking the low level object code; when the command is a compiler command: generating assembly language code by compiling the high-level language code, parsing the generated assembly language code to generate an internal representation for the assembly language code, storing the internal representation in a computer memory; and generating associated linker input artifacts for linking; when the command is a link command: updating the internal representation with the associated linker input artifacts; and generating a report file from the updated internal representation.