Follow us in twitter @LucyGridNet

Project Description

LucyGrid brings .NET grid computing to your business.

The project aims to help businesses to run heavy computing processes using existing resource instead having to rent or buy expensive clusters or servers.

There is a lot of references talking about the myth of the "10% brain usage" but not too much about the percentage of real computing power laying at your business.

Today's basic computer has a minimum of two cores at 2.6GH and two or four GB of RAM. Think on joining all this power in a virtual processor.




How it works

There is not need of a central or master computer.

LucyGrid transform any computer running windows in your office network into a grid node capable to share computing power without affecting other running processes.

Grid nodes intercommunicate using multicast messages to notify about their status and resources consumption and listening for processing requests.

Running a process in the grid

LucyGrid is based on the principle of distributing chunks of data to be processed independently. Chunks are continuously processed by the grid nodes until no more data is available.

Run a process over the grid is simple as calling AsParallelGrid  in your code or using LucyG.exe to run an existing console app into the grid. 

Grid performance

Each grid node is able to run multiple grid chunks at a time while runs under the machine resources consumption limits specified. If the limits are reached, the grid node is suspended until more resources are available.

Any node can join and leave at anytime without breaking the grid.

As much nodes you get active, more power.


In this example a lambda function is distributed on the grid using an anonymous as data input and output types. 


.Select((l,i) => new {
    Line = l,
    Index = i
.AsParallelGrid(chunk => new {
// Distributed code WordCount = chunk.Line.Split(' ').Length, Index = chunk.Index }) .OrderBy(o => o.Index) .ToArray();



Last edited Jun 16, 2015 at 3:19 PM by gbrian, version 15