Dear PsychToolbox Wizards,
Context:
- Ubuntu 14.04 with low-latency kernel 4.4.0
- Lots of processor cores and RAM , no more than about 15% of either in use
- 8 Matlab processes running in parallel , synched through c-language system calls
- Up to date Psych Toolbox and Matlab 2015b
- lubuntu-desktop environment for lightweight GUI
- Average 8MByte/s udp packets arriving at Gigabit ethernet card
- Ran PsychLinuxConfiguration , but prior to kernel 4.4.0 upgrade
I'm fighting with skipped frames. The number of skipped frames oscillates between none, and several per second, suggesting some kind of scheduling issue. I've used Priority( 1 ) in only one Matlab process, the one that Screen ( 'Flip<s>' , .. ) images to the test screen ; the change is verified by Priority with no input args.
However, then I can't seem to verify the priority change from the system command line. I've tried the 'top' command and 'ps -a -o pid,pri,cmd'. But neither of these reports a different priority for the Matlab process that actually ran Priority( 1 ). top says they all have a priority of 20, ps says they're all at 19.
It may not necessarily be process scheduling, as the kernel is busy dealing with a lot of incoming packets. On the other hand, reducing the network traffic doesn't seem to reduce skipped frames. Neither does reducing the number of parallel processes seem to help.
So, the question is how to properly check the priority of the Matlab process that has run Priority( 1 ), from the system command line. If I can do that properly, then I might be able to rule out a scheduling issue.
Best,
Jackson
Context:
- Ubuntu 14.04 with low-latency kernel 4.4.0
- Lots of processor cores and RAM , no more than about 15% of either in use
- 8 Matlab processes running in parallel , synched through c-language system calls
- Up to date Psych Toolbox and Matlab 2015b
- lubuntu-desktop environment for lightweight GUI
- Average 8MByte/s udp packets arriving at Gigabit ethernet card
- Ran PsychLinuxConfiguration , but prior to kernel 4.4.0 upgrade
I'm fighting with skipped frames. The number of skipped frames oscillates between none, and several per second, suggesting some kind of scheduling issue. I've used Priority( 1 ) in only one Matlab process, the one that Screen ( 'Flip<s>' , .. ) images to the test screen ; the change is verified by Priority with no input args.
However, then I can't seem to verify the priority change from the system command line. I've tried the 'top' command and 'ps -a -o pid,pri,cmd'. But neither of these reports a different priority for the Matlab process that actually ran Priority( 1 ). top says they all have a priority of 20, ps says they're all at 19.
It may not necessarily be process scheduling, as the kernel is busy dealing with a lot of incoming packets. On the other hand, reducing the network traffic doesn't seem to reduce skipped frames. Neither does reducing the number of parallel processes seem to help.
So, the question is how to properly check the priority of the Matlab process that has run Priority( 1 ), from the system command line. If I can do that properly, then I might be able to rule out a scheduling issue.
Best,
Jackson