# OurGrid

OurGrid is an open-source grid middleware based on a peer-to-peer architecture. OurGrid was mainly developed at the Federal University of Campina Grande (Brazil), which has run an OurGrid instance named "OurGrid" since December 2004. Anyone can freely join it to gain access to large amount of computational power and run parallel applications. This computational power is provided by the idle resources of all participants, and is shared in a way that makes those who contribute more get more when they need. Currently, the platform can be used to run any application whose tasks (i.e. parts that run on a single machine) do not communicate among themselves during execution, like most simulations, data mining and searching.

## Overview

The OurGrid software is written in Java. Any operating system which can run the Java virtual machine can participate in the grid. It consists of four parts: Broker, Worker, Peer and Discovery Service. The Broker is used when the user needs to use the grid for some computation. The Worker is used when the user doesn't need to compute anything at the moment but wants to provide idle computation resources in order to gain the reputation in the network. The Peer is used when the user controls multiple machines and it allows to control the connected Workers. The Discovery Service allows multiple Peers to interact and exchange their computational resources.
The Worker supports virtualization to isolate tasks from the host's file system and the Internet. Without the virtualization, malicious users could upload a task which connects to the Internet and organize a DDoS attack.

## Incentive mechanism

To discourage users from using only the Broker for computation and not providing any computational resources in return, OurGrid uses the mechanism called the Network of Favors. The user gains reputation in the network by providing idle computational resources for the grid. When the user with high reputation requests computation from the grid, their queries have higher priority.
The Network of Favors assumes that every user seeks to obtain more computational resources. The user's reputation is stored locally by the peers who directly interacted with the user. The reputation never becomes negative, otherwise malicious users could just create a new identity with a clean reputation.

## Limitations

In 2013, Marek Šimon, Ladislav Huraj and Vladimír Siládi analyzed the performance bottlenecks of P2P grid applications such as OurGrid. They found out that the task will not be effectively solved in the network if it has the large overhead of distributing data between the workers. They devised a task which uses interpolation methods to determine the snow cover depth. Afterwards, they compared the time it took for the sequential algorithm to solve the task and the time it took for the grid to solve parallelized version of the task. They discovered that there was no increase of efficiency due to the large overhead for data distribution and collection. The other application which deals with radioactive decay showed the increase of efficiency due to the large volume of data, more complex computations and small overhead of data distribution compared to the computation itself.