User level task scheduler using coorperative ULE scheduler
- Linux machine with kernel version >= 5.4
- Install g++. Refer link
- Install liburing by running following commands outside the project root directory.
git clone https://github.com/axboe/liburing.git
make -C ./liburing
Install g++. Refer link
Run command
g++ -std=c++2a -pthread main.cc -I../liburing/src/include/ -L../liburing/src/ -luring
Run command
./a.out
Compile with the corresponding commands.
g++ -std=c++2a -pthread main.cc -I../liburing/src/include/ -L../liburing/src/ -luring -DENABLE_METRICS
g++ -std=c++2a -pthread main.cc -I../liburing/src/include/ -L../liburing/src/ -luring -DENABLE_INTERACTIVITY_METRICS
g++ -std=c++2a -pthread main.cc -I../liburing/src/include/ -L../liburing/src/ -luring -DENABLE_LOAD_BALANCE_METRICS
g++ -std=c++2a -pthread main.cc -I../liburing/src/include/ -L../liburing/src/ -luring -DENABLE_THREAD_MIGRATION_METRICS
Compile with command
g++ -std=c++2a -pthread multi-threaded.cc -I../liburing/src/include/ -L../liburing/src/ -luring
Compile with command
g++ -std=c++2a -pthread multi-threaded-iouring.cc -I../liburing/src/include/ -L../liburing/src/ -luring
Run using command
node node_scheduler.js