【24h】

Design of IDL Compiler using the Marshal Buffer Management

机译:使用元数据缓冲区管理的IDL编译器设计

获取原文
获取原文并翻译 | 示例

摘要

The development of distributed application in the standardized CORBA(Common Object Request Broker Architecture) environments reduces the developing time and maintaining cost of the systems. Because of these advantages, the development of application is being progressed in the several fields using the CORBA environments. The programmers in the CORBA environments usually develop the application programs using the CORBA IDL(Interface Definition Language). The IDL files are compiled by IDL compiler and translated into the stubs and skeleton codes which are mapped onto particular target language. The stubs produced by IDL compilers processes the marshaling a data into message buffer. Before a stub can marshal a data into its message buffer, the stub must ensure that the buffer has at least enough free space to contain the encoded representation of the data. But, the stubs produced by typical IDL compilers check the amount of free buffer space before every atomic data is marshaled, and if necessary, expand the message buffer. These repeated tests are wasteful and incidence of overheads, especially if the marshal buffer space must be continually expanded. Thus, the performance of the application program may be poor. In this paper, we suggest the way that the stub code is maintain the enough free space before marshaling the data into message buffer. This methods were analyzes the overall storage requirements of every message that will be exchanged between client and server. For these analysis, in the Front End of compiler has maintain the information that the storage requirements and alignment constraints for data types. Thus, stub code is optimized and the performance of application program is increased.
机译:标准化的CORBA(通用对象请求代理体系结构)环境中分布式应用程序的开发减少了系统的开发时间并降低了维护成本。由于这些优点,正在使用CORBA环境在多个领域中进行应用程序的开发。 CORBA环境中的程序员通常使用CORBA IDL(接口定义语言)来开发应用程序。 IDL文件由IDL编译器编译,并转换为存根和框架代码,它们被映射到特定的目标语言。 IDL编译器生成的存根将数据封送处理到消息缓冲区中。在存根可以将数据封送到其消息缓冲区之前,存根必须确保缓冲区具有至少足够的可用空间来包含数据的编码表示形式。但是,由典型的IDL编译器生成的存根会在对每个原子数据进行封送处理之前检查可用缓冲区的空间量,并在必要时扩展消息缓冲区。这些重复的测试是浪费的,并且会产生开销,尤其是在必须连续扩展编组缓冲区空间的情况下。因此,应用程序的性能可能很差。在本文中,我们建议存根代码在将数据编组到消息缓冲区之前保持足够的可用空间的方式。该方法分析了将在客户端和服务器之间交换的每条消息的总体存储需求。对于这些分析,在编译器的前端已经维护了信息,即存储要求和数据类型的对齐约束。因此,优化了存根代码并提高了应用程序的性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号