摘要

Many scientific disciplines use maximum likelihood evaluation (MLE) as an analytical tool. As the data to be analyzed grows increasingly, MLE demands more parallelism to improve analysis efficiency. Unfortunately, it is difficult for scientists and engineers to develop their own distributed/parallelized MLE applications. In addition, self-adaptability is an important characteristic for computing-intensive application for improving efficiency. This paper presents a self-adaptive and parallelized MLE framework that consists of a master process and a set of worker processes on a distributed environment. The workers are responsible to compute tasks, while the master needs to merge the computing results, to initiate or to terminate another computing iteration, and to decide how to re-distribute the computing tasks to workers. The proposed approach uses neither any monitoring mechanism to collect system state nor load-balancing-decision mechanism to balancing the workload. Instead, it measures the performance of each worker for computing an iteration, and uses the information to adjust the workload of workers accordingly. The experimental results show that not only the proposed framework can adapt to environmental changes, but also the proposed framework is effective; even in a stable environment that is dedicated for one application, the proposed framework still demonstrates its significant improvement in self-adaptability. The self-adaptability will be significantly improved while the workload of computing machines unbalanced.