publication . Part of book or chapter of book . 2006

Rain VM: Portable Concurrency through Managing Code

Brown, Neil;
Open Access English
  • Published: 01 Sep 2006
  • Publisher: IOS Press
  • Country: United Kingdom
Abstract
A long-running recent trend in computer programming is the growth in popularity of virtual machines. However, few have included good support for concurrency - a natural mechanism in the Rain programming language. This paper details the design and implementation of a secure virtual machine with support for concurrency, which enables portability of concurrent programs. Possible implementation ideas of many-to-many threading models for the virtual machine kernel are discussed, and initial benchmarks are presented. The results show that while the virtual machine is slow for standard computation, it is much quicker at running communication-heavy concurrent code - wit...
Subjects
free text keywords: QA76
Related Organizations
Download from
Kent Academic Repository
Part of book or chapter of book . 2006
18 references, page 1 of 2

[1] Brad Abrams (Microsoft). What is managed code? http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx, June 2006.

[2] IBM. Cell Broadband Engine Architecture. http://domino.research.ibm.com/comm/ research projects.nsf/pages/cellcompiler.cell.html, June 2006.

[3] N.C.C. Brown and P.H. Welch. An Introduction to the Kent C++CSP Library. In J.F. Broenink and G.H. Hilderink, editors, Communicating Process Architectures 2003, pages 139-156, 2003. [OpenAIRE]

[4] Raymond Chen (Microsoft). Does Windows have a limit of 2000 threads per process? http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx, June 2006.

[5] Christian Jacobson and Matthew C. Jadud. The Transterpreter: A Transputer Interpreter. In Ian R. East, David Duce, Mark Green, Jeremy M. R. Martin, and Peter H. Welch, editors, Communicating Process Architectures 2004, pages 99-106, 2004. [OpenAIRE]

[6] N.C.C. Brown. Rain: A New Concurrent Process-Oriented Programming Language. In Peter Welch, Jon Kerridge, and Fred Barnes, editors, Communicating Process Architectures 2006, pages 237-251, September 2006. [OpenAIRE]

[7] Dan Sugalski. Registers vs stacks for interpreter design. http://www.sidhe.org/~dan/blog/archives/000189.html, June 2006.

[8] Andrew Beatty Yunhe Shi, David Gregg and M. Anton Ertl. Virtual Machine Showdown: Stack versus Registers. In ACM/SIGPLAN Conference of Virtual Execution Environments (VEE 05), pages 153-163, June 2005.

[9] F.R.M.Barnes and P.H.Welch. Prioritised Dynamic Communicating and Mobile Processes. IEE Proceedings-Software, 150(2):121-136, April 2003.

[10] A. Skjellum W. Gropp, E. Lusk. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, 1994.

[11] Mario Schweigler. Adding Mobility to Networked Channel-Types. In Ian R. East, David Duce, Mark Green, Jeremy M. R. Martin, and Peter H. Welch, editors, Communicating Process Architectures 2004, pages 107-126, 2004. [OpenAIRE]

[12] Fred Barnes. occam-pi: blending the best of CSP and the pi-calculus. http://www.cs.kent.ac.uk/projects/ofa/kroc/, June 2006.

[13] Josh Aas (Silicon Graphics Inc). Understanding the Linux 2.6.8.1 CPU Scheduler. http://josh.trancesoftware.com/linux/linux cpu scheduler.pdf, June 2006.

[14] Sun Microsystems Inc. Java Native Interface (JNI). http://java.sun.com/j2se/1.5.0/docs/guide/jni/, June 2006.

[15] Simplified Wrapper and Interface Generator (SWIG). http://www.swig.org/, June 2006.

18 references, page 1 of 2
Any information missing or wrong?Report an Issue