透過您的圖書館登入
IP:216.73.216.100
  • 學位論文

一用於行動及異質平台分散式運算之Actor導向工作流程執行框架

Wolf: An Actor-oriented Workflow Framework for Distributed Computing over Mobile and Heterogeneous Platforms

指導教授 : 梁文耀

摘要


在傳統分散式應用程式設計中,程式設計人員必須顧及分散式應用程式中的記憶體同步與工作流程控制。分散式系統複雜的不確定性行為提高了分散式應用程式撰寫的難度。軟體分散式共享記憶體是一種利用模擬共享記憶體行為以封裝分散式記憶體複雜性的方 法。這種記憶體虛擬化技術可以減少分散式應用程式設計的複雜度。D2MCE 則是一個用於行動計算環境的軟體分散式共享記憶體的實作,並提供了簡易的介面。在這篇論文中,我們提出一個稱作 Wolf 的應用程式框架進一步延伸 D2MCE。 Wolf 是一套用於行動分散式計算的 actor 導向的工作流執行框架。它移植了在網格運算中被廣泛使用的科學工作流程(Scientific Workflow)概念。在這套系統中,一個工作流程可被視為一群 actor 以及 actor 之間相依性的集合,而 actor 用於將一段程式碼封裝成單一的應用程式元件。這種 actor 導向的設計將分散式程式中應用程式元件的彈性和可重複利用性最大化,並且提供程式設計人員一個容易使用的環境。透過提供這樣的抽象層級,程序員不需顧慮工作的分配和排程,因此它能大幅的降低分散式應用程式設計的複雜度。

並列摘要


Traditional distributed programming requires programmers to take care of both the synchronization of objects and the flow control of distributed programs. The nondeterministic complex behaviors of distributed computing systems amplify the difficulty of writing distributed programs. Software Distributed Shared Memory (DSM) is a way to encapsulate the complexity of physically distributed memory systems by emulating the behaviors of shared memory on top of them. This memory virtualization technique can reduce the complexity of distributed programming. Dynamic Distributed Mobile Computing Environment (D2MCE) is an implementation of software DSM that provides a simple interface for distributed programming in mobile computing environment. In this thesis, we propose an application framework called Wolf that further extends workflow capability D2MCE. Wolf is an actor-oriented workflow execution framework designed for mobile distributed computing. It adopts the concept of scientific workflow that has been widely used in grid computing. In this system, a workflow can be described as a set of actors and dependencies between these actors, in which an actor represents an atomic application component encapsulating a piece of execution code. The actor-oriented design maximizes the flexibility and reusability of applications components within a distributed program, yet it provides an easy-to-use environment for programmers. By providing this kind of abstraction, programmers do not need to take care of the scheduling and dispatching of jobs. As a result, it can greatly reduce the difficulty of distributed programming.

參考文獻


1 Dagum, L and Menon, R. Open MP: An Industry-Standard API for Shared-Memory Programming. IEEE Computational Science and Engineering (Jan 1, 1998).
2 Sunderam, VS. PVM: A framework for parallel distributed computing. Concurrency: practice and experience, 2, 4 (1990), 315-339.
5 Dasgupta, P, LeBlanc, R, Ahamad, M, and Ramachandran, U. The Clouds distributed operating system. IEEE Computer, 24, 11 (1991), 34 - 44. 10.1109/2.116849.
6 Ahuja, S, Carriero, N, and Gelernter, D. Linda and friends. IEEE Computer (Jan 1, 1986).
7 Bal, H. Orca: A language for distributed programming. ACM SigPlan Notices (Jan 1, 1990).

延伸閱讀