Project/Area Number |
08408008
|
Research Category |
Grant-in-Aid for Scientific Research (A)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
計算機科学
|
Research Institution | The University of Tokyo |
Principal Investigator |
YONEZAWA Akinori The University of Tokyo, Graduate School of Science, Professor, 大学院・理学系研究科, 教授 (00133116)
|
Co-Investigator(Kenkyū-buntansha) |
MASUHARA Hidehiko The University of Tokyo, Graduate School of Arts and Sciences, Research Associate, 大学院・総合文化研究科, 助手 (40280937)
KOBAYASHI Naoki The University of Tokyo, Graduate School of Science, Lecturer, 大学院・理学系研究科, 講師 (00262155)
MATSUOKA Satoshi Tokyo Institute of Technology, Graduate School of Information Science and Engineering, Associate Professor, 大学院・情報理工学研究科, 助教授 (20221583)
TAURA Kenjiro The University of Tokyo, Graduate School of Science, Research Associate, 大学院・理学系研究科, 助手 (90282714)
|
Project Period (FY) |
1996 – 1998
|
Project Status |
Completed (Fiscal Year 1998)
|
Budget Amount *help |
¥34,600,000 (Direct Cost: ¥34,600,000)
Fiscal Year 1998: ¥2,500,000 (Direct Cost: ¥2,500,000)
Fiscal Year 1997: ¥3,300,000 (Direct Cost: ¥3,300,000)
Fiscal Year 1996: ¥28,800,000 (Direct Cost: ¥28,800,000)
|
Keywords | concurrent programming language / concurrent objects / synchronous channels / type systems / deadlock / partial evaluation / multithread / distributed GC / 並列プログラミング |
Research Abstract |
An implementation scheme of fine-grain multithreading that needs no changes to current calling standards for sequential languages and modest extensions to sequential compilers is implemented. Like previous similar systems, it performs an asynchronous call as if it were an ordinary procedure call, and detaches the callee from the caller when the callee suspends or either of them migrates to another processor. Unlike previous similar systems, it detaches and connects arbitrary frames generated by off-the-shelf sequential compilers obeying calling standards. As a consequence, it requires neither a frontend preprocessor nor a native code generator that has a builtin notion of parallelism. The system practically works with unmodified GNU C compiler (GCC). Desirable extensions to sequential compilers for guaranteeing portability and correctness of the scheme are clarified and claimed modest. Experiments indicate that sequential performance is not sacrificed for practical applications and both sequential and parallel performance are comparable to Cilk, whose current implementation requires a fairly sophisticated preprocessor to C. These results show that efficient asynchronous calls (i.e., future calls) can be integrated into current calling standard with a very small impact both on sequential performance and compiler engineering.
|