研究生: |
陳崇凱 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.
[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.