Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method for synchronizing program sections of a computer program

Inactive Publication Date: 2007-09-04
OCE PRINTING SYST
View PDF16 Cites 9 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0015]The invention is based on the object of providing a method for synchronizing program sections of a computer program that can be employed in a versatile manner, allows a very efficient data transfer between the program sections, and is also fashioned in a simple way.
[0019]According to a preferred embodiment of the invention, the individual buffer sections are arranged lying immediately behind one another in the memory area of the computer, and administrative data such as the flag, the size of the buffer section, or the data type allocated to the respective buffer sections are stored in as memory area that is independent therefrom. This creates a continuous memory area occupied with data, and this can be quickly and simply read out or written with new data. Moreover, this fashioning of the buffer allows that this data can be written with blocks of a specific size and blocks of a different size can be read. As a result, the data transfer rate, which is influenced by the size of the blocks, can be correspondingly adapted to the corresponding demands that may be high or low both at the side of the producer program sections as well as at the side of the read program sections.
[0020]An inventive control module (synchronization buffer class) for buffer memory administration can be programmed and / or offered as a turnkey module with which, on the one hand, large quantities of data can be exchanged between various threads and that, on the other hand, allows very flexible read and write operations. A buffer memory in which data are exchanged between the threads is administered such that a buffer write thread can define the size of the buffer section it needs, whereas a buffer read thread can read data across a plurality of buffer sections.

Problems solved by technology

Such an asynchronous data transfer is highly efficient but very hard to program.
One problem of these computer programs distributed onto a plurality of program sections is that a test in which the program sections run simultaneously on a plurality of processors is difficult to implement since different errors can occur depending on how the processing of the individual program sections overlap in terms of time.
This can result in, e.g., a one-in-a-thousand chance of an unpredictable error occurring, even thought the computer program functions correctly every other time.

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
  • Method for synchronizing program sections of a computer program
  • Method for synchronizing program sections of a computer program
  • Method for synchronizing program sections of a computer program

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0037]FIG. 1 schematically shows the operation of a computer program divided into a plurality of program sections P0 through P3. For illustration, only a simple computer program is schematically shown, its program sections implementing the initialization P0, the data reading P1, the data processing P2 and the data writing P3. The program section “read data” P1 must hand over data to the data section “process data” P2 and the latter must hand over data to the program section “write data” P3, for which reason a buffer PU1 is arranged between the program sections P1 and P2 and a buffer PU2 is arranged between the program sections P2 and P3.

[0038]From the point of view of the program section “process data” P2, the buffer PU1 is an input buffer that inputs data into the program section P2, and the buffer PU2 is an output buffer that accepts data of the program section P2. With the inventive method, the data transfer DT from a program section to a buffer—for example from P1 to PU1 or from...

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

The invention relates to a method for synchronizing program sections of a computer program. The program sections can run in parallel on different processors of a computer. Data transfer between the program sections is synchronized by providing a buffer. Unauthorized access to the buffer is prevented by means of a flag that is set automatically by buffer utilities. The data transfer between individual program sections is thus synchronized by the buffer synchronization class only, which consists of the buffer, internal variables and the buffer utilities, is configured in a very simple manner and can thus be tested in operation an in a relatively simple manner by means of a computer comprising several processors. The data transfer is very efficient as the individual utilities are designed in a simple and short manner and thus require little processing time and as the data can be directly written in or read out of the buffer.

Description

BACKGROUND OF THE INVENTION[0001]1. Field of the Invention[0002]The invention is directed to a method for synchronizing program sections of a computer program whose program sections can run in parallel on different processors of a computer.[0003]2. Description of the Related Art[0004]The programming and synchronization of threads is explained in “Win 32 Multithreaded Programming”, Aaron Cohen and Mike Woodring, O'Reilly & Associates Inc., ISBN 1-56592-296-4, particularly on pages 258 through 269 and 301 through 303. Such threads are also referred to as “program sections” below.[0005]Program sections that generate data for another program section are referred to as “producers” or “writers”, and program sections that process such data are referred to as “users” or “readers”. It is necessary that the individual program sections work asynchronously in order to optimally utilize the computing power of a computer having a plurality of processors in the division of the work between the ind...

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/46G06F8/41G06F9/45
CPCG06F8/458
Inventor LANKREIJER, HERMAN
Owner OCE PRINTING SYST
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products