[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