CloudLinq is a programming framework enabling large scale parallel applications running on clusters using LINQ. LINQ is a powerful SQL-like programming model enhanced with a distributed data abstraction (CloudArray) which enables efficient multi-node in-memory data caching and fault-tolerance for large scale query processing. CloudLinq's goal is to make distributed computing simple, independent from the underlying cloud service, providing automatic parallelization from simple declarative code, to distributed queries, as well as multi-core and GPU query optimization using the LinqOptimizer and GpuLinq projects.
using (var ctx = new CloudServiceContext())
{
var data = ctx.CreateArray(lines);
var query = from line in data.AsCloudQueryExpr()
from word in line.Split()
where word.Length > 3
group word by word into x
select Tuple.Create(x.Key, x.Count());
var result = ctx.Run(query); // execute
}
- CloudLinq integration with MBrace.