Interpreter instead of Compiler user megaprogram in CHAIMS

  • Slides: 5
Download presentation
Interpreter instead of Compiler: user megaprogram in CHAIMS language network CHAIMS compiler, simple scheduler

Interpreter instead of Compiler: user megaprogram in CHAIMS language network CHAIMS compiler, simple scheduler Idl-file generator and compiler executable client (CSRT) client code in C, C++, Java, stub code C++, Java compiler and linker Interpreter: user complete megaprogram in CHAIMS language some CHAIMS statements June 1998 serves as input to serve as input to CHAIMS execution machine (interpreter and scheduler) CHAIMS-protocol network 1

Reasons for Interpreter • Dynamic scheduler: » Input is parsed and stored in a

Reasons for Interpreter • Dynamic scheduler: » Input is parsed and stored in a dependency graph. » Execution machine (interpreter / scheduler) works through the graph and makes appropriate calls: – estimate-calls are added in order to get necessary run-time information for scheduling (cost-function) – every invocation is issued as soon as possible (data-flow) and reasonable (according to cost-function) – all invocations for which the CSRT waits for results are polled regularly, and results extracted and new invocations issued as soon as possible CSRT would still be sequential! • Overview results, flexible interactions: » composer can program statement by statement; immediate results can influence subsequent programming » like ftp, web June 1998 CHAIMS 2

Current Architecture: Several Implementations of PAM Client C P A M - protocols CORBA-idl

Current Architecture: Several Implementations of PAM Client C P A M - protocols CORBA-idl DCE-idl Java-class Wrappers M e g a m o d u l e s June 1998 CHAIMS 3

Alternative Architecture: Other Approach to Heterogeneity client site Client e. g. TCP/IP sockets or

Alternative Architecture: Other Approach to Heterogeneity client site Client e. g. TCP/IP sockets or RMI CPAM sites of servers different wrapper site June 1998 RMI wrapper CORBA wrapper RMI wrapper CORBA RMI server-specific protocols native server 1 native server 2 native server 3 CHAIMS chaims compliant module chaims I/O module 4

Reasons for Alternative Architecture Overall: » Simpler architecture: less wrappers, just one protocol on

Reasons for Alternative Architecture Overall: » Simpler architecture: less wrappers, just one protocol on client side Server-side: » Dataflow-optimization: direct messages within CPAM layer between megamodules/their wrappers possible without bridges Client-side: » Thin client that could run everywhere (TCP/IP or RMI are available everywhere, but not CORBA or DCE). » Implementation of the CSRT by interpreter instead of compiler is easier. » Already now we use just transport-facility of different distribution systems. June 1998 CHAIMS 5