Abstract

We present a software scheduling scheme for fine-grain threads, typical granurality of which is a single procedure invocation. Such fine-grain threads appear in many language implementations such as Multilisp and concurrent object-oriented languages in which an asynchronous procedure/method invocation is a building block of parallel programs. An implementation is described in terms of our abstract machine StackThreads. In the proposed scheme, an asynchronous procedure invocation (a procedure call attached with a thread creation) is performed in less than 10 additional RISC instructions to normal procedure calls in traditional sequential languages such as C, as long as the thread terminates without blocking. StackThreads unifies asynchronous and synchronous procedure calls, deriving a synchronous call by a combination of an asynchronous call + explicit synchronization between the caller and the callee. Therefore, each thread does not have to have its own stack for intrathread procedure calls, simplifying management of activation records. StackThreads serves as a compiler target for general purpose languages such as concurrent object-oriented languages or functional languages on distributed memory multicomputers where the efficiency of intra-node thread management is crucial. We also give benchmark results of our implementation of concurrent object-oriented language ABCL/f, the compiler of which uses StackThreads as the intermediate representation of source programs.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.