Using Decentralized Clustering for Task Allocation in Networks with Reconfigurable Helper Units

Computing systems are studied that consist of many (partially) autonomous workers and helpers which are connected via a network and where the helpers perform service tasks for the workers. In order to execute different service tasks the helpers have reconfigurable hardware. We address the problem to design a decentralized system where the requests of the workers are executed by suitable helpers and where the total reconfiguration costs of the helpers are small. A system is proposed that uses a combination of a fully decentralized and dynamic clustering algorithm and a self-organized task allocation system. The clustering algorithm is used to classify the service requests that are sent as packets through the network in order to give the helpers hints which packets are suitable to be executed by them. Simulations have been done for static and dynamic scenarios where we investigate the reconfiguration costs and the number of dropped packets, i.e., requests that could not be satisfied. The results show that the proposed system has a strong adaptive behavior and that the decentralized clustering is able to reduce the reconfiguration costs significantly.