Project/Area Number |
11480061
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
計算機科学
|
Research Institution | Tokyo Institute of Technology (2001) The University of Tokyo (1999-2000) |
Principal Investigator |
KOBAYASHI Naoki Tokyo Institute of Technology, Graduate School of Information Science and Engineering, Assoc. Prof., 大学院・情報理工学研究科, 助教授 (00262155)
|
Co-Investigator(Kenkyū-buntansha) |
IGARASHI Atsushi The University of Tokyo, Graduate School of Arts and Sciences, Research Assoc., 大学院・総合文化研究科, 助手 (40323456)
TAURA Kenjiro The University of Tokyo, Graduate School of Information Science and Engineering, Lecturer, 大学院・情報理工学系研究科, 講師 (90282714)
WATANABE Takuo The University of Tokyo, Graduate School of Information Science and Engineering, Assoc. Prof., 大学院・情報理工学研究科, 助教授 (20222408)
|
Project Period (FY) |
1999 – 2001
|
Project Status |
Completed (Fiscal Year 2001)
|
Budget Amount *help |
¥7,200,000 (Direct Cost: ¥7,200,000)
Fiscal Year 2001: ¥1,800,000 (Direct Cost: ¥1,800,000)
Fiscal Year 2000: ¥2,000,000 (Direct Cost: ¥2,000,000)
Fiscal Year 1999: ¥3,400,000 (Direct Cost: ¥3,400,000)
|
Keywords | linear type system / quasi-linear types / memory management / region inference / garbage collection / type inference / functional language / resource usage analysis / 線形型 / 並列計算機 / 並行言語 / 通信チャネル |
Research Abstract |
The aim of this research project was to establish a new scheme for memory management based on the quasi-linear type system which Kobayashi has proposed. With the quasi-linear type system, we can find the last access to each heap data and insert an instruction for deallocation at compile-time, by which we can construct a more efficient, safe memory management system. Main results are summarized as follows. Insertion of memory allocation/deallocation instructions based on the quasi-linear type system We devised an algorithm for finding the last access point for each heap data and inserting allocation/deallocation instructions, based on the quasi-linear type system. We incorporated it into a functional programming language ML. Design and implementation of a bytecode language for our memory management scheme We designed and implemented a bytecode language that is suitable for our memory management scheme based on the quasi-linear type system. Integration with garbage collection Since not all heap data can be maintained by our memory management scheme, integration with conventional memory management schemes (GC) is necessary. The main issues are how to improve GC on multiprocessors and how to deal with dangling pointers produced by our memory management scheme. We dealt with these issues and established a method to integrate the two schemes for memory management. Resource usage analysis We generalized the quasi-linear type system and constructed a type system for checking usage of not only the memory but also other resources such as files, networks, etc.
|