Understanding vectorization
To understand Photon, we must understand the different query execution philosophies. There are three popular query execution models. We will learn about them now. To keep it simple, let’s learn about them with a non-data example.
Consider the simple task of increasing the brightness of a photograph. This task will involve increasing the brightness of every single pixel in the photograph. Modern cameras can easily capture photographs with pixel counts in millions. Let's also assume that our processor can handle eight parallel tasks at a time.
Finally, let’s assume three functions will help with this task:
function getPixelRGB(PixelAddress): PixelRGB function addBrightness(PixelRGB, BrightnessFactor): PixelRGB function setPixelRGB(PixelAddress, PixelRGB)
There are three ways that the controller can be programmed to do this function.
Volcano model
In this model, we increase the brightness of the photograph one pixel at...