ParC#: Parallel Computing with C# in .Net

  • João Fernando Ferreira
  • João Luís Sobral
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3606)


This paper describes experiments with the development of a parallel computing platform on top of a compatible C# implementation: the Mono project. This implementation has the advantage of running on both Windows and UNIX platforms and has reached a stable state. This paper presents performance results obtained and compares these results with implementations in Java/RMI. The results show that the Mono network performance, critical for parallel applications, has greatly improved in recent releases, that it is superior to the Java RMI and is close to the performance of the new Java nio package. The Mono virtual machine is not yet so highly tuned as the Sun JVM and Thread scheduling needs to be improved. Overall, this platform is a new alternative to explore in the future for parallel computing.


Virtual Machine Message Passing Interface Method Invocation Server Object Remote Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming. MIT Press, Cambridge (1987)Google Scholar
  2. 2.
    Wilson, G. (ed.): Parallel Programming Using C++. MIT Press, Cambridge (1996)Google Scholar
  3. 3.
    Nester, C., Philippsen, M., Haumacher, B.: A More Efficient RMI for Java. In: Proceedings of the ACM 1999 Java Grande Conference, San Francisco (June 1999)Google Scholar
  4. 4.
    MacBeth, M., McGuigan, K.: Hatcher: Executing Java threads in parallel in a distributed-memory environment. In: Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, Cascon 1998, Ontario, Canada (November 1998)Google Scholar
  5. 5.
    Aridor, Y., Factor, M., Teperman, A.: cJVM: A Single System Image of a JVM on a Cluster. In: Int. Conference on Parallel Processing, Wakamatsu, Japan (September 1999)Google Scholar
  6. 6.
    Baker, M., Carpenter, B., Fox, G., Ko, S., Lim, S.: MPIJAVA:An Object-Oriented JAVA Interface to MPI. In: International Workshop on Java for Parallel and Distributed Computing, Proceedings of the 11 IPPS/SPDP 1999 Workshops, San Juan, Puerto Rico (April 1999)Google Scholar
  7. 7.
    Philippsen, M., Zenger, M.: JavaParty – transparent remote objects in Java. Concurrency: Practice and Experience 11 (November 1997)Google Scholar
  8. 8.
    Sobral, J., Proença, A.: Designing Scalable Object Oriented Parallel Applications. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, p. 661. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Sobral, J., Proença, A.: A Run-time System for Dynamic Grain Packing. In: Amestoy, P.R., Berger, P., Daydé, M., Duff, I.S., Frayssé, V., Giraud, L., Ruiz, D. (eds.) Euro-Par 1999. LNCS, vol. 1685, p. 845. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • João Fernando Ferreira
    • 1
  • João Luís Sobral
    • 1
  1. 1.Departamento de InformáticaUniversidade do MinhoBRAGAPortugal

Personalised recommendations