This is a mirror of official site: http://jasper-net.blogspot.com/

Grid computing using C# Script and .NET Remoting

| Wednesday, April 21, 2010
If I count the numbers of the top articles I have seen till now, the article “C# Script: The Missing Puzzle Piece” by “Oleg Shilo” is one of them. If you didn’t see that I recommend you to view it then come back to this article; because this article is based on C# script engine.

C# script is a solution for acting C# codes as a script language. It uses C# compiling engine for compilation and then executes it.

When I saw that article I thought that what happens if I could use this engine on the network? And I started making a solution to use it on several computers that connected together.

Here I don’t want to describe the C# Script Engine. For more information see the main article or the CS-Script home page.
Usages

We can use this idea to compute long-time taken algorithms on more than one computer by paralleling the execution (called “Grid Computing”). For more information see the sample at the end of this article that I calculated the pi number using my solution.

Another great usage of C# script on network is executing some actions and jobs on the network like as remote management and everything you can imagine!

Just think a little about usage of this idea and then you can find this idea very useful!
Security Attention

When you use this project be aware that it can be a back door for computers who CS-Script Service have been installed on them (our executers) because it can execute any code that requested!

For simplicity I didn’t add any authentication and encryption techniques to authorizing the execution requester, but I’m going to add these policies to article later and I’ll glad to hear your suggestions. If you want to implement some security options for .Net Remoting, you can see the article of MSDN about “Writing an Asymmetric Encryption Channel Sink”
.Net Remoting

As you may know .Net Remoting is a technology of .Net for communication of processes over the network. If you are not familiar with .Net Remoting you can see the articles about that like this and this.
I’ve been used .Net Remoting for communication between a manager and executers (both are described below). For getting away from firewalls and security boundaries I used HTTP channel and SOAP formatter.
Introduction to Grid Computing

One of the main strategies of grid computing is using software to divide and apportion pieces of a program among several computers, sometimes up to many thousands. Grid computing is distributed, large-scale cluster computing, as well as a form of network-distributed parallel processing‎ [1].

I assumed a simple shape of grid computing with one manager and some executers connected to the manager.

Read more: Codeproject

Posted via email from jasper22's posterous

0 comments: