  Cloud computing is an attractive technology for providing computing resources
over the Internet. Task scheduling is a critical issue in cloud computing,
where an efficient task scheduling method can improve overall cloud
performance. Since cloud computing is a large-scale and geographically
distributed environment, traditional scheduling methods that allocate resources
in a centralized manner are ineffective. Besides, traditional methods are
difficult to make rational decisions timely when the external environment
changes. This paper proposes a decentralized BDI (belief-desire-intention)
agent-based scheduling framework for cloud computing. BDI agents have
advantages in modelling dynamic environments because BDI agents can update
their beliefs, change desires, and trigger behaviours based on environmental
changes. Besides, to avoid communication stuck caused by environmental
uncertainties, the asynchronous communication mode with a notify listener is
employed. The proposed framework covers both the task scheduling and
rescheduling stages with the consideration of uncertain events that can
interrupt task executions. Two agent-based algorithms are proposed to implement
the task scheduling and rescheduling processes, and a novel recommendation
mechanism is presented in the scheduling stage to reduce the impact of
information synchronization delays. The proposed framework is implemented by
JADEX and tested on CloudSim. The experimental results show that our framework
can minimize the task makespan, balance the resource utilization in a
large-scale environment, and maximize the task success rate when uncertain
events occur.
