Growler分布式對(duì)象和事件架構(gòu)
Growler 是一個(gè)基于 C++ 開(kāi)發(fā)的分布式對(duì)象和事件架構(gòu)。支持 C++ 的對(duì)象序列化作為遠(yuǎn)程方法調(diào)用、事件通道和 IDL 接口定義語(yǔ)言的一部分。
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.
