[LITMUS^RT] Litmus RT and Real-Time transactions

Björn Brandenburg bbb at mpi-sws.org
Thu Aug 3 11:56:13 CEST 2017


Hi Ricardo,

thanks for your interest in LITMUS^RT. 

> On 3. Aug 2017, at 06:11, Ricardo Zavaleta <rj.zavaleta at gmail.com> wrote:
> 
> In some research papers, people use Berkeley DB as their transaction manager using a memory resident database and run experiments on a regular linux kernel (e.g. the work of Professor Kyoung-Don Kang). Some other papers present experiments on top of a real-time operating system like VxWorks (like the V4DB testbed). 
> 
> My question is if you are aware of any similar project using Litmus RT as an operating system to evaluate real-time transactions. 

No, I’m not aware of any efforts in that direction. 

> Do you think Litmus RT is a suitable platform for performing this type of experiments

Yes.

> or do you foresee any problems/limitations?

No. If you use an in-process DB like SQLite or BDB it should work just fine. 

> Do you know if someone has used Berkeley DB with Litmus RT in the past?

No.

> 
> Any comments will be appreciated.

At least SQLite will use advisory file locks to prevent concurrent modification of the DB file. As long as only one process is doing this, LITMUS^RT doesn’t care. However, if multiple processes end up conflicting on the file locks, then you’ll potentially end up with unmitigated priority inversion because LITMUS^RT does not handle standard Linux locks. However, I don’t think this should be an issue for a purely in-memory DB, or if you make sure that only one process (presumably your DB server) calls the DB APIs. 

If you end up using LITMUS^RT, please let us know how it goes. If you run into issues, I’d be curious to see what’s missing. If it works, perhaps you can make your benchmark open-source and share it with the community?

Best regards,
Björn




More information about the litmus-dev mailing list