https://doi.org/10.31449/inf.v45i2.3105 Informatica 45 (2021) 191–196 191 Effects of Pooling in ParallelGlobal with Low Thread Interactions Dániel Zombori and Balázs Bánhelyi Department of Computational Optimization, University of Szeged Keywords: black box, stochastic, global optimization, parallel computing Received: March 31, 2020 The first step toward a new version of Global is discussed. It is a fully distributed algorithm. While the proposed implementation runs on a single machine, gossip based information sharing can be built into and be utilized by the algorithm. ParallelGlobal shows a feasible way to implement Global on a distributed system. Further improvements must be made to solve big real world problems with the algorithm. Povzetek: Predstavljena je nova verzija algoritma Global z imenom ParallelGlobal. 1 Introduction Global is an optimization algorithm built from multiple modules working in an ensemble. While older implemen- tations viewed the algorithm as a whole, the most recent GlobalJ framework handles algorithms as a collection of interlocking modules. GlobalJ has several implementations for local search algorithms and variants of Global. Main characteristics of the single threaded version were estab- lished in [4]. In recent years Global was further devel- oped [6] and it has several applications [5, 7] where it aids mostly other research works. To speed up optimization pro- cesses we developed an algorithm [1] that is capable of uti- lizing multiple computational threads of a single machine. It cannot be directly implemented for distributed systems as the millisecond order of magnitude latency in communi- cation would significantly slow down the synchronization of threads. To mitigate this problem we propose Parallel- Global, a parallel implementation suitable for distributed systems with high latency or even with unreliable commu- nication channels. In this paper we introduce an experi- mental version whose main purpose is to test the feasibility of the proposed solution. It provides an algorithm skeleton for a real distributed implementation. 2 Global Global is a global optimizer designed to solve black box unconstrained optimization problems with a low num- ber of function evaluations and probabilistic guarantees [1, 2, 3, 4, 6, 8, 9, 11]. It uses local search algorithms to refine multiple sample points hence Global is a multi-start method. Global also utilizes the Single Linkage Clustering algorithm to make an estimation about the values of sam- ples from the aspect of optimization. 2.1 Updated global algorithm While the updated Global algorithm has only minor changes and in a lot of cases performs equally to the origi- nal, it is superior in execution order, therefore we consider it as the basis for improvements. Global has an iterative framework where samples in an iteration compete with samples of previous iterations. The original version contains four phases in every iteration con- sisting of sampling, reduction, clustering, and local search. In the updated algorithm the clustering and local search phases are merged by an implementation which alternates them. Algorithm 1 GLOBAL 1: whiletermination-criteria() is nottrue do 2: S S[funiform(lb;ub) :i2 [1;newsamples]g 3: S sort(F (s i )kr i c j k 1 ^F (r i )>F (c j ) 10: ifN is not; then 11: C C[N 12: R RnN 13: repeat iteration 14: end if 15: end for 16: l local-search(r 1 2R) 17: C l ;d min argmin C2clusters l argmin c i 2C; F (c i ) 1 18: ifd min kr i c j k 1 ^F (r i )>F (c j ) 8: C C[N 9: R RnN 10: end for 11: r min argmin r i 2R F (r i ) 12: l local-search(r min ) 13: C l ;d min argmin C2clusters l argmin c i 2C F (c i ) 1 14: ifd min