A computer program, at its most basic level is a series of low level processor instructions which are executed sequentially. These instructions take time to execute, thus longer programs have longer execution times. One way to decrease the execution time for a program is to decrease the required time for each instruction. This is called frequency scaling. The disadvantage of frequency scaling is that running a processor at higher speeds causes it to generate more heat and consume more power. The physical properties of transistors also impose limits on how fast a microprocessor can be built. The solution to the problem of frequency scaling is to, instead of decreasing the time to execute an instruction, increase the number of instructions that can be run in a given amount of time, by running these instructions in parallel. This is known as parallel computing, and in this paper we present a solution for using many off-the-shelf computers to build a computing cluster which will accelerate computing performance by running tasks in parallel. To this end, we introduce a middleware for writing distributed applications on physical computing devices, such as the Raspberry Pi computer.
['Michael Lescisin', 'Qusay H. Mahmoud']
Middleware for writing distributed applications on physical computing devices