Back to Volume
Paper: Toward a Multi-threaded Glish
Volume: 281, Astronomical Data Analysis Software and Systems XI
Page: 164
Authors: Schiebel, D. R.
Abstract: Glish is the scripting language at the core of AIPS++ . Glish's asynchronous event handlers are, by nature, independent threads of execution, and AIPS++ developers have used these handlers to create many such threads without the concern typically required for thread creation and deletion. Starting AIPS++ creates over 3000 such threads. Having so many threads created in response to user scripts poses many challenges for the underlying scripting language implementation. The complexity involved warrants synchronization and mutual-exclusion constructs which are at at a higher level than those provided by pthreads (Kleiman et al. 1996) and similar libraries. Since Glish is implemented in C++, these constructs should be centered around objects rather than functions and critical regions. This paper discusses these issues, the initial work toward introducing multiple threads of execution into Glish, and possible tools for achieving object-oriented concurrency. The National Radio Astronomy Observatory is a facility of the National Science Foundation operated under cooperative agreement by Associated Universities, Inc.
Back to Volume