[LITMUS^RT] How can I set total number of cores on G-EDF algorithm

Björn Brandenburg bbb at mpi-sws.org
Sat Dec 28 15:16:52 CET 2013


On 25.12.2013, at 00:07, Luo, Zheng <luozheng at wustl.edu> wrote:
>>> 2***
>>> Second, I tried to use the G-EDF by disabling the cores in the linux system. I used: 
>>> sudo echo "0" > /sys/devices/system/node/node0/cpu1/online
>>> sudo echo "0" > /sys/devices/system/node/node0/cpu3/online
>>> Those command did disable the CPU cores, however the G-EDF seems not working correctly. The execution order of the rt_thread, seems not according to the G-EDF. Some of the late deadline thread, even finished early. I am really confused here.


Hi Zheng, hi glenn,

I have two quick comments on this thread:

1) LITMUS^RT currently does not support hot-plugging CPUs. So disabling CPUs as in the snippet quoted above is not going to work. This restriction is perhaps unfortunate, but requires significant work to be corrected. At the very least, you should disable the current plugin before enabling/disabling cores. Enabling a plugin after some cores have been disabled might work (and if not, support for this is not that difficult to patch in).

2) The generic implementation for the clustered scheduling configuration is found in litmus/clustered.c. It currently only understands cache-based topologies. Clean patches that change the /proc interface and clustering infrastructure to support arbitrary clusters  would be very welcome (e.g., perhaps arbitrary clusters could be specified via strings like “[0-3],[4,7]” to group cores 0-3 into one cluster and cores 4 and 7 into another cluster, leaving the rest for OS and background tasks).

Thanks,
Björn





More information about the litmus-dev mailing list