Parallel Tree Search in Volunteer Computing: a Case Study
Total Page:16
File Type:pdf, Size:1020Kb
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by TUGraz OPEN Library J Grid Computing (2018) 16:647–662 https://doi.org/10.1007/s10723-017-9411-5 Parallel Tree Search in Volunteer Computing: a Case Study Wenjie Fang · Uwe Beckert Received: 20 April 2017 / Accepted: 3 October 2017 / Published online: 23 October 2017 © The Author(s) 2017. This article is an open access publication Abstract While volunteer computing, as a restricted Keywords Volunteer computing · Parallel tree model of parallel computing, has proved itself to be search · Power law · Performance · Implementation a successful paradigm of scientific computing with excellent benefit on cost efficiency and public out- reach, many problems it solves are intrinsically highly 1 Introduction parallel. However, many efficient algorithms, includ- ing backtracking search, take the form of a tree Since the founding of one of the first volunteer com- search on an extremely uneven tree that cannot be puting projects, Great Internet Mersenne Prime Search easily parallelized efficiently in the volunteer com- (GIMPS), in 1996 [28], the paradigm of volunteer puting paradigm. We explore in this article how to computing has been gradually established as a cost- perform such searches efficiently on volunteer com- efficient means of scientific computing with good puting projects. We propose a parallel tree search public outreach. This trend has been sped up by the scheme, and we describe two examples of its real- appearance of the middle-ware BOINC [3], with var- world implementation, Harmonious Tree and Odd ious successful projects, including SETI@home [4] Weird Search, both carried out at the volunteer com- and Einstein@home [1]. Umbrella projects have also puting project yoyo@home. To confirm the observed appeared, such as yoyo@home [31]heldbyavol- efficiency of our scheme, we perform a mathematical unteer community in Germany. Today, researchers analysis, which proves that, under reasonable assump- from various fields, including astrophysics, structural tion that agrees with experimental observation, our biology, high energy physic and mathematics, set up scheme is only a constant multiplicative factor away volunteer computing projects to solve problems in from perfect parallelism. Details on improving the their own fields. overall performance are also discussed. Despite the ever-growing number of projects, most of the problems they solve are intrinsically paral- lel, for example checking a segment of radio wave for specific signals (Einstein@home, SETI@home). W. Fang () Institute of Discrete Mathematics, Technical University However, there are many large problems, especially of Graz, Steyrergasse 30, Graz 8010, Austria those in discrete mathematics aiming at verifying con- e-mail: [email protected] jectures or finding solutions, that have no efficient parallel algorithm. For these problems, variants of U. Beckert Rechenkraft.net e.V., Marburg, Germany backtracking search are used, which often consist of e-mail: [email protected] searching through an extremely uneven tree, and are 648 W. Fang, U. Beckert thus difficult to parallelize. It is thus interesting to try can communicate with low cost and latency. There to parallelize efficiently massive tree search on uneven are also well-established APIs (such as OpenMP trees in the volunteer computing paradigm, in order [12]), languages (such as Cilk [8]) and job schedulers to extend the applicability of volunteer computing to (such as HTCondor [36]) in the industry for efficient previously unsuitable domains. scheduling in such environments. Some previous effort has been devoted to such par- In volunteer computing, the reduction of paral- allelization of tree search on specific problems, result- lelizing tree search to efficient scheduling is not so ing in several public projects. For instance, Rectilinear straightforward. It is because the task of schedul- Crossing Number is a project held by researchers ing itself becomes tricky in this paradigm, in which at TU Graz, with the goal of finding the rectilinear workers can have low and variable availability [25, crossing number for n ≤ 18 points using a back- 29], and they only pull work from a central server, tracking algorithm [2]. As another example, the OGR but never talk to peers. These constraints restrict the sub-project of Distributed.net searches for optimal use of established techniques such as work stealing Golomb rulers with n ≤ 28 markings [15], and it also [9]. Recently, there has been some study on efficient uses a backtracking algorithm for its purpose. Despite scheduling in volunteer computing, such as [17, 23, the effort, from a volunteer’s viewpoint, these projects 30]. However, these results may not apply directly have their inconvenience. We are therefore interested to our goal, since they concentrate more on selecting in catering the needs of volunteers while doing an good hosts for a given set of tasks with already a good efficient parallel tree search. estimation of workload, but in parallel backtracking Tree search consists of traversing all the nodes in search, we need to deal with tasks with high variance a given tree. It includes the special case of back- but no estimation on the workload. tracking search, which is a general algorithm that Without a suitable scheduling method in volunteer can be applied to many problems, mainly in discrete computing, we may want to resort to previous stud- optimization (see, e.g., Chapter 8 of [5]). In gen- ies on parallelizing tree search that do not rely on eral, a backtracking search often has an extremely existing scheduling methods. However, many of these unbalanced search tree, which makes it difficult to par- studies rely more or less on a cluster model, where allelize. Upon the development of distributed systems, inter-processor communication is easy (maybe with researchers tried to find ways to exploit parallelism in exception of [18, 32]), which do not directly apply to backtracking search, mainly in clusters. Studies on the the volunteer computing paradigm. In [32], the par- parallelization of backtracking search were pioneered allelization was done by splitting the whole search by Karp and Zhang [27], followed by others (e.g., [18, space into a huge number of tasks, at least a large 24, 32, 33]). Real world implementations of such par- constant times the number of processors. These tasks allel search are performed by many (e.g., [13, 16]) for are then put into a queue and dealt out to proces- finding combinatorial objects or verifying conjectures. sors to achieve maximal parallelism until the queue We also see development of software infrastructures is dried up. This approach can be easily adapted to (e.g., Stolee’s Treesearch [35]) that allows automation volunteer computing, but a straight-forward subdivi- of such searches. Readers can also see [22] for a sur- sion may introduce extremely large tasks, unwanted vey of some work in this direction. The overall idea for volunteer machines with varying availability. In is to split the search tree into sub-trees and distribute [18], by introducing an overhead of splitting the search them to workers while balancing workload. tree locally and deterministically upon each task, the However, the previously stated effort is partly work balancing is dealt with by selecting sets of non- superseded by advances in efficient scheduling, which overlapping sub-trees for each task. This approach can is a well-studied topic in distributed systems. It is easy also be easily adapted to volunteer computing, but to see how parallelization of tree search can be done the huge size of problems we deal with in volunteer simply by scheduling search on sub-trees as tasks, computing projects may lead to a large overhead, sab- which can be further subdivided if needed. For effi- otaging the effectiveness of this approach. Moreover, cient scheduling, much has been done in environments all these studies deal with machines in a cluster, man- such as multi-core processors and clusters, for exam- aged by technical people, but in volunteer computing, ple in [7, 9], where workers are highly available and machines are managed by laypeople, and we have Parallel Tree Search in Volunteer Computing: a Case Study 649 to consider some “human factors” to attain maximal project yoyo@home (Section 4), named Harmonious efficiency. Tree and Odd Weird Search. In order to understand the Another “human factor” in volunteer computing is behavior of our scheme and to explain the phenomena malicious behavior, which may endanger the integrity observed in our implementations, we analyze a simpli- of final result. This problem is more important for par- fied mathematical model for practical choices in our allel backtracking search, since most of the results will model (Section 5). We conclude by some discussions of be negative, which gives malicious users an incentive future improvements on the implementation (Section 6). to cheat by returning negative results without perform- Upon the writing of this article, we are aware of ing any real computation. Anti-cheating mechanisms an effort by Bazinet and Cummings [6] of subdivid- are not new in volunteer computing. For instance, in ing long computation into workunits with a fixed short [20], an anti-cheating mechanism called “ringers” was length, which shares some ideas with our work. How- introduced in the context of cryptological computa- ever, the motivation of their work is to reduce the tions, and in [34], a version