Method for processing user program on a parallel computer system

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

395706, 395705, 395392, 395580, G06F 1300

Patent

active

056714319

DESCRIPTION:

BRIEF SUMMARY
BACKGROUND OF THE INVENTION

The development of new, faster von Neumann computers is being increasingly hindered by the fact that the physical limits of the technology used are being reached. There is no prospect of a further increase in performance similar to that of recent decades. Parallel computers alleviate this problem by a number of processors being used for the execution of an application program. However, the provision of parallel computers is not enough in itself. Very few application programs can be automatically parallelized in a simple way. In any event, instructions or constructs which permit the explicit formulation of parallelism are necessary.
In past years, a large number of different programming-language constructs which permit the expression of parallelism have been devised for parallel programming. However, this cannot get around the problem that every parallelism entails management between the processors involved. Therefore, it must generally be accepted that each parallelized program must in the first instance accept losses in speed with respect to one processor: this is so since programs run slower in a parallel environment on a single processor than in sequential environments, even if no communication takes place between the processors. The management of potential parallelism alone costs additional resources. Therefore, part of the speeding up of program processing achieved by parallelism is lost again.
This problem is further explained with reference to FIG. 1 and FIG. 2.
On normal sequential von Neumann computers, all the data DA are held in memory locations SP of the main memory ASP. Consequently, data required during the running of the program can be accessed directly (FIG. 1).
On the other hand, at the run time of programs to be processed in parallel, often data are calculated in parallel. Therefore, data do not take the form shown in the sequential case, instead there are more complicated structures (FIG. 2). A memory location SP1 then contains an identifier KN, which indicates whether a normal data item (sequential case) or a data item to be calculated in parallel is present, and possibly further information on whether and where the data item is to be found. The parallel evaluation is characterized in that it is not known whether data are already calculated or not. While this characteristic arises in the case of sequential programs from the running of the program, in the parallel case there is a more complicated situation. The data item could have to be calculated in a process running on another processor or not. If the first case applies, this data item may or may not have already been calculated in the parallel process. FIG. 2 shows these conditions. Case 2 corresponds in fact to the case of FIG. 1 and differs only in that the program requires different storage of the data item because of possible parallel execution. The data item DA is in this case linked with an identifier KN, which indicates that this data item is calculated sequentially or normally. Such a data item is to be referred to in the following as "present" and be provided in abbreviated form in the code with a $ sign. Case 1), on the other hand, deals with the case where there is parallel processing of processes of the application program. Here, again, there is provided per memory location the identifier KN, which now indicates that the data item is determined in a parallel-running process. Instead of the data item, now a dummy PL is provided, which indicates where the data item DA is in the memory ASP. In case 1.1, the data item DA is already to have been calculated when access to this data item takes place. This case is referred to in the following as "determined" and is to be identified in abbreviated form in the code by an exclamation mark (|). In case 1.2, on the other hand, the dummy PL refers to a memory location SP2, which at the time of access to the data item is still empty, which means that this data item has not yet been calculated in the parallel-running process. This case is to be referred to in

REFERENCES:
patent: 5119495 (1992-06-01), King
patent: 5247696 (1993-09-01), Booth
patent: 5303356 (1994-04-01), Vassiliadis et al.
patent: 5355460 (1994-10-01), Eickemeyer et al.
patent: 5367678 (1994-11-01), Lee
patent: 5465377 (1995-11-01), Blaner et al.
patent: 5500942 (1996-03-01), Eickemeyer et al.
patent: 5560028 (1996-09-01), Sachs et al.
"Parallel Processing Of Near Fine Grain Tasks Using Static Scheduling On Oscar" (Optimally Scheduled Advanced Multiprocessor), Hironori Kashara et al, Proceedings Supercomputing, 12 Nov. 1990, pp. 856-864.
"Programming Language Concepts For Multiprocessors", Harry F. Jordan, Parallel Computing, vol. 8, No. 1-3, Oct. 1988, pp. 31-40.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for processing user program on a parallel computer system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for processing user program on a parallel computer system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for processing user program on a parallel computer system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-1942406

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.