by Changdae Kim ([email protected])
Schedule cores in a multicore environment.
- Download Linux kernel 3.7.3 and patch linux-3.7.3-fairamp.patch.
- Compile and install the patched kernel on the system.
Note that the following options must be enabled to use fairness-oriented scheduler.
- General setup -> Fairness-oriented scheduling for asymmetric multi-cores (FAIRAMP)
- General setup -> FAIRAMP really DO the scheduling
- General setup -> FAIRAMP use fast-core-first policy
- General setup -> FAIRAMP measures instruction per seconds
- Go to tools/fairamp in the patched kernel source tree.
- Install the tool to using fairness-oriented scheduler.
$ make $ sudo make install
-
Run the following command and refer to the usage
$ fairamp -h
-
Sample run command is here.
$ fairamp -c test.comm
(test.comm is included in tools/fairamp/)
-
If you want to see less messages, use the follow command. The other options are same with fairamp.
$ fairamp.quiet -c test.comm
- This software works on x86_64 architecture, that is, 64-bit processors from Intel or AMD.
- This version is tested and validated using Ubuntu 12.04.5 and gcc 4.6.3. Some problem may occurs on other environments.
- DVFS should be available for the system.
- CPU hotplug is enabled OR all cores should be turned on.
- Detecting hard lockups must be disabled due to confliction on using performance counters. You should clear the following kernel option: Kernel hacking -> Kernel debugging -> Detect Hard and Soft Lockups
-
Debug the Kernel
- Make sure to configure following options when compile the target kernel.
CONFIG_RANDOMIZE_BASE=n CONFIG_FRAME_POINTER=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y
- Enable the sys request.
echo 1 > /proc/sys/kernel/sysrq
- To enable debug sys request,
echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc
- Send to be used by KGDB.
echo g > /proc/sysrq-trigger
Changdae Kim and Jaehyuk Huh. Exploring the Design Space of Fair Scheduling Supports for Asymmetric Multicore Systems. IEEE Transactions on Computers, vol. 67, no. 8, pp. 1136-1152, August 2018.
https://ieeexplore.ieee.org/document/8265024
- Testing the test script to work on the original environment.
- Merge and update the software to work on lastest versions. (Targeting Ubuntu 18.04 and Linux 5.4)