gwsystems / sledge-serverless-framework

SLEdge: a serverless runtime designed for the Edge.
GNU General Public License v2.0
105 stars 16 forks source link

How can I reproduce the concurrency result of the paper? #265

Open meilier opened 3 years ago

meilier commented 3 years ago

I try to run sledge to reproduce the concurrency result of the paper. But when worker core go with linear increasing, the throughput stay still.

I try to open some log commented out in Makefile or add some log to sledge, such as LOG_HTTP_PARSER, found that all work cores indeed do the computing. It seems like some critical resources can only allocate to these workers per unit time. It troubles me some time. I would be grateful if I could get some suggestions.

I do the experiment as such below:

Run sledge:
LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH" ./sledgert  ../experiments/concurrency/spec.json

In other termial,Run hey client:
experiment_client 127.0.0.1 /sledge-serverless-framework/runtime/experiments/concurrency/res
meilier commented 2 years ago

I make some progress found that cache-misses are the key factor that influences the throughput. Any solutions? : ) Thanks

meilier commented 2 years ago

Disable transparent huge pages for nearly no cache misses for clear_page_erms. Still some other analysises needed...... Memory allocation is too slow

gparmer commented 2 years ago

Sledge has been modified quite a bit since the paper, so it is unlikely that the exact results will be the same. That said, we certainly have experiments where we can raise concurrency, and the throughput will increase.

meilier commented 2 years ago

appreciate for your reply 👍