Aspect-Oriented Programing Techniques to support Distribution, Fault Tolerance, and Load Balancing in the CORBA-LC Component Model

Diego Sevilla Ruiz, José M. García, A. Gómez-Skarmeta
{"title":"Aspect-Oriented Programing Techniques to support Distribution, Fault Tolerance, and Load Balancing in the CORBA-LC Component Model","authors":"Diego Sevilla Ruiz, José M. García, A. Gómez-Skarmeta","doi":"10.1109/NCA.2007.8","DOIUrl":null,"url":null,"abstract":"The design and implementation of distributed High Performance Computing (HPC) applications is becoming harder as the scale and number of distributed resources and application is growing. Programming abstractions, libraries and frameworks are needed to better overcome that complexity. Moreover, when Quality of Service (QoS) requirements such as load balancing, efficient resource usage and fault tolerance have to be met, the resulting code is harder to develop, maintain, and reuse, as the code for providing the QoS requirements gets normally mixed with the functionality code. Component Technology, on the other hand, allows a better modularity and reusability of applications and even a better support for the development of distributed applications, as those applications can be partitioned in terms of components installed and running (deployed) in the different hosts participating in the system. Components also have requirements in forms of the aforementioned non-functional aspects. In our approach, the code for ensuring these aspects can be automatically generated based on the requirements stated by components and applications, thus leveraging the component implementer of having to deal with these non-functional aspects. In this paper we present the characteristics and the convenience of the generated code for dealing with load balancing, distribution, and fault-tolerance aspects in the context of CORBA-LC. CORBA-LC is a lightweight distributed reflective component model based on CORBA that imposes a peer network model in which the whole network acts as a repository for managing and assigning the whole set of resources: components, CPU cycles, memory, etc.","PeriodicalId":135395,"journal":{"name":"Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2007-07-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NCA.2007.8","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

The design and implementation of distributed High Performance Computing (HPC) applications is becoming harder as the scale and number of distributed resources and application is growing. Programming abstractions, libraries and frameworks are needed to better overcome that complexity. Moreover, when Quality of Service (QoS) requirements such as load balancing, efficient resource usage and fault tolerance have to be met, the resulting code is harder to develop, maintain, and reuse, as the code for providing the QoS requirements gets normally mixed with the functionality code. Component Technology, on the other hand, allows a better modularity and reusability of applications and even a better support for the development of distributed applications, as those applications can be partitioned in terms of components installed and running (deployed) in the different hosts participating in the system. Components also have requirements in forms of the aforementioned non-functional aspects. In our approach, the code for ensuring these aspects can be automatically generated based on the requirements stated by components and applications, thus leveraging the component implementer of having to deal with these non-functional aspects. In this paper we present the characteristics and the convenience of the generated code for dealing with load balancing, distribution, and fault-tolerance aspects in the context of CORBA-LC. CORBA-LC is a lightweight distributed reflective component model based on CORBA that imposes a peer network model in which the whole network acts as a repository for managing and assigning the whole set of resources: components, CPU cycles, memory, etc.
在CORBA-LC组件模型中支持分布、容错和负载平衡的面向方面编程技术
随着分布式资源和应用程序的规模和数量不断增长,分布式高性能计算(HPC)应用程序的设计和实现变得越来越困难。需要编程抽象、库和框架来更好地克服这种复杂性。此外,当服务质量(QoS)需求(如负载平衡、有效的资源使用和容错)必须得到满足时,结果代码更难开发、维护和重用,因为提供QoS需求的代码通常与功能代码混合在一起。另一方面,组件技术允许更好的应用程序模块化和可重用性,甚至可以更好地支持分布式应用程序的开发,因为这些应用程序可以根据在参与系统的不同主机上安装和运行(部署)的组件进行分区。组件也具有上述非功能方面形式的需求。在我们的方法中,确保这些方面的代码可以根据组件和应用程序声明的需求自动生成,从而利用组件实现者来处理这些非功能方面。在本文中,我们介绍了在CORBA-LC环境中处理负载平衡、分布和容错方面所生成的代码的特点和便利性。CORBA- lc是一个基于CORBA的轻量级分布式反射组件模型,它强加了一个对等网络模型,在这个模型中,整个网络充当一个存储库,用于管理和分配一整套资源:组件、CPU周期、内存等。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信