[LITMUS^RT] Announcing PGM^RT!
Björn Brandenburg
bbb at mpi-sws.org
Mon Feb 24 11:51:11 CET 2014
On 19 Feb 2014, at 23:15, Glenn Elliott <gelliott at cs.unc.edu> wrote:
>
> I want to share with you a project that we’ve been working on here at UNC: PGM^RT. PGM^RT is a middleware framework for supporting real-time dataflow graph applications (PGM stands for processing graph method---a formalism for describing dataflow graphs). PGM^RT simplifies/unifies the signaling and message passing that occurs between threads, and it has real-time-friendly design. Graphs can be contained within a single process, or be broken up into separate processes. PGM^RT also supports graphs that span a network. Currently supported signaling/message-passing IPCs are: custom spinlock-based condition variables built directly on top of Linux futexes (low overheads! (x86/Linux only)), pthread condition variables, named pipes (aka FIFOs), POSIX message queues, and stream sockets (e.g., TCP).
Hi Glenn,
this looks quite impressive —-- nice work! I looked a bit through the repository, but wasn't quite sure how I would use the framework. Maybe I missed it, but is there a an easy tutorial-style example?
> Although PGM^RT should work on any POSIX-compatible system, lower overheads can be achieved by using LITMUS^RT. However, a minor patch to LITMUS^RT is required to properly assign scheduling priorities for deadline schedulers (no patch is needed for fixed-priority scheduling). Patches have been posted to the LITMUS^RT Publications page: http://wiki.litmus-rt.org/litmus/Publications
Is this something we should consider merging into LITMUS^RT?
Thanks,
Björn
More information about the litmus-dev
mailing list