## 1 Introduction  
According to the website www.top500.org, the supercomputer Fugaku from the Fujitsu RIKEN Center for Computational Science in Japan consists of 7,299,072 processing units. The above gives an outstanding parallel computing power. However, without accurate and efficient scheduling methods, parallel programs can be very computationally inefficient. In this paper, we approach the precedence-constraint task scheduling of parallel programs on systems formed by heterogeneous processing units to minimize the final computing time [1]. Scheduling is a well-known NP-hard optimization problem [2], as well as the task scheduling for parallel systems [3]. Therefore, different scheduling approaches were developed for this problem: Heuristics [4; 5; 6; 7], Local Searches [8; 9; 10], and Metaheuristics [11; 12; 13; 14; 15]. Unfortunately, the wide variety of works in the state-of-the-art differs in their objective definitions and uses different sets of instances. From the relevant works in the state-of-the-art, we highlight [11]. To our knowledge, it is the only work that compares the obtainedresults against the optimal values for their synthetic instances, which are fourteen scheduling problem instances that are easily reproducible. In [11], four high-performance Iterated Local Search (ILS) algorithms are proposed, the best ILS nearly reaches all the optimal values, obtaining an approximation factor of 1.018 (desirable values are near to 1.0). Thus, we assess our proposal with the best-proposed algorithm in [11]. Scheduling precedence-constraint tasks for heterogeneous systems has been addressed with a lot of variants: energy-aware [16], idle energy-aware [8; 17], energy constraint [18], communication delays and energy [19], budget constraint [20], fault-tolerant [21], security-aware [22], volunteer computing systems [23], among others. A related problem is the job shop problem [24]. However, in a parallel program, scheduling is a single job (the parallel program) without dedicated machines to a single task. On the other hand, in scheduling, any machine can compute any task, similar to the job shop's flexible problem [25] but with a single job. In Section 2, we detail our studied version of scheduling precedence-constraint tasks on heterogeneous systems. In this paper, we use a recent metaheuristic optimization framework called Cellular Processing Algorithm (CPA) [26; 27]. CPAs are more like a framework than a strict algorithm. The main idea is to cycle between exploring the search space with multiple limited-effort algorithms (Processing Cells) and sharing information (communication) among these Processing Cells. The limited-effort algorithms can explore the search space independently from one another and communicate their findings using shared memory or other combining methods. However, despite the communication, the Processing Cells should keep looking independently and not as a whole algorithm. In this way, we avoid the computational cost of converging the whole population (when the solutions reach the same search space area) or exploring the search space with a single solution algorithm (like Greedy Randomized Adaptive Search Procedure (GRASP) or Iterated Local Search). As stated before, CPAs are flexible, e.g., a cellular processing algorithm can initialize each Processing Cell with different heuristics to ensure the splitting of the search space among the Processing Cells [28]. Additionally, the Processing Cells can be homogeneous or heterogeneous, which means that the Processing Cells can be multiple instances of the same algorithm [29] or completely different algorithms [30]. Furthermore, we can create a soft-heterogeneous CPA with differently-configured instances of the same algorithm. Thus, with all its flexibility, there is still much to research for CPAs and its applications. The remainder of the paper is organized as follows. Section 2 details the studied precedence-constraint task scheduling problem on heterogeneous systems.