Improve the Performance of Multi-core Processors by Accelerating the Execution of Parallel Tasks Using Socket Programming Technology - حسين ماجدولين (Latakia University Journal -Engineering Sciences Series, 2022)
Socket programming is one of the most modern technologies used in the field of communications, computer networks and processor networks, and it is a method of connecting two nodes on a specific network in order to achieve communication with each other, so that one of the two nodes listens to the socket it has installed in one of its ports, while the other node creates Communication with the socket installed in the first node in order to achieve the connection between the two nodes, and in general the socket is installed on the server side that listens to this socket while the client accesses the server by communicating with this socket, and these nodes in the real world can be Terminal station (computer, smartphone..., etc.). In this research, the socket programming technique was used in order to achieve communication between multi-core processor cores, instead of using the traditional methods used in parallel programming, which depended on the method of messages Passing between processor cores and this requires the use of other resources such as the operating memory to store these Messages passed between the processor cores, which causes a time delay resulting from accessing the operating memory by the sending core during the writing cycle and the receiving core during the reading cycle, and thus the cost of executing parallel tasks in the multi-core processor will increase, and the main reason for this delay is the difference in speed of communication between the processor cores with each other compared to the speed of communication between one of these cores with the operating memory. A work scenario involving the implementation of a specific mathematical problem in a parallel manner distributed over the processor cores was also tested using the Riemann sum in the approximation of integration, in order to study and demonstrate the effect of using socket technology in accelerating the execution of parallel tasks and thus improving the performance of multi-core processors in this field. The processor Intel Core i5-2430m was used to run the work scenario, it is a modern processor that has two separate physical cores, and each of these cores can run two Threads in parallel, for a total of four logical Threads, these four Threads will be used as four stand-alone logical cores that will be used to solve the supposed problem.