This section covers the points which might be considered negatives about this PGM implementation. Is could also conversely be considered a collection of goals for future development.
Contents |
In order to accelerate the development of OpenPGM and provide a proven cross platform foundation the GLib toolkit is used. Functionality provided by GLib includes:
OpenPGM does not provide PGM default parameters, this is necessary to introduce that the parameters need tuning to the destination environment. With very high speed messaging, which means from 100,000 to millions of packets-per-second (pps), it is not practical to have a reliability buffer many seconds in length. Conversely low data rate messaging, such as system monitoring, it is superfluous trying to ensure microsecond latencies.
The transmit window only advances with data. This means the entire window size of memory is permanently in use. With an "Advance with Time" scheme in quiet period the window will be flushed out freeing memory for the application.
Large communication environments can see a significant generation of NAKs. When across multiple networks it can be difficult to fix and determine optimum PGM parameters. Appendix E of the PGM specification introduces a mechanism of adapting the NAK back-off interval to the current network conditions.
An extra draft proposal was created for congestion control: draft-ietf-rmt-bb-pgmcc-03. This was not incorporated into the main RFC for PGM, for which OpenPGM just covers the basic functionality. OpenPGM does include rate regulation using a leaky bucket scheme.
New technologies like 10 GigE and InfiniBand provide user-space transports through the RDMA protocol. This alleviates the biggest performance problem of system call overhead.
Alternatives to RDMA are more invasive to the operating environment such as multi-packet variants of sendmsg() and recvmsg(), and simply moving the core PGM logic inside kernel space as part of the core networking set. Both still need context switches and do not scale well on the faster networking fabrics.
Not integrated with an operating system kernel gives OpenPGM some advantages and disadvantages.
OpenPGM inherits all the issues fundamental to PGM as a network protocol compared with regular unreliable UDP, or connection orientated TCP.
© 2008 Novell, Inc. All Rights Reserved.