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 ).


Published

2008-09-27

Issue

Section

Section 2. Programming

Author Biographies

A.V. Petrov

Yu.P. Serdyuk


References

  1. OpenMP specifications (http://www.openmp.org/specs).
  2. Message Passing Interface (http://www-unix.mcs.anl.gov/mpi/).
  3. Globus Toolkit (http://www.globus.org/toolkit/).
  4. Silva V. Crunch big numbers with GT3 using a quadratic sieve (http://www-128.ibm.com/developerworks/grid/library/gr-factor/).
  5. Benton N., Cardelli L., Fournet C. Modern concurrency abstractions for C# // ACM Transactions on Programming Languages and Systems. 2004. 26, N 5. 769-804.
  6. 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.
  7. 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).
  8. 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.
  9. Serdyuk Yu. A formal basis for the MC# programming language (Extended Abstract) (http://www.mcsharp.net/publications/formal_basis_extended_abstract.pdf).
  10. Гузев В., Сердюк Ю. MC# Grid System: подход к Grid-вычислениям на основе параллельного, распределенного языка программирования // Тр. конференции «Научный сервис в сети Интернет: распределенные вычислительные технологии». Новороссийск, сентябрь 2005 г. 41-43.
  11. http://www.mcsharp.net
  12. http://research.microsoft.com/ crusso/joins/
  13. http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf
  14. http://www.intel.com/research/platform/terascale/teraflops.htm
  15. http://www.openmp.org
  16. http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm
  17. http://labs.trolltech.com/ page/Projects/Threads/QtConcurrent
  18. http://upc.gwu.edu/
  19. http://chapel.cs.washington.edu/
  20. http://titanium.cs.berkeley.edu/
  21. http://fortress.sunsource.net
  22. http://x10.sourceforge.net/x10home.shtml
  23. http://www.hpcchallenge.org/
  24. http://softwareblogs.intel.com/2006/12/18/threading-building-blocks-solution-looking-for-a-problem/
  25. http://www.globus.org/toolkit/
  26. http://gpe4gtk.sourceforge.net/
  27. http://www.moredream.org/mpich.htm
  28. http://www.mono-project.com
  29. http://cfm.gs.washington.edu/security/ssh/client-pkauth/
  30. http://www.povray.org
  31. http://www.centerspace.net/
  32. http://www.itlab.unn.ru/?doc=835
  33. http://www.microsoft.com/rus/msdnaa/curricula/Default.mspx
  34. http://parallel-brains.narod.ru/