The MC# 2.0 system for concurrent and distributed programming
Authors
-
A.V. Petrov
-
Yu.P. Serdyuk
Keywords:
параллельное распределенное программирование
параллельное программирование
grid-сети
распределенный рендеринг изображений
языки программирования
Abstract
The MC# language is a general-purpose high-level language designed to create codes for all types of parallel architectures: multicore processors, clusters, and Grid-systems. The basic ideas and some specific features of MC# are considered. The key distinctions of the MC# 2.0 programming system from its previous version and the multithreaded programming in the framework of this system are discussed. A survey of the MC# Grid System as a tool to support the MC#-program execution in Grid-networks is given. An experience of using Povray-based distributed rendering applications under the MC# Grid System is described. Several directions for future work are formulated and a brief description of educational uses of MC# is presented. A preliminary version of this paper was published in the Proceedings of the Conference on Scientific Service in the Internet ( http://agora.guru.ru/abrau2007 ).
Section
Section 2. Programming
References
- OpenMP specifications (http://www.openmp.org/specs).
- Message Passing Interface (http://www-unix.mcs.anl.gov/mpi/).
- Globus Toolkit (http://www.globus.org/toolkit/).
- Silva V. Crunch big numbers with GT3 using a quadratic sieve (http://www-128.ibm.com/developerworks/grid/library/gr-factor/).
- Benton N., Cardelli L., Fournet C. Modern concurrency abstractions for C# // ACM Transactions on Programming Languages and Systems. 2004. 26, N 5. 769-804.
- Fournet C., Gonthier G. The join calculus: a language for distributed mobile programming // Proc. Applied Semantics Summer School. 2000. Lecture Notes in Computer Science. Vol. 2395. Berlin: Springer, 2000. 268-292.
- Serdyuk Yu. MC# 2.0: a language for concurrent distributed programming based on .NET» // .NET Technologies 2006, 4th International Conference, Plzen, Czech Republic, 29 May-1 June, 2006 (http://www.mcsharp.net/publications/NET2006.pdf).
- Guzev V., Serdyuk Yu. Asynchronous parallel programming language based on the Microsoft .NET platform // PaCT-2003. Lecture Notes in Computer Science. Vol. 2763. Berlin: Springer, 2003. 236-243.
- Serdyuk Yu. A formal basis for the MC# programming language (Extended Abstract) (http://www.mcsharp.net/publications/formal_basis_extended_abstract.pdf).
- Гузев В., Сердюк Ю. MC# Grid System: подход к Grid-вычислениям на основе параллельного, распределенного языка программирования // Тр. конференции «Научный сервис в сети Интернет: распределенные вычислительные технологии». Новороссийск, сентябрь 2005 г. 41-43.
- http://www.mcsharp.net
- http://research.microsoft.com/ crusso/joins/
- http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf
- http://www.intel.com/research/platform/terascale/teraflops.htm
- http://www.openmp.org
- http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm
- http://labs.trolltech.com/ page/Projects/Threads/QtConcurrent
- http://upc.gwu.edu/
- http://chapel.cs.washington.edu/
- http://titanium.cs.berkeley.edu/
- http://fortress.sunsource.net
- http://x10.sourceforge.net/x10home.shtml
- http://www.hpcchallenge.org/
- http://softwareblogs.intel.com/2006/12/18/threading-building-blocks-solution-looking-for-a-problem/
- http://www.globus.org/toolkit/
- http://gpe4gtk.sourceforge.net/
- http://www.moredream.org/mpich.htm
- http://www.mono-project.com
- http://cfm.gs.washington.edu/security/ssh/client-pkauth/
- http://www.povray.org
- http://www.centerspace.net/
- http://www.itlab.unn.ru/?doc=835
- http://www.microsoft.com/rus/msdnaa/curricula/Default.mspx
- http://parallel-brains.narod.ru/