.NET as a Platform for Implementing Concurrent Objects
JACO is a Java-based runtime system designed to study techniques for implementing concurrent objects in distributed systems. The use of Java has allowed us to build a system that permits to combine heterogeneous networks of workstations and multiprocessors as a unique metacomputing system. An alternative to Java is Microsoft’s .NET platform, that offers a software layer to execute programs written in different languages, including Java and C#, a new language specifically designed to exploit the full advantages of .NET. In this paper, we present our experiences in porting JACO to .NET. Our goal is to analyze how Java parallel code can be re-used in .NET. We study two alternatives. The first one is to use J#, the implementation of Java offered by .NET. The second one is to rewrite the Java code in C#, using the native .NET services. We conclude that porting JACO from Java to C# is not difficult, and that our sequential programs run faster in .NET than in Java, while internode communications have a higher cost in .NET.
Unable to display preview. Download preview PDF.
- 2.Nebro, A.J., Pimentel, E., Troya, J.M.: Distributed objects: An approach based on replication and migration. The Journal of Object-Oriented Programming (JOOP) 12 (1999) 22–27Google Scholar
- 3.Nebro, A.J., Pimentel, E., Troya, J.M.: Integrating an entry consistency memory model and concurrent object-oriented programming. In: Third International Euro-Par Conference. (1997) Passau, Alemania.Google Scholar
- 4.Liberty, J.: Programming C#. O’Reilly (2001)Google Scholar
- 5.Platt, D.S., Ballinger, K.: Introducing Microsoft.NET. Microsoft Press (2001)Google Scholar
- 6.de Icaza, M.: The Mono Project: An Overview (2001) http://www.ximian.com/devzone/tech/mono.html.
- 7.UEA Calma Group: Parallelism in combinatorial optimisation. Technical report, School of Information Systems, University of East Anglia, Norwich, UK (1995)Google Scholar
- 8.Alba, E., Nebro, A.J., Troya, J.M.: Heterogeneous computing and parallel genetic algorithms. Accepted for publication in the Journal of Parallel and Distributed Computing (2002)Google Scholar