Growler - 分布式对象和事件架构


NOSA
Linux
C/C++

软件简介

Growler 是一个基于 C 开发的分布式对象和事件架构。支持 C 的对象序列化作为远程方法调用、事件通道和 IDL 接口定义语言的一部分。

Its primary application has been in support of interactive, distributed
visualization, computational steering, and concurrent visualization, but it is
a general purpose system for distributed programming. Growler is suitable for
application to high-performance LAN environments as well the internet. Its
features include strong integration with C++, selective distributed reference
counting, and efficient well-typed event channels for local as well as remote
event broadcast, with support for low-latency/low-perturbation events via a
loss-tolerant event model.

Several key aspects of growler distinguish it from existing software tools,
particularly when taken together:

  • A C++-based distributed object architecture, based on an Interface Definition Language, plus user-defined object serialization.

  • A component-oriented framework for local and distributed components.

  • A “reader-writer buffer” (rwbuffer) communication model for high-performance event channels.

  • A “Signal/Selector” notification model for concurrent, event-driven programming.

  • Event channels supporting “composite state representations”, for synchronized access to interrelated events.

  • Efficient and robust access transparency, via user-defined serialization and copy-minimizing event channels.

Growler provides the architectural underpinnings for another open source
project developed within NASA: NodeMon. It was also instrumental in the
development of the Concurrent Visualization pipeline described in [1]. [1]
Concurrent Visualization in a Production Supercomputing Environment David
Ellsworth, Bryan Green, Chris Henze, Patrick Moran, Timothy Sandstrom IEEE
Transactions on Visualization and Computer Graphics. 2006.