-
Notifications
You must be signed in to change notification settings - Fork 952
Description
I’m trying to evaluate CPU core scaling for the F-Stack Redis example.
In config.ini, I set lcore_mask=F (lcores 0–3).
When I run Redis normally, it still looks like it is mainly running on a single core.
When I run Redis via start.sh, it does use multiple cores (0–3), but it spawns multiple Redis processes (--proc-id=0..3).
Since they are separate processes, GET can return nil depending on which process handles the request.
This is not the behavior I want.
I want a single Redis instance that can utilize multiple cores (0–3) for polling/processing, not multiple independent Redis processes.
Questions
Why does lcore_mask=F still look like Redis is running mainly on a single core when running as a single process?
Is lcore_mask only used by start.sh to decide the number of processes, rather than enabling multi-lcore polling within one process?
Does F-Stack provide a way to run one Redis instance that utilizes multiple lcores (0–3)?
If not supported currently, is the recommended approach always multi-process / multi-instance?
If code changes are required to enable multi-lcore usage in one process, which part of the codebase should I look at?
Any guidance would be appreciated. Thank you.