Schematic: A Concurrent Object-Oriented Extension to Scheme

This page is still under construction. Stay tuned.

What's Schematic?

Schematic is a concurrent object-oriented extension to the programming language Scheme. Any lambda expression (hence user-defined function, toplevel or internal) can be called both by a normal sequential invocation and a future invocation. Omitting some important details, concurrency primitives and their syntax are similar to those in Multilisp.

Schematic also introduces concurrent objects. A concurrent object is data structure safely sharable among concurrent processes. Simaltaneous accesses to a single concurrent object is arbitrated, so that a method invocation can be regarded as an atomic transaction. Unlike many early concurrent object-oriented languages (especially those based on Actors), however, a concurrent object in Schematic does not serialize every method invocation and allows much more concurrency than those languages. An introductry technical paper (Letter size (US etc.), A4 (Japan)) is available.

Right now, its portable prototype on top of Scheme->C compiler is operating on single processor workstations and AP1000 parallel computer. In addition, an experimental implementation has been done on network of Sun Workstations. In the future, we are going to support those running on symmetric multiprocessor (SMP), the Parallel Virtual Machine (PVM), the Message Passing Interface (MPI), Myrinet, and workstations which talk TCP/IP. We will make it publically available soon (by summer 1996).

We incorporate Tk library into Schematic. The resulting tool is very close to STk, but each widget now acts as a concurrent object which can be distributed over the network. An experimental environment on SUN clusters is operating and we call it SchematicTk. Our experience so far indicates that SchematicTk makes it substantially easier to build distributed GUI applications. We have built several demonstration programs with this respect Schematic Demonstration (at ISOTAS'96).

Related Home Pages

References

See also Oyama's publications and Taura's publications

OTY2001
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Fusion of Concurrent Invocations of Exclusive Methods Transactions of Information Processing Society of Japan, 42 (SIG 2 (PRO 9)):13--25, February, 2001. In Japanese. A4 gzipped Postscript / A4 PDF.
Oyama2000
Yoshihiro Oyama. Achieving High Performance for Parallel Programs that Contain Unscalable Modules. Ph. D Thesis.
Department of Information Science, Faculty of Science, University of Tokyo. December, 2000.
A4 gzipped Postscript / A4 PDF.
OTY2000c
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Fusion of Concurrent Invocations of Exclusive Methods In Information Processing Society of Japan, SIGPRO Workshop, June, 2000. In Japanese. A4 gzipped Postscript / A4 PDF.
OTY2000b
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Online Computation of Critical Paths for Multithreaded Languages, In Proceedings of 5th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2000), held in conjunction with IPDPS 2000, volume 1800 of Lecture Notes in Computer Science, Cancun, Mexico, pages 301--313, May, 2000. A4 gzipped Postscript / A4 PDF.
OTY2000a
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Executing Parallel Programs with Synchronization Bottlenecks Efficiently, In Transactions of Information Processing Society of Japan, 41(5): 1448--1458, May, 2000. In Japanese.
Original version (NOT recommended) A4 gzipped Postscript / A4 PDF
Longer version (recommended) A4 gzipped Postscript / A4 PDF.
OTY99b
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Executing Parallel Programs with Synchronization Bottlenecks Efficiently, In Proceedings of the International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications (PDSIA '99), pages 182--204, World Scientific, July, 1999. A4 gzipped Postscript / A4 PDF.
OTY99a
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. Executing Parallel Programs with Potential Bottlenecks Efficiently, In Proceedings of the 11st Joint Symposium on Parallel Processing (JSSP '99), June, 1999. (in Japanese). A4 gzipped Postscript / A4 PDF.
OTEY98
Yoshihiro Oyama, Kenjiro Taura, Toshio Endo, and Akinori Yonezawa. An Implementation and Performance Evaluation of Language with Fine-Grain Thread Creation on Shared Memory Parallel Computer In Proceedings of IASTED 10th International Conference on Parallel and Distributed Computers and Systems, October, 1998. A4 gzipped Postscript / A4 PDF.
Oyama98
Yoshihiro Oyama. An Efficient Compilation Framework for Parallel Programming Languages Based on a Concurrent Process Calculus, Master's Thesis, February, 1998. A4 gzipped Postscript / A4 PDF.
OTY97b
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus, In Proceedings of Euro-Par '97, Parallel Processing, number 1300 in Lecture Notes in Computer Science, pages 546--553. Springer Verlag, August, 1997. A4 gzipped Postscript / A4 PDF.
OTY97a
Yoshihiro Oyama, Kenjiro Taura, and Akinori Yonezawa. An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus, Technical report TR 97-07, Department of Computer Science, Faculty of Science, University of Tokyo, July, 1997. A4 gzipped Postscript / A4 PDF.
TMY94b
Kenjiro Taura, Satoshi Matsuoka, and Akinori Yonezawa. StackThreads: An abstract machine for scheduling fine-grain threads on stock CPUs. In Proceedings of Workshop on Theory and Practice of Parallel Programming (TPPP), number 907 in Lecture Notes in Computer Science, pages 121--136. Springer Verlag, 1994. A4 Postscript, Letter Size Postscript.
TMY94a
Kenjiro Taura, Satoshi Matsuoka, and Akinori Yonezawa. ABCL/ f: A future-based polymorphic typed concurrent object-oriented language -- its design and implementation --. In G. Blelloch, M. Chandy, and S. Jagannathan, editors, Proceedings of the DIMACS workshop on Specification of Parallel Algorithms, number 18 in Dimacs Series in Discrete Mathematics and Theoretical Computer Science, pages 275--292. American Mathematical Society, 1994. A4 Postscript, Letter Size Postscript.
TMY93
Kenjiro Taura, Satoshi Matsuoka, and Akinori Yonezawa. An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers. In Proceedings of the ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming PPOPP, pages 218--228, 1993. A4 Postscript, Letter Size Postscript.



TAURA Kenjiro
Thu Mar 7 08:58:30 JST 1996