StackThreads/MP: integrating futures into calling standards

作者: Kenjiro Taura , Kunio Tabata , Akinori Yonezawa

DOI: 10.1145/301104.301110

关键词: MultithreadingSoftware portabilityParallel computingMachine codeCilkProgramming languageComputer scienceCorrectnessAsynchronous communicationCompilerPreprocessor

摘要: An implementation scheme of fine-grain multithreading that needs no changes to current calling standards for sequential languages and modest extensions compilers is described. Like previous similar systems, it performs an asynchronous call as if were ordinary procedure call, detaches the callee from caller when suspends or either them migrates another processor. Unlike connects arbitrary frames generated by off-the-shelf obeying standards. As a consequence, requires neither frontend preprocessor nor native code generator has builtin notion parallelism. The system practically works with unmodified GNU C compiler (GCC). Desirable guaranteeing portability correctness are clarified claimed modest. Experiments indicate performance not sacrificed practical applications both parallel comparable Cilk[8], whose fairly sophisticated C. These results show efficient calls (a.k.a. future calls) can be integrated into standard very small impact on engineering.

参考文章(23)
Devang Shah, Steve Kleiman, Bart Smaalders, Programming with threads ,(1996)
Yoshihiro Oyama, Kenjiro Taura, Akinori Yonezawa, An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus european conference on parallel processing. pp. 546- 553 ,(1997) , 10.1007/BFB0002781
Bill Kalsow, Luca Cardelli, Lucille Glassman, Greg Nelson, James Donahue, Mick Jordan, Modula-3 Report (revised) Sigplan Notices. ,vol. 27, ,(1992)
A. A. Chien, U. S. Reddy, J. Plevyak, J. Dolby, ICC++-AC++ Dialect for High Performance Parallel Computing ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software. pp. 76- 95 ,(1996) , 10.1007/3-540-60954-7_45
Kenjiro Taura, Akinori Yonezawa, Schematic: A Concurrent Object-Oriented Extension to Scheme OBPDC '95 Selected papers from the Workshop, on Object-Based Parallel and Distributed Computation. pp. 59- 82 ,(1995) , 10.1007/3-540-61487-7_22
Kenjiro Taura, Akinori Yonezawa, Fine-grain multithreading with minimal compiler support—a cost effective approach to implementing efficient multithreading languages programming language design and implementation. ,vol. 32, pp. 320- 333 ,(1997) , 10.1145/258915.258944
Robert H. Halstead, MULTILISP: a language for concurrent symbolic computation ACM Transactions on Programming Languages and Systems. ,vol. 7, pp. 501- 538 ,(1985) , 10.1145/4472.4478
Akinori Yonezawa, Jean-Pierre Briot, Etsuya Shibayama, Object-oriented concurrent programming in ABCL/1 conference on object oriented programming systems languages and applications. ,vol. 21, pp. 258- 268 ,(1986) , 10.1145/960112.28722
Richard M. Stallman, Using and Porting GNU CC ,(1998)