Scheduling Algorithms for Multiple Bag-of-Task Applications on Desktop Grids: a Knowledge-Free Approach Cosimo Anglano, Massimo Canonico Dipartimento di Informatica, Universit` a del Piemonte Orientale (Italy), email:{cosimo.anglano,massimo.canonico}@unipmn.it Abstract Desktop Grids are being increasingly used as the execu- tion platform for a variety of applications that can be struc- tured as Bag-of-Tasks (BoT). Scheduling BoT applications on Desktop Grids has thus attracted the attention of the sci- entific community, and various schedulers tailored towards them have been proposed in the literature. However, pre- vious work has focused on scheduling a single BoT appli- cation at a time, thus neglecting other scenarios in which several users submit multiple BoT applications at the same time. This paper aims at filling this gap by proposing a set of scheduling algorithms able to deal with multiple BoT appli- cations. The performance of these algorithm has been eval- uated, by means of simulation, for a large set of operational scenarios obtained by varying both the workload submitted to the Desktop Grid and the characteristics of the involved resources. Our results show that, although there is no a clear winner among the proposed solutions, knowledge-free strategies (that is, strategies that do not require any infor- mation concerning the applications or the resources) can provide good performance. 1. Introduction The exploding popularity of the Internet has created a new much large scale opportunity for Grid computing. As a matter of fact, millions of desktop PCs, whose idle cycles can be exploited to run Grid applications, are connected to wide-area networks both in the enterprise and in the home. These new platforms for high throughput applications are called Desktop Grids [6, 14], and provide an amount of raw computing power far exceeding that provided by more tradi- tional Grid platforms that include a lower number of more powerful resources (e.g., high-performance clusters). The inherent wide distribution, heterogeneity, and dynamism of Desktop Grids makes them better suited to the execution of loosely-coupled parallel applications rather than tightly- coupled ones. Bag-of-Tasks applications (BoT) [8, 19] (par- allel applications whose tasks are completely independent from one another) have been shown [11] to be particularly able to exploit the computing power provided by Desktop Grids and, despite their simplicity, are used in a variety of domains, such as parameter sweeps, simulations, fractal calculations, computational biology, and computer imaging. In order to take advantage of Desktop Grid environ- ments, suitable scheduling strategies, tailored to BoT appli- cations, must be adopted. More specifically, these strate- gies must be able to deal with the heterogeneity of re- sources, the fluctuations in the performance they deliver because of the simultaneous execution of competing ap- plications, and their failures due to crashes/reboots or un- planned departures from the Grid. In response to this need, various scheduling algorithms have been proposed in the literature [2, 3, 11, 15, 16, 23], that typically attempt to minimize the makespan of BoT applications (that is, the time taken to execute all the tasks in a bag) in spite of re- source heterogeneity, performance fluctuation, and failures. Although these algorithms employ different techniques to achieve their goal, they are based on the assumption that at any time there is a single bag to schedule, that is all the tasks that must be scheduled belong to one bag. Therefore, they focus on choosing which task to execute next (task selection), and the machine on which it will be executed (machine selection), but not on how to select the bag from which the tasks has to be picked (bag selection). While this assumption can be considered reasonable in situations where there is a single application that exclu- sively uses the resources of the Desktop Grid (e.g., like in volunteer-computing projects [1, 10] where a stream of identical tasks belonging to the same application is run on the Desktop Grid), in more general cases where the same computing infrastructure is shared by many competing ap- plications it clearly does not hold. For instance, general- purpose Desktop Grid computing platforms (such as Our- Grid [7] or the commercial solutions proposed by various vendors like Entropia [5], United Devices [21], Platform Computing [18], and Data Synapse [20]) are able to run various applications at the same time. However, in spite of