Study On A Reflective Architecture To Provide Efficient Dynamic Resource Management For Highly-Paral

Recent progress in implementations of object-oriented concurrent programming languages on highly-parallel processors makes it feasible to construct large-scale parallel applications having complicated structures. Such applications can not exhibit good performance without dynamic resource management (e.g., load-balancing and object scheduling) tailored to the characteristics of the applications and/or machine architectures. Since dynamic resource management systems are usually intertwined with the language implementation, modi cation/extension of the management systems requires complicated programming in the low-level language. Re ective systems can provide abstractions to modify/extend the implementation-level facilities within the application-level language. This study proposes a re ective architecture of an object-oriented concurrent language for highly-parallel processors to provide resource management systems for parallel applications. To make our architecture practical, much attention is payed on balancing the trade-o s between extensibility and e ciency; we examine the requirements for realistic applications by developing resource management systems for search problems andN -body simulation, and design the architecture based on the requirements. The architecture is evaluated by experiments through a prototype system running on a parallel computer. ` a b c ox}€…“– ̄x}¿ÏÅ3⁄4Áˆkgi ̄fz‹ ̄~ ̄âí®μ·ïù”üavƒ­m÷»ˆ ̈x}1⁄4ÐÚÃòÄØÞ ̄måœ%á«­§©¦ð ̄욭1⁄4ÐÚÃòÄØÞ»j|잍n¤ ̧ ¦3®°ï1⁄4ÐÚÃòÄØÞ ̄—Œ ́€…“1⁄4òÀÊÁÈÖ®#£©ïìó­u&w„ ́ÆÃÅ×òÚ Þ­¬ ̄ßë‡e‘{»ê¤ ̧s œ˜ ̧ðŽ ï 1¶ ̄‡e‘{ÄÆÊÕ°ïgi ̄n‰Ä ÆÊÕ­¬®õ2p±1©ô€¡1©™ ̧¦3ïyl ́“áç ̄¦3®°ïéÜÒÛgi®μ ̧r ƒ­ÐÝÂÙÔÞœs a˜§¦ðû~a°ïŠhã"€…œï¥ ̄욭giö®’o ̧“á »ï1⁄4ÐÚÃòÄØÞÜÒÛ ̄giaÿ!®ylñç¤ ̧¦3 ̄1⁄2ÞÇÎ3⁄4òÆ»ê¤ ̧î®æý ¢ïox}€…“kŸ ̄x}¿ÏÅ3⁄4Áˆkgi ̄Šhã"1⁄4òÀÊÁÈÖ»ê ¤ ̧ðà®ïŠh ã"€… ̄ˆ ̈ç—«¿òÍÑÉÌ ̄ÍÙÞÆ»« ̧¦3®ïä‚þú ́N øÄÔ×ÜòÄØÞ­¬ ̄që­1⁄4ÐÚÃòÄØÞkŸ ̄ÆÃÅ×òÚÞÂñÓ1⁄2ÂÜòÄØÞ»› ­šÄÆÊÕ ̄•» 袩ï1⁄4òÀÊÁÈÖ ̄ô€»› ­šð¡¶®ïx}€…“– ̄ÐÝËÇ1⁄2ÐÄÆÊÕa ̄d® 짩ïê ¢¦1⁄4òÀÊÁÈÖ ̄t$»› ­šð

[1]  Mario Tokoro,et al.  Al-1/d: a distributed programming system with multi-model reflection framework , 1992 .

[2]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[3]  米沢 明憲 ABCL : an object-oriented concurrent system , 1990 .

[4]  Mitchell Wand,et al.  The mystery of the tower revealed: a non-reflective description of the reflective tower , 1986, LFP '86.

[5]  Satoshi Matsuoka,et al.  Implementing concurrent object-oriented languages on multicomputers , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[6]  Satoshi Matsuoka,et al.  Hybrid Group Re ective Architecture for Object-Oriented Concurrent Re ective Programming , 1991 .

[7]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA 1988.

[8]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[9]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[10]  Yi-Bing Lin,et al.  A study of time warp rollback mechanisms , 1991, TOMC.

[11]  Anoop Gupta,et al.  A parallel adaptive fast multipole method , 1993, Supercomputing '93. Proceedings.

[12]  Satoshi Matsuoka,et al.  RbCl: A Reflective Object-Oriented Concurrent Language without a Run-time Kernel , 1992 .

[13]  Craig Chambers,et al.  Debugging optimized code with dynamic deoptimization , 1992, PLDI '92.

[14]  A. Yonezawa,et al.  An introduction to object-based reflective concurrent computation , 1988, OOPSLA/ECOOP '88.

[15]  Satoshi Matsuoka,et al.  An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers , 1992, PPOPP '93.

[16]  Satoshi Matsuoka,et al.  An Efficient Implementation Scheme of Concurrent Object-Oriented Languages on Stock Multicomputers , 1992, Parallel Symbolic Computing.

[17]  Gregor Kiczales,et al.  What A Metaobject Protocol Based Compiler Can Do For Lisp , 1993 .

[18]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[19]  Anthony P. Reeves,et al.  Strategies for Dynamic Load Balancing on Highly Parallel Computers , 1993, IEEE Trans. Parallel Distributed Syst..

[20]  CONSTANTINE D. POLYCHRONOPOULOS,et al.  Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers , 1987, IEEE Transactions on Computers.

[21]  Akinori Yonezawa,et al.  An Actor-Based Metalevel Architecture for Group-Wide Reflection , 1990, REX Workshop.

[22]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[23]  Jed Marti,et al.  Non-preemptive time warp scheduling algorithms , 1990, OPSR.

[24]  Steven Lucco,et al.  A dynamic scheduling method for irregular parallel programs , 1992, PLDI '92.

[25]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[26]  S. Matsuoka,et al.  Incorporating Locality Management into Garbage Collection in Massively Parallel Object-Oriented Languages Kenjiro Taura , 1993 .

[27]  Willy Zwaenepoel,et al.  Munin: distributed shared memory based on type-specific memory coherence , 1990, PPOPP '90.

[28]  Takashi Masuda,et al.  Designing an Extensible Distributed Language with a Meta-Level Architecture , 1993, ECOOP.

[29]  MaesPattie Concepts and experiments in computational reflection , 1987 .

[30]  Craig Chambers,et al.  Making pure object-oriented languages practical , 1991, OOPSLA '91.

[31]  Joseph E. Flaherty,et al.  A massively parallel adaptive finite element method with dynamic load balancing , 1993, Supercomputing '93. Proceedings.

[32]  Masakazu Furuichi,et al.  A multi-level load balancing scheme for OR-parallel exhaustive search programs on the multi-PSI , 1990, PPOPP '90.