Claims
- 1. A method for processing a user program on a parallel computer system comprising the steps of:
- dividing the user program into individual processes that are respectively processed on different processors of the parallel computer system, active processes of the individual processes being respectively executed in parallel on respective different processors of the parallel computer system, said active processes having arguments that are normal data items and that are placeholders;
- creating a result cell for a respective placeholder of a respective function process of said further processes during generation of said respective function process, in a locked memory area of a memory, the locked memory area being locked from the user program;
- executing in parallel, in a user mode, first and second processes of said further processes;
- storing, by a system routine running in a system mode, a result of the second process in a predetermined result cell in the locked memory area when said result of the second process is associated with a placeholder, and storing a further result of the second process in a user memory area of the second processor when the further result is a normal data item;
- generating, when a memory access which points to the predetermined result cell in the locked memory area is executed during execution of the first process in the user mode, an interrupt which causes an interrupt routine to run in a system mode which permits access by the interrupt routine to the predetermined result cell, and checking, by the interrupt routine, if the result from the second process is stored in the predetermined result cell, and if the result from the second process is not present in the predetermined result cell, suspending the first process until the result is present in the predetermined result cell;
- wherein for normal data items the first process accesses a respective normal data item in said user memory area of the second processor without interrogation of the locked memory area.
- 2. The method as claimed in claim 1, wherein after the interrupt routine is initiated and when the result is present in the predetermined result cell, the result is made available by the interrupt routine to the first process and an instruction of the first process is executed; and wherein after the interrupt routine is initiated and when the result is not present in the predetermined result cell, the interrupt of the first process is maintained thereby continuing to suspend execution of the first process until the result of the second process has been entered in the predetermined result cell and only then is the result made available to the first process and does the execution of the instruction commence with data of the predetermined result cell.
- 3. The method as claimed in claim 2, wherein upon termination of execution of the second process, the result of the second process is entered in the predetermined result cell.
- 4. A method for processing a user program on a parallel computer system comprising the steps of:
- providing a user program to the parallel computer system;
- dividing the user program into individual processes that are respectively processed on different processors of the parallel computer system, active processes of the individual processes being respectively executed in parallel on respective different processors of the parallel computer system, said active processes having arguments that are normal data items and that are placeholders;
- creating a result cell for a respective placeholder of a respective active process of said individual processes, in a locked memory area of a memory of the parallel computer system, the locked memory area being unaccessible by the user program;
- executing in parallel, in a user mode, at least first and second processes of said individual processes;
- storing, by a system routine running in a system mode, a result of the second process in a predetermined result cell in the locked memory area when said result of the second process is associated with a placeholder, and storing a further result of the second process in a user memory area of the second processor when the further result is a normal data item;
- generating, when a memory access which points to the predetermined result cell in the locked memory area is executed during execution of the first process in the user mode, an interrupt which causes an interrupt routine to run in a system mode which permits access by the interrupt routine to the predetermined result cell, and checking, by the interrupt routine, if the result from the second process is stored in the predetermined result cell, and if the result from the second process is not present in the predetermined result cell, suspending the first process until the result is present in the predetermined result cell;
- wherein for normal data items the first process accesses a respective normal data item in said user memory area of the second processor without interrogation of the locked memory area.
- 5. The method as claimed in claim 4, wherein after the interrupt routine is initiated and when the result is present in the predetermined result cell, the result is made available by the interrupt routine to the first process and an instruction of the first process is executed; and wherein after the interrupt routine is initiated and when the result is not present in the predetermined result cell, the interrupt of the first process is maintained thereby continuing to suspend execution of the first process until the result of the second process has been entered in the predetermined result cell and only then is the result made available to the first process and does the execution of the instruction commence with data of the predetermined result cell.
- 6. The method as claimed in claim 5, wherein upon termination of execution of the second process, the result of the second process is entered in the predetermined result cell.
Priority Claims (1)
Number |
Date |
Country |
Kind |
40 18 012.3 |
Jun 1990 |
DEX |
|
Parent Case Info
This is a continuation of application Ser. No. 952,534, filed as PCT/DE91/00394, May 14, 1991, published as WO91/19251, Dec. 12, 1991, now abandoned.
US Referenced Citations (5)
Number |
Name |
Date |
Kind |
4177510 |
Appell et al. |
Dec 1979 |
|
4530051 |
Johnson et al. |
Jul 1985 |
|
4893234 |
Davidson et al. |
Jan 1990 |
|
4951193 |
Muramatsu et al. |
Aug 1990 |
|
5129693 |
Muramatsu et al. |
Jul 1992 |
|
Foreign Referenced Citations (1)
Number |
Date |
Country |
0312194 |
Apr 1989 |
EPX |
Non-Patent Literature Citations (3)
Entry |
"A Kernel For Distributed Programming Languages" by K.W. Ng., Interfaces in Computing, 3, Sep.-Dec. 1985, pp. 199-216. |
"Multiprocessing Extensions in Spur Lisp" by B. Zorn et al, IEEE Software No. 4, Jul. 1989, pp. 41-49. |
"Exception Handling In Multilisp" by R.H. Halstead et al, Proceedings of the 1985 International Conference on Parallel Processing, Aug. 20-23, 1985, pp. 822-830. |
Continuations (1)
|
Number |
Date |
Country |
Parent |
952534 |
Dec 1992 |
|