Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not figure out how to use the code #2

Open
antoinealb opened this issue Oct 8, 2018 · 1 comment
Open

Could not figure out how to use the code #2

antoinealb opened this issue Oct 8, 2018 · 1 comment

Comments

@antoinealb
Copy link

Hi,
I am trying to replicate your results from the paper "Kernel Paxos". However I am currently at loss on how to effectively launch the different nodes. Here is what I did so far:

config file for every node:

# paxos.conf
# Specify an id and MAC address for each acceptor/proposer/replica.
# Ids must start from 0 and must be unique.

learner 0 5C:A1:AB:1E:00:01
learner 1 5C:A1:AB:1E:00:02
learner 2 5C:A1:AB:1E:00:03

acceptor 0 5C:A1:AB:1E:00:01
acceptor 1 5C:A1:AB:1E:00:02
acceptor 2 5C:A1:AB:1E:00:03

proposer 0 5C:A1:AB:1E:00:01
proposer 1 5C:A1:AB:1E:00:02
proposer 2 5C:A1:AB:1E:00:03

# Verbosity level: must be one of quiet, error, info, or debug.
verbosity debug

On each node I ran the following command. I always modprobed the module on every machine before moving to the next module:

insmod kernel-paxos/build/kacceptor.ko id=$id if_name=enp0s8 path=./paxos.conf
insmod kernel-paxos/build/kproposer.ko id=$id if_name=enp0s8 path=./paxos.conf
insmod kernel-paxos/build/klearner.ko id=$id if_name=enp0s8 path=./paxos.conf

I then run ./user_client -f paxos.conf -c 2 -i enp0s8 -p 1, but I get 0 value / sec, and expired notices. What am I doing wrong ? Could you share a bit more information on how to setup the test cluster?

Best,
Antoine

@esposem
Copy link
Owner

esposem commented Oct 10, 2018

Hi,
I think that the problem on your configuration is that you are putting acceptors, proposer and learners in the same machine.
If I remember correctly, Kernel Paxos does not support multiple roles in the same machine. This is a missing feature that should be added in the feature (but not now, at least not by me).
The problem is that proposers,acceptors and learners use and expects the same message headers, so the received ethernet packet will be "hooked" by only one role, leaving the others still waiting for it.
Try to put each role in a different machine, and let me know if that works!
For the rest, using -h for client or modinfo for the modules should give you all required parameters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants