簡易檢索 / 詳目顯示

研究生: 陳崇凱
Chung-Kai Chen
論文名稱: 以元件為組成基礎之分散式系統的計算與通訊最佳化
Computation and Communication Optimizations for Component-based Distributed Systems
指導教授: 李政崑
Jenq-Kuen Lee
口試委員:
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2008
畢業學年度: 96
語文別: 英文
論文頁數: 110
中文關鍵詞: 元件最佳化自主運算元件調適行動計算分散式計算
外文關鍵詞: Component-based optimization, Autonomous computing, Component adaptation, Mobile computing, Distributed computing
相關次數: 點閱:4下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 以元件為基礎的軟體技術與架構隨著網際網路和Internet的成長而越來越熱門,其成功來自於幾個因素的結合,其中包括物件導向技術帶來的抽象化,把實做與介面分離,以及公開的元件架構,使應用程式的合作更易建立,而使用可再利用的軟體元件也使得軟體的複雜度得以管理,透過動態的元件組合變化可以使得軟體更具彈性與擴充力。當我們享用這些元件技術帶來的好處時,未來仍有許多挑戰,來自於這樣的新的電腦運算架構:由一個具有自主管理能力,類似Grid的次系統,將由各個元件組合成的分散式應用程式連結起來。在本篇論文中我們認為除了實做與介面的分離之外,還有額外的資訊需要註記在每個元件身上,這對於將電腦運算提升至下一個新的領域是很重要的,這個軟體元件的規格將能使得元件的使用更切合於執行環境。現有的物件導向技術,已經賦與元件一個基本的規格,也就是它實做的介面,我們認為還需要額外的資訊,來表達某個介面的不同實做元件之間的差異,這些額外的資訊將能幫助我們找到不只是能用的元件,而是適切的元件。除了關於操弄元作來得到較好的效能的討論,這篇論文也包括了許多針對一般元件常使用的通訊協定,如Java的RMI和.Net的Remoting,的研究與工作成果,例如為了在分散式系統中做元件組合的最佳化,當涉及到網路兩端的元件時,元件之間原有的通訊必需要小心的處理,因此我們對於元件的通訊提供了漫遊的支援,其它的研究成果還包括了串流資料的支援以及伺服器端網路處理器的最佳化。


    Component software technologies and architectures have grown with great popularity
    along with the advances of web and internet technologies. The successes
    are coming from several compound factors. A try in the analysis of these factors
    might include abstractions of object-oriented concepts which separates the implementation
    from interfaces, open and distributed component architectures which
    enables building of cooperative applications, re-usable components which allows
    managements of software complex, the possibilities of component compositions
    at runtime which makes software more flexible and extensible. While enjoying
    great successes, component technologies are with great challenges ahead. This
    is in part due to an era of the new arrival of computer architectures including
    the distributed enterprise architectures built with individual components linked by
    messaging subsystems, the autonomous and grid-like architectures in the web, and
    the distributed and pervasive architectures assembled by a group of small devices
    and connected by heterogeneous wireless environments.
    In this dissertation we argue that additional properties of component software
    need to be annotated in addition to the separation of implementations from interfaces.
    We think this is important for component software and architectures to
    meet the new era of distributed systems. Specifications on software components
    will allow the adoption of components best adaptive to given environments. Due
    to object-oriented techniques, the component resources have common information
    associated with them, the interfaces they implement. We argue that additional
    descriptions can be added. These properties, we called metadata, address the difference
    between the implementations of the interface. It helps us search not only
    the kind of components, but also specific realizations.
    In spite of the focus on the performance benefits brought by specifying and
    dynamically changing components, this dissertation also presents many works on
    providing advanced improvement on commonly used component communication,
    such as RMI in Java and Remoting in .NET. For example, to enable the optimization
    of runtime component composition described above in a distributed system,
    the communication must be handled carefully as well. It is possible that the composition
    of components occur involving components in different sites. Thus the
    communication between components should act seemly with external changes. A
    software layer has been proposed in this dissertation to monitor data transportation.
    It leads to the work on the roaming support built-in existing component
    communication layers. We further provide many other features to current component
    communication methods, which includes embedding data streaming under
    the programming paradigm of common component communication, as well as
    using network processors as switching support for component communication.

    Abstract i Contents iv List of Figures vii List of Tables xi 1 Introduction 1 2 Specification and Architecture Supports for Component Adaptations on Distributed Environments 7 2.1 Component Specification and Annotation Ontology . . . . . . . . 10 2.1.1 Annotation Interface . . . . . . . . . . . . . . . . . . . . 11 2.1.2 The Ontology for Annotations . . . . . . . . . . . . . . . 15 2.2 Runtime Component Compositions . . . . . . . . . . . . . . . . . 16 2.2.1 Component Composition Mechanism . . . . . . . . . . . 18 2.2.2 State Synchronization . . . . . . . . . . . . . . . . . . . 18 2.2.3 Composition Points . . . . . . . . . . . . . . . . . . . . . 20 2.3 Concurrent Compositions . . . . . . . . . . . . . . . . . . . . . . 21 2.4 The CMS architecture . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5 Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5.1 Matrix Manipulation . . . . . . . . . . . . . . . . . . . . 28 2.5.2 Cluster Computings with Specialized RMI . . . . . . . . 30 2.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3 Mobile Java RMI Support over Heterogeneous Wireless Networks 34 3.1 An Overview of Java RMI Extension Framework . . . . . . . . . 38 3.2 Supporting Java RMI over Bluetooth Networks . . . . . . . . . . 39 3.3 Supporting Java RMI over IP-based Wireless Networks . . . . . . 42 3.4 Roaming Support over Heterogeneous Wireless Networks . . . . . 44 3.4.1 Roaming Mechanism . . . . . . . . . . . . . . . . . . . . 45 3.4.2 Advanced Design Issues and Implementation . . . . . . . 50 3.5 Roaming and Scheduling Optimization . . . . . . . . . . . . . . . 54 3.6 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . 55 4 Switching Supports for Stateful Object Remoting on Network Processors 62 4.1 Efficient Switching Support for .NET Remoting . . . . . . . . . . 64 4.1.1 Remoting Switch . . . . . . . . . . . . . . . . . . . . . . 64 4.1.2 Programming Network Processors . . . . . . . . . . . . . 65 4.2 Load Balancing Mechanisms . . . . . . . . . . . . . . . . . . . . 68 4.2.1 ETT Scheduling Methods . . . . . . . . . . . . . . . . . 68 4.2.2 Scheduling Methods with Work-Flow Graphs . . . . . . . 68 4.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5 Software Architecture Design for Streaming Java RMI 79 5.1 Software Architecture of Streaming RMI . . . . . . . . . . . . . . 80 5.2 Pushing Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.3 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.4 Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.5 Software Design Issues . . . . . . . . . . . . . . . . . . . . . . . 90 5.5.1 Software Implementation of Streaming RMI . . . . . . . 90 5.5.2 Software API of Streaming RMI . . . . . . . . . . . . . . 91 5.6 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.7 Related Work and Discussion . . . . . . . . . . . . . . . . . . . . 100 6 Conclusion 103 Bibliography 105

    [1] Daniel J. Abadi, Don Carney, Ugur C﹐ etintemel, Mitch Cherniack, Christian
    Convey, Sangdon Lee, Michael Stonebraker, Nesime Tatbul, and Stan
    Zdonik. Aurora: a new model and architecture for data stream management.
    The VLDB Journal, 12(2):120–139, 2003.
    [2] G. Apostolopoulos, D. Aubespin, V. Peris, P. Pradham, and D. Saha. Design,
    implementation and performance of a content-based switch. INFOCOM
    2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications
    Societies. Proceedings. IEEE, 3:1117–1126 vol.3, Mar 2000.
    [3] L. Aversa and A. Bestavros. Load balancing a cluster of web servers: using
    distributed packet rewriting. Performance, Computing, and Communications
    Conference, 2000. IPCCC ’00. Conference Proceeding of the IEEE International,
    pages 24–29, Feb 2000.
    [4] Francine Berman, Andrew Chien, Keith Cooper, Jack Dongarra, Ian Foster,
    Dennis Gannon, Lennart Johnsson, Ken Kennedy, Carl Kesselman,
    John Mellor-Crummey, Dan Reed, Linda Torczon, and Rich Wolski. The
    GrADS Project: Software support for high-level Grid application development.
    The International Journal of High Performance Computing Applications,
    15(4):327–344, 2001.
    [5] Milind A. Bhandarkar and Laxmikant V. Kal’e. An interface model for parallel
    components. In Dietz [20], pages 209–222.
    [6] Fabian Breg, Shridhar Diwan, Juan E. Villacis, Jayashree Balasubramanian,
    Esra Akman, and Dennis Gannon. Java RMI performance and object model
    interoperability: experiments with Java/HPC++. Concurrency - Practice and
    Experience, 10(11-13):941–955, 1998.
    [7] A. Campbell, J. Gomez, S. Kim, A. Valko, C. Wan, and Z. Turanyi. Design,
    implementation, and evaluation of cellular IP. IEEE Personal Commun.
    Mag., 7(4), August 2000.
    [8] S. Chakrabarti and A.Mishra. Qos issues in ad hoc wireless networks. Communications
    Magazine, IEEE, 39(2):142–148, Feb 2001.
    [9] Kasidit Chanchio and Xian-He Sun. Communication state transfer for the
    mobility of concurrent heterogeneous computing. IEEE Transactions on
    Computers, 53(10):1260–1273, 2004.
    [10] Rong-Guey Chang, Cheng-Wei Chen, Tyng-Ruey Chuang, and Jenq Kuen
    Lee. Towards automatic support of parallel sparse computation in Java
    with continuous compilation. Concurrency - Practice and Experience,
    9(11):1101–1111, 1997.
    [11] Cheng-Wei Chen, Chung-Kai Chen, and Jenq Kuen Lee. Runtime compositions
    and optimizations of parallel JavaBean programs on clustering environments.
    In Hamid R. Arabnia, editor, PDPTA. CSREA Press, 2000.
    [12] Chung-Kai Chen, Yu-Hao Chang, Cheng-Wei Chen, Yu-Tin Chen, Chih-
    Chieh Yang, and Jenq-Kuen Lee. Efficient switching supports of distributed
    .net remoting with network processors. Parallel Processing, 2005. ICPP
    2005. International Conference on, pages 350–357, June 2005.
    [13] Chung-Kai Chen, Cheng-Wei Chen, and Jenq-Kuen Lee. Specification
    and architecture supports for component adaptations on distributed environments.
    Parallel and Distributed Processing Symposium, 2004. Proceedings.
    18th International, pages 47–, April 2004.
    [14] Jyh-Cheng Chen and P. Agrawal. Fast link layer and intra-domain handoffs
    for mobile internet. Computer Software and Applications Conference, 2000.
    COMPSAC 2000. The 24th Annual International, pages 325–330, 2000.
    [15] Jyh-Cheng Chen and Hong-Wei Lin. A gateway approach to mobility integration
    of GPRS and wireless LANs. Wireless Communications, IEEE,
    12(2):86–95, April 2005.
    [16] Jyh-Cheng Chen and Tao Zhang. IP-Based Next-Generation Wireless Networks:
    Systems, Architectures, and Protocols. John Wiley & Sons, Inc.,
    New York, NY, USA, 2003.
    [17] S. Das, A. Mcauley, A. Dutta, A. Misra, K. Chakraborty, and S.K. Das.
    IDMP: an intradomain mobility management protocol for next-generation
    wireless networks. Wireless Communications, IEEE, 9(3):38–, June 2002.
    [18] A. Dearle, G.N.C. Kirby, and A.J. McCarthy. A framework for constraintbased
    development and autonomic management of distributed applications.
    Autonomic Computing, 2004. Proceedings. International Conference on,
    pages 300–301, May 2004.
    [19] A. Diaconescu, A. Mos, and J. Murphy. Automatic performance management
    in component based software systems. Autonomic Computing, 2004.
    Proceedings. International Conference on, pages 214–221, May 2004.
    [20] Henry G. Dietz, editor. Languages and Compilers for Parallel Computing,
    14th International Workshop, LCPC 2001, Cumberland Falls, KY, USA, August
    1-3, 2001. Revised Papers, volume 2624 of Lecture Notes in Computer
    Science. Springer, 2003.
    [21] J. Dunagan, R. Roussev, B. Daniels, A. Johnson, C. Verbowski, and Yi-
    MinWang. Towards a self-managing software patching process using blackbox
    persistent-state manifests. Autonomic Computing, 2004. Proceedings.
    International Conference on, pages 106–113, May 2004.
    [22] T. Fitzpatrick, G.S. Blair, G. Coulson, N. Davies, and P. Robin. Supporting
    adaptive multimedia applications through open bindings. Configurable Distributed
    Systems, 1998. Proceedings. Fourth International Conference on,
    pages 128–135, May 1998.
    [23] I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit.
    The International Journal of Supercomputer Applications and High Performance
    Computing, 11(2):115–128, Summer 1997.
    [24] D. Gannon, R. Bramley, T. Stuckey, J. Villacis, J. Balasubramanian, E. Akman,
    F. Breg, S. Diwan, and M. Govindaraju. Developing component architectures
    for distributed scientific problem solving. Computational Science &
    Engineering, IEEE, 5(2):50–63, Apr-Jun 1998.
    [25] John R. Gilbert, Cleve Moler, and Robert Schreiber. Sparse matrices in
    MATLAB: Design and implementation. SIAM Journal on Matrix Analysis
    and Applications, 13(1):333–356, 1992.
    [26] R. Haas, L. Kencl, A. Kind, B. Metzler, R. Pletka, M. Waldvogel, L. Frelechoux,
    P. Droz, and C. Jeffries. Creating advanced functions on network
    processors: experience and perspectives. Network, IEEE, 17(4):46–54, July-
    Aug. 2003.
    [27] M.A. Hammad, M.F. Mokbel, M.H. Ali, W.G. Aref, A.C. Catlin, A.K. Elmagarmid,
    M. Eltabakh,M.G. Elfeky, T.M. Ghanem, R. Gwadera, I.F. Ilyas,
    M. Marzouk, and X. Xiong. Nile: a query processing engine for data
    streams. Data Engineering, 2004. Proceedings. 20th International Conference
    on, pages 851–, March-2 April 2004.
    [28] P.J.M. Havinga and G.J.M. Smit. QoS scheduling for energy-efficient wireless
    communication. Information Technology: Coding and Computing,
    2001. Proceedings. International Conference on, pages 167–171, Apr 2001.
    [29] A.A.-G. Helmy, M. Jaseemuddin, and G. Bhaskara. Multicast-based mobility:
    a novel architecture for efficient micromobility. Selected Areas in
    Communications, IEEE Journal on, 22(4):677–690, May 2004.
    [30] John Jannotti, David K. Gifford, Kirk L. Johnson, M. Frans Kaashoek, and
    Jr. James W. O’Toole. Overcast: reliable multicasting with on overlay network.
    In OSDI’00: Proceedings of the 4th conference on Symposium on
    Operating System Design & Implementation, pages 14–14, Berkeley, CA,
    USA, 2000. USENIX Association.
    [31] Heechang Kim, K.-S.D. Wong, Wai Chen, and Chi Leung Lau. Mobilityaware
    MPLS in IP-based wireless access networks. Global Telecommunications
    Conference, 2001. GLOBECOM ’01. IEEE, 6:3444–3448 vol.6, 2001.
    [32] Ulrich Kremer, Jamey Hicks, and JamesM. Rehg. A compilation framework
    for power and energy management on mobile computers. In Dietz [20],
    pages 115–131.
    [33] S. Krishnan and D. Gannon. XCAT3: a framework for CCA components as
    OGSA services. High-Level Parallel Programming Models and Supportive
    Environments, 2004. Proceedings. Ninth International Workshop on, pages
    90–97, April 2004.
    [34] Yu-Kwong Kwok and I. Ahmad. Dynamic critical-path scheduling: an effective
    technique for allocating task graphs to multiprocessors. Parallel and
    Distributed Systems, IEEE Transactions on, 7(5):506–521, May 1996.
    [35] J. K. Lee and D. Gannon. Object oriented parallel programming: experiments
    and results. In Supercomputing ’91: Proceedings of the 1991
    ACM/IEEE conference on Supercomputing, pages 273–282, New York, NY,
    USA, 1991. ACM.
    [36] Jenq Kuen Lee, Ing-Kuen Tsaur, and San-Yih Hwang. Parallel array object
    I/O support on distributed environments. J. Parallel Distrib. Comput.,
    40(2):227–241, 1997.
    [37] Hua Liu, M. Parashar, and S. Hariri. A component-based programming
    model for autonomic applications. Autonomic Computing, 2004. Proceedings.
    International Conference on, pages 10–17, May 2004.
    [38] Wenchao Ma and Yuguang Fang. Dynamic hierarchical mobility management
    strategy for mobile IP networks. Selected Areas in Communications,
    IEEE Journal on, 22(4):664–676, May 2004.
    [39] Jason Maassen, Rob van Nieuwpoort, Ronald Veldema, Henri E. Bal, and
    Aske Plaat. An efficient implementation of Java’s remote method invocation.
    In PPoPP ’99: Proceedings of the seventh ACM SIGPLAN symposium on
    Principles and practice of parallel programming, pages 173–182, New York,
    NY, USA, 1999. ACM.
    [40] Christian Nester, Michael Philippsen, and Bernhard Haumacher. A more efficient
    RMI for Java. In JAVA ’99: Proceedings of the ACM 1999 conference
    on Java Grande, pages 152–159, New York, NY, USA, 1999. ACM.
    [41] T. Nguyen and A. Zakhor. Distributed video streaming over internet. In
    Multimedia Computing and Networking 2002, Proceedings of SPIE, volume
    4673, pages 186–195, January 2002.
    [42] Michael Boyles Rajeev R. Raje, Joseph I. Williams. Asynchronous remote
    method invocation (ARMI) mechanism for Java. Concurrency: Practice and
    Experience, 9(11):1207–1211, 1997.
    [43] R. Ramjee, T. La Porta, S. Thuel, K. Varadhan, and S.Y. Wang. HAWAII:
    a domain-based approach for supporting mobility in wide-area wireless networks.
    Network Protocols, 1999. (ICNP ’99) Proceedings. Seventh International
    Conference on, pages 283–292, Oct.-3 Nov. 1999.
    [44] Nagarajan Surendran. The design and performance of a corba audio/video
    streaming service. In HICSS ’99: Proceedings of the Thirty-second Annual
    Hawaii International Conference on System Sciences-Volume 8, page 8043,
    Washington, DC, USA, 1999. IEEE Computer Society.
    [45] G. K. Thiruvathukal, L. S. Thomas, and A. T. Korczynski. Reflective remote
    method invocation. Concurrency: Practice and Experience, 10(11–13):911–
    925, 1998.
    [46] H. Topcuoglu, S. Hariri, and Min-You Wu. Performance-effective and lowcomplexity
    task scheduling for heterogeneous computing. Parallel and Distributed
    Systems, IEEE Transactions on, 13(3):260–274, Mar 2002.
    [47] Pu-Chen Wei, Chung-Hsin Chen, Cheng-Wei Chen, and Jenq-Kuen Lee.
    Support and optimization of Java RMI over Bluetooth environments. In
    JGI ’02: Proceedings of the 2002 joint ACM-ISCOPE conference on Java
    Grande, pages 237–237, New York, NY, USA, 2002. ACM.
    [48] S.R. White, J.E. Hanson, I. Whalley, D.M. Chess, and J.O. Kephart. An architectural
    approach to autonomic computing. Autonomic Computing, 2004.
    Proceedings. International Conference on, pages 2–9, May 2004.
    [49] Min-You Wu, Wei Shu, and Jun Gu. Local search for DAG scheduling and
    task assignment. Parallel Processing, 1997., Proceedings of the 1997 International
    Conference on, pages 174–180, Aug 1997.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE