Lock free streaming of executable code data

A technology for data and execution instructions, applied in the field of lock-free stream transmission of executable code data, and can solve problems such as process performance problems

Active Publication Date: 2015-04-08
MICROSOFT TECH LICENSING LLC
View PDF7 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, hanging a thread can cause p...

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Lock free streaming of executable code data
  • Lock free streaming of executable code data
  • Lock free streaming of executable code data

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0010] The lock-free solution described here exploits two characteristics of modern processors. First, the processor provides atomic thirty-two-bit or sixty-four-bit memory access writes. This guarantees that the processor will see all thirty-two or sixty-four bits in memory. Second, the processor has a one-byte debug breakpoint exception opcode (opcode). This debug breakpoint opcode allows the processor to retry reading and executing the opcode from memory without causing the calling thread to fail.

[0011] In one embodiment, the code is decomposed in memory before the instructions are available to the processor. This decomposition allows creation of an ordered list of memory writes comprising several individual thirty-two or sixty-four-bit writes. This decomposition and analysis can be performed on the client or server. Doing this on the client saves network transfers at the cost of increased processor cycles, while doing it on the server means greater network transfers...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A disassembler receives instructions and disassembles them into a plurality of separate opcodes. The disassembler creates a table identifying boundaries between each opcode. Each opcode is written to memory in an opcode-by-opcode manner by atomically writing standard blocks of memory. Debug break point opcodes are appended to opcode to create a full block of memory when needed. The block of memory may be thirty-two or sixty-four bits long, for example. Long opcodes may overlap two or more memory blocks. Debug break point opcodes may be appended to a second portion of the long opcode to create a full block of memory. A stream fault interceptor identifies when a requested data page is not available and retrieving the data page.

Description

Background technique [0001] A race condition occurs when commands to read and write data are received at the same time. This can also occur, for example, when a thread is executing an executable data packet from memory while a write thread is delivering data to memory. The result could be computer crashes, program shutdowns, read / write errors, or other problems. In one solution, the executing thread can be suspended while waiting for the writing thread to provide data. However, hanging a thread can cause performance problems for the associated process. For example, there can be tens or hundreds of threads running for a process, and only one or a few threads access the data, but every time a stream failure occurs, all threads must be suspended to wait for data delivery. Contents of the invention [0002] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not inten...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F9/30G06F9/38
CPCG06F9/3816G06F9/382G06F9/3802G06F9/30149G06F9/3016G06F9/30181G06F9/30145
Inventor K·雷厄森
Owner MICROSOFT TECH LICENSING LLC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products