This archive includes the following software:
- IHK: Interface for Heterogeneous Kernels
- McKernel: Lightweight kernel for HPC on manycore systems
They are the products of our research and development effort.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(0) User mailing list
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
There are two user mailing lists:
mckernel-users@pccluster.org for English
mckernel-users-jp@pccluster.org for Japanese
Please visit the following URL to subscribe it:
http://www.pccluster.org/mailman/listinfo/mckernel-users
If you have any questions, please contact us through it.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(1) Hardware/Software requirements
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
IHK/McKernel has been tested on the following configurations:
- CentOS 7.2-7.4, Intel Xeon/Xeon Phi
- CentOS 7.2-7.4, VMware, VirtualBox, qemu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(2) Installation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1) Download "mckernel-<version>.tar.gz" file and unpack using tar xzf <filename>
with the following commands:
$ wget http://www.pccluster.org/ja/mckernel/mckernel-<version>.tar.gz
$ tar xzf mckernel-<version>.tar.gz
${TOP} variable denotes the mckernel directory in the followings.
2) Build IHK and McKernel
i) Disable SELinux and reboot
$ sudo su -
# vi /etc/selinux/config
change to SELINUX=disabled
# reboot
ii) Prepare CentOS packages, and kernel function table
Perform the following if kernel-devel package isn't installed.
$ sudo yum install kernel-devel-`uname -r`
Perform the following if /usr/src/kernels/`uname -r` doesn't exist
$ sudo ln -s /usr/src/kernels/<longer kernel version> \
/usr/src/kernels/`uname -r`
Perform the following to make sure that the
/lib/modules/`uname -r`/build symlink points to /usr/src/kernels/`uname -r`
$ ls -ld /lib/modules/`uname -r`/build
Perform the following to grant read permission to the System.map
file of your kernel version:
$ sudo chmod a+r /boot/System.map-`uname -r`
iii) Configure, Compile and Install
Run the following compile script.
$ config_and_build_smp_x86.sh ${TOP} ${TOP}/build ${TOP}/install
You can do it manually by perfoming the following the steps.
a) Record the source tree location to ${TOP}.
$ export TOP=${HOME}/mckernel
b) Run the configuration scripts from the source directories:
$ cd ${TOP}/src/ihk
$ ./configure --with-target=smp-x86 --prefix=${TOP}/install
$ cd ${TOP}/src/mckernel
$ ./configure --with-target=smp-x86 --prefix=${TOP}/install
c) Compile and install IHK and McKernel:
$ cd ${TOP}/src/ihk
$ make && make install
$ cd ${TOP}/src/mckernel
$ make && make install
iv) Boot McKernel
Boot McKernel with the following commands:
$ cd ${TOP}/install
$ sudo sbin/mcreboot.sh
Check McKernel boot log with the following commands:
${TOP}/install/sbin/ihkosctl 0 kmsg | grep "booted"
By default, the mcreboot script will take half of the CPU cores and
512MB RAM from NUMA node 0, but you can modify it. Note that you
need at least two CPU cores in your system.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(3) Usage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
For the instructions to use McKernel, please read the HOW_TO_USE.txt
under the doc directory. Several example programs are located under
the doc/tutorial/sample.
Enjoy,
IHK/McKernel Development Team