由於現今電腦網路頻寬及硬體設備相關技術的持續發展演進,使得網際網路的相關應用更加蓬勃發展。架構在網際網路的雲端運算(Cloud Computing)為一新興的分散式系統之概念,其使用較低效能的主機來達到高可靠性及高效率的運算能力。由於雲端運算概念的興起,使得網際網路服務的應用,已透過雲端運算擴大其服務層面的廣度及服務內容的深度。但由於雲端運算主要是透過分散的服務節點(電腦或資源)協力合作完成一個大型的工作,也就是將工作分割成若干個子工作,再將這些子工作分配給這些分散的節點進行服務。因此,如何將工作有效的切割並分配到每一個服務節點上,才不會造成某些服務節點負擔過重,而某些服務節點卻是閒置的情況,則是一個值得探討的議題。 為增加雲端運算系統的可靠性(Reliability)、穩定性(Stability)以及資源有效且公平被使用,本研究以現今企業最常應用於雲端運算的階層式網路拓樸架構為基礎,並提出三階段排程演算法,以ESJF(Enhanced Shortest Job First)、EOLB(Enhanced Opportunistic Load Balancing)與EMM(Enhanced Min-Min)排程演算法進行工作的配置,使得每個需要執行的工作都能被分配到適當的資源並有效的改善每個服務節點的負擔與降低資源的浪費,提供階層式雲端運算網路拓樸之負載平衡。
The load balance is an important research topic in the study of distributed systems. To cope with the influence from unstable nodes, reaching a high availability before performing some special tasks is essential. Nowadays, network bandwidth and hardware technology are developing rapidly, resulting in the vigorous development of the Internet. However, cloud computing, an Internet-based development in which dynamically scalable and often virtualized resources are provided as a service over the Internet has become a significant issue. The cloud computing refers to a class of systems and applications that employ distributed resources to perform a function in a decentralized manner. Cloud computing is to utilize the computing resources (service nodes) on the network to facilitate the execution of complicated tasks that require large-scale computing. Thus, to select the service nodes for executing a task in the cloud computing needs to be considered. However, a three-phase scheduling is proposed in this study to maintain the execution performance and the load balancing of the system.