Maximum Likelihood Evaluation (MLE),是科學家與工程師常用來解決資料分析相關問題的一種方法。為了開發一個分散式的MLE應用程式,科學家與工程師往往需要耗費許多時間與心力去學習分散式程式語言的語法,甚至包括了偵測分散式系統的狀態、動態的調節工作的負載等問題。站在軟體工程的觀點來看,若要發展一個大型的分散式系統軟體,還要分心去設計或偵測系統的組態,這對程式設計師將是一件非常大的負擔,因此非常不利於系統軟體的發展。若是能讓需要使用MLE計算方法的科學家與工程師,在只需要提供最少資訊的情況下就能夠開發出合用的程式,那麼便能大大的降低開發分散式MLE程式的門檻。 本研究利用在高速平行程式上被廣泛使用的Message Passing Interface (MPI) library發展出一個可以動態偵測並調節工作量負載的MLE程式,利用本研究所提出的計算架構,程式設計師可以很快速的建立一個分散式MLE應用程式,不必重複撰寫演算法,也不需要考慮如何讓各節點工作量負載平衡的問題,簡化了分散式科學計算應用程式的發展過程,而且不需要另外安裝任何中介服務軟體便能直接使用。實驗數據顯示,本研究所提出之混和靜態與動態負載平衡的計算架構確實改善了分散式MLE應用程式的效能。 Many scientific disciplines use maximum likelihood evaluation (MLE) to solve problems. As the data to be analyzed grows with the improvement of observation equipment, MLE demands parallelism to improve analysis efficiency. Unfortunately, it is very hard for scientists and engineers to study distributed programming languages, to learn distributed computing environments, and to develop their own distributed MLE applications. It is even harder to develop an MLE application to monitor the distributed system status and to use the information as feedback to adapt to the computing environment. From the view of software engineering, this is a painstaking task for application developers. In this thesis, we present a dynamic load-balancing MLE framework. The framework is based on a widely used parallel programming library, the message passing interface (MPI) library. Programmers can easily build their own adaptive distributed MLE applications based on our framework. Our approach does not use any extra middleware services to support system monitoring and load-balancing decision. Experimental results indicate that our framework can adapt to the change of computing environment. The results also show that our approach has very low overhead in stable computing environments.