Release notes for MC# 2.2 ( 10.09.2009 )

 This release has the following new features and components.

1. Now the MC# Programming System  has a version for Linux. It is based on Mono - a free implementation of .NET for Unix-like systems. MC# for Linux can be used on multicore/SMP machines or on clusters. The maximum number of cores/processors used in large-scale tests on clusters was 4200.

Here is the protocol of running of N-Queens program on 525 nodes (4200 processors):
  

    

MC#.Runtime, v. 2.2.0.34023

    Task challenge : 21   Solutions = 314666222712

    ==MC# Statistics================================

    Number of movable calls: 4200

    Number of channel messages: 87108

    Number of movable calls (across the network): 4200

    Number of channel messages (across the network): 4200

    Total time: 00:02:55.3579270 / 175.357927 sec.


  The "User's Guide" in the installation package of MC# Programming System contains the scripts and samples of running of MC# programs as jobs through the different batch systems -  PBS/Torque, Task Running Management System (TRMS), Cleo.
 
2. The installation package for both (Windows and Linux) versions contains a tutorial "Introduction to programming in MC# language". In this tutorial the novel features of MC# language as async- and movable methods, channels, handlers and chords are explained in detail. The tutorial contains a series of samples which demonstrate the specific constructs of MC# language in action. These samples include
                       - computation of Fibonacci numbers,
                       - all2all program,
                       - Conway's "Game Of Life",
                       - LINQ based image rendering,
                       - N-Queens problem.         

3Section "Examples" of the installation package contains a standard HPC (High-Performance Computation) test RandomAccess for multicore machines. The specification of the test can be found at http://www.hpcchallenge.org/class2specs.pdf. The code of RandomAccess in MC# and corresponding comparisons with PFX (Parallel Extensions for .NET) and C/C++ versions can be found at "Examples" page.


4. Section "Publication" contains an abstarct of the paper "A formal basis for the MC# programming language". In particular, it contains a description of the type system for the "C-calculus" - a concurrent object calculus.

5.  The several bugs in MC#-compiler has been fixed in this release.