07 — Golem integrations

07.1 What is an integration?

Golem is a distributed network for general purpose computing. Individuals, companies and services can use Golem to handle their computing requirements by connecting their apps to the Golem API. This is known as an integration.

The first integrations allow users of Blender or LuxRender to render their scenes on the Golem network. But many other types of integration can be imagined, from chemical analysis to machine learning to audio processing. Thus you can think of Golem as a computer for which the integrations are applications.

07.2 How do integrations work?

In the case of the rendering integration, Golem performs as a network of virtual machines that are able to process the graphical data in parallel. Tasks are broken into separate chunks (called subtasks) and sent to individual machines to be independently calculated. Then all the transformed data is collected into a single rendered frame or group of frames and delivered to the user. The crucial thing is that these subtasks are fully independent and can be processed separately in parallel.

07.3 Why peer-to-peer?

Such behavior constitutes a novel approach where a distributed network of computational power is a new form of organizing things and an alternative for many systems within the current software delivered by big vendors. This peer-to-peer based framework reflects a competitive solution that everyone may choose as an alternative and the software that holds the potential of individual and networked participation. It organically brings advantages for both sides, i.e., providers that may rent their computational power and requestors that can make their computations cheaper.

07.4 Microtransactions

The next advantage is the implementation of microtransactions on the Ethereum blockchain that naturally makes the proposed solution safe and cheap, i.e., by applying smart contracts and micropayments. The smart contract allows sides to exchange money and electronic goods atomically making it very safe. Micropayments allows sides to transfer money almost at zero cost.

07.5 Expandability

Golem is an expandable system that will grow with every integration. The distributed network of Golem nodes constitutes a common ground for various and widely known programming paradigms, frameworks, software, libraries, and even programming languages, like MapReduce systems (Apache Hadoop, Apache Spark), machine learning platforms (Tensor Flow, Caffe, Deeplearning4j), languages (R, Julia), libraries (Theano), Geographic Information Systems, etc.

07.6 Going Forward

In the near future, Golem will allow processing huge amount of various types of complex and large data including databases in various forms as spatiotemporal data, multimodal data, etc. as well as will be capable of various problems solving such as classification, prediction, pattern recognition, data analysis and data understanding. It will be possible due to implementation of neural networks and machine learning platforms. Capabilities of Golem for processing massive data will support the learning process in those platforms.