Research on task allocation strategy and scheduling
algorithm of multi-core load balance
Chao Wu
Schools of software, Dalian University of Technology
Dalian, China, 116620
wuchao155425@gmail.com
Yifu Wang, Aoyang Zhao, Tie Qiu*
Schools of software, Dalian University of Technology
Dalian, China, 116620
wyfisgood@gmail.com, zhaoaoyang@mail.dlut.edu.cn
Abstract—Based on the research of multi-core load balancing’s
task scheduling and allocation, we proposed the static task graphs
stratification algorithm, the static task group scheduling algorithm,
and the minimum dynamic link algorithm, aiming at the
characteristics of multi-core processors. When these algorithms
allocate tasks, they are expected to complete multi-core load
balancing. Firstly, the task allocation is divided into two stages: It
needs to break dependencies among tasks and relatively independent
tasks will be in the same group at the first stage. It conducts static
allocation for the principle of load balancing and it allocates initial
tasks which have almost the same time for the system hardware
threads in the second stage. It allocates tasks which come from
system’s running for each hard ware thread with processor’s speed
as a standard in the third stage. From the verification of simulation
experiment, the algorithms can achieve better load balancing and
minimum completion time.
Keywords—multi-core;scheduling algorithm;load balance; task
allocation
I. INTRODUCTION
With the rapid growth of embedded processing, the
architecture of embedded system begins turning to
multiprocessor cooperative work and compute synchronously
[1]. Because of the systematic complexity of uniprocessor is
too high and it’s computing power is not very good. In this way,
for the same system’s multi-task [2] needs, the cooperative-
work processors can complete their respectively different
functional applications at the highest efficiency.
In recent years, the research of multi-core processors’
architecture begins to mature gradually. Multi-core system is
able to use thread-level parallelism effectively by increasing
the amount of computer’s physical processor or hardware
threads (soft-core). It supports the true sense of the parallel
execution [3, 4]. However, all tasks scheduling that system
processes have dependencies [5-7] on practical applications.
While the system is running, it can’t work very well. The most
time system is waiting , so its parallelism isn’t used e ffec tively.
Mr. Zhou introduces to us a task group scheduling algorithm [8]
in his book Multi-core Computing and Programming. And it
can substantially reduce processor waiting caused by the task
dependencies. However, it’s full accordance with descending
order by the execution time when select tasks, so it will
inevitably happens error accumulation phenomenon. But when
we change the last task’s select orientation to avoid error
accumulation, the error of single thread cannot be reduced, in
fact, it may grow.
In this paper, we aim at the characteristics of multi-core
processors and consider how to maximize embedded multi-
core load balancing [9, 10]. We built an eight core architecture
based on MicroBlaze by studying static scheduling algorithm
of multi-core system and improved a tasks’ static allocation
algorithm which is designed to solve the multi-core processors
loa d balanc ing, achieve fa stest completing, a nd have least
problems--the static task graphs stratification algorithm and the
static task group scheduling algorithm .Meanwhile, based on
solving tasks’ static allocation, this paper supplements this kind
of tasks’ scheduling and allocation whose execution time
cannot be predicted. And we proposed the minimum dynamic
link algorithm.
The remaining sections of this paper are organized as
follows. In Section 2, some related work is the mult icore
hardware system architecture design base on FPGA. In Section
3, we build the algorithm analys is mode l and discuss task
allocation strategy. In Section 4, the specific design of
scheduling algorithm and test solutions for the assessment of
system performance. In Section 5, we have the description of
Experiment and definition of some parameters. So we can get
the assessment of the algorithm model. In Section 6, concludes
achieve results of this study, and to discuss the future direction.
II. R
ELATED WORK
In recent years, the study of task allocation strategy for
multi-core load balance has developed very fast. Cheng et al
[11], propose the new algor ithm optimizes DAG graph by
using c lustering. Geng et al [12], find an a lgorithm diminishes
communication overhead and keeps load balancing between
cores, and meanwhile speedup ratio of paralle l program is
improved. Shen et al [13], proposes a greedy heuristic
algorithm for thread scheduling based on the Intel multi-core
architecture.
A. introduction of the hardware test architecture:
In this paper, we use the XPV5-LX110T experiment board
to build an eight soft-core architecture for the testing. All of
the cores use the harvard architecture and ALU is the
calculation unit. As shown in fig.1. Well, make core which
*Corresponding author: Tel: 0086-411-87571632
2013 Seventh International Conference on Complex, Intelligent, and Software Intensive Systems
978-0-7695-4992-7/13 $26.00 © 2013 IEEE
DOI 10.1109/CISIS.2013.114
634