摘要:
The present invention extends to methods, systems, and computer program products for handling synchronous operations by means of asynchronous operations. Upon completion of an asynchronous operation, a state flag is accessed. The state flag indicates whether or not a sync-over-async wrapper/adapter requested execution of the asynchronous operation. The sync-over-async wrapper/adapter is currently blocked awaiting notice of completion of the asynchronous operation. Based on the state flag, results of the asynchronous operation are stored at a location accessible by the sync-over-async wrapper. A completion signal is sent to the sync-over-async wrapper.
摘要:
In an implementation of an XML-based preprocessor, a programmed source file is parsed to generate a syntactic representation of the programmed source file. An XML (Extensible Markup Language) document is generated from the syntactic representation of the programmed source file, and a transform is applied to the XML document to generate a modified XML document from which an output file is generated in a format of the programmed source file.
摘要:
A traffic control application programming interface for abstracting the use of traffic control components to client applications to provide quality of service. The traffic control interface accepts input from a client application and based on that input, communicates with the operating system to control kernel level traffic control components. The client can register with the traffic control interface, and it can open and close interfaces, add, modify, and delete flows on those interfaces, and attach or delete filters on the flows. The client can also obtain data on any currently active interface, flow, or filter. The traffic control interface will send the appropriate message to the operating system, directing that the necessary tasks be performed by either a packet scheduler or a packet classifier. Those kernel level components then return through the operating system the results of the operations requested, and that return data will be passed back to the client application.
摘要:
The present invention extends to methods, systems, and computer program products for memory pinning through buffer encapsulation. Within a managed execution environment, a wrapper object encapsulates a memory buffer that is to be shared with a native routine executing in a native execution environment. The wrapper object manages operation of a memory manager on a memory heap corresponding to the memory buffer. The wrapper object includes a first function which sets a pin on the memory buffer and returns a pointer identifying the memory buffer. Setting the pin causes the memory manager to cease moving the memory buffer within the memory heap. The wrapper object also includes a second function which releases the pin on the memory buffer.
摘要:
Aspects of the subject matter described herein relate to semaphores. In aspects, a feedback mechanism is described that uses a semaphore to attempt to maximize throughput of a computer system. Throughput is tracked over periods of time. At or after the end of a period of time, the throughput of the period of time together with other data is used to determine whether a max count for a semaphore is to be changed and by how much. This monitoring of throughput and modifying of the max count may continue over subsequent periods of time to attempt to maximize throughput.
摘要:
Static data race analysis of at least a portion of a multi-threaded application in order to identify potential data race defects in the multi-threaded application. The static data race analysis includes intra-component static analysis as well as inter-component static analysis. The intra-component static analysis for a given component involves identifying a set of memory accesses operations in the component. For each of at least one of the set of memory access operations, the analysis determines whether there is a data race protection element associated with the memory access command.
摘要:
A software optimization system isolates an effect of a change in a control variable from effects of ongoing, unknown changes in other variables. The system discards effects due to noise so that effects of interest to a programmer are more easily visible. The software optimization system treats variations in one or more control variables and in the output of the system as signals. The system varies the control variable at a specific frequency unlikely to correlate with uncontrolled variations in external variables. The system uses digital signal processing (DSP) techniques to filter the output, isolating the frequency of the control variable variation. The system then compares the resulting filtered output to the input to determine the approximate effect of the variation in the control variable.
摘要:
Static data race analysis of at least a portion of a multi-threaded application in order to identify potential data race defects in the multi-threaded application. The static data race analysis includes intra-component static analysis as well as inter-component static analysis. The intra-component static analysis for a given component involves identifying a set of memory accesses operations in the component. For each of at least one of the set of memory access operations, the analysis determines whether there is a data race protection element associated with the memory access command.
摘要:
Aspects of the subject matter described herein relate to semaphores. In aspects, a feedback mechanism is described that uses a semaphore to attempt to maximize throughput of a computer system. Throughput is tracked over periods of time. At or after the end of a period of time, the throughput of the period of time together with other data is used to determine whether a max count for a semaphore is to be changed and by how much. This monitoring of throughput and modifying of the max count may continue over subsequent periods of time to attempt to maximize throughput.
摘要:
User IDs in addresses to which an e-mail is addressed are logically ordered into a 2D matrix of rows each having one user ID. For each column in the 2D matrix, a column count is found by counting the highest number of matching characters in the column. A column quotient is calculated for each column by dividing the column count by the total number of rows in the 2D matrix. A weighted column quotient is calculated for each column by multiplying the column quotient by a weight that is based on the left-to-right order of the column in the 2D matrix. A numerical assessment is made of the similarity of the user IDs in the addresses to which the e-mail is addressed by adding up the weighted column quotients for the columns in the 2D matrix.