Teknillinen tiedekunta, 2016
Master's Degree Programme in Telecommunication Engineering
With the rapid development of technology, people are fully engrossed by the information age. A single computer does not have enough ability to process the huge information and communication that generated on the Internet every day. However, a distributed system offers quick and precise solutions for a variety of complex problems in different fields. There are several definitions on distributed systems, these definitions can be summarized as a system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing. In comparison to a personal computer (PC), a distributed system has more resources to increase performance. Because distributed system can separate the task when handling complexity problems or massive data.
This thesis focuses on implementation and performance evaluation of algorithms running on distributed systems. Mainly measures the time complexity of algorithms (bubble sort, quick sort, and heap sort) executed on distributed system and a personal computer. Then takes the comparison between them. Distributed systems consist of two Raspberries Pi and a personal computer. Two raspberries Pi regarded as two clients and the personal computer is a server. Sockets are used for the communication between the clients and the server. The Graphical User Interface (GUI) has been implemented on the server. The server generates the random numbers, selects the sort algorithm, separates the task and sends it to two clients. On the client, the random numbers will be sorted then two clients return the result of the task to the server. The server receives the sorted numbers and displays it. Furthermore, the GUI shows the measured sorting time.
Distributed System, Sorting Algorithm, Time Complexity, Random Numbers, GUI, Socket Communication