Schematic: A Concurrent Object-Oriented Extension to Scheme
This page is still under construction. Stay tuned.
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).
-
STk---
Scheme with Tk toolkit.
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