intel / intel/isa-l

How to go through the call stack of ec_encode_data (in order to find slice size)?

Open
#228 3 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
C
Stars
1.1k
Forks
346
PR merge metrics
No merged PRs in 30d

Description

I'm trying to go through the call stack of `ec_encode_data` using `printf` statements as the function is being called in erasure_code_perf.c.

I believe that the only two places where `ec_encode_data` is defined are in ec_base_aliases.c and ec_base_vsx.c. I wrote `printf`statements under both definitions to see where the entry point of the function is, but when I ran `make perfs`, neither `printf` statements were outputted. Am I doing something wrong or thinking about the function incorrectly?

What I'm ultimately trying to do is find some sort of "slice" size. The concept of slicing was mentioned in the [Exploiting Combined Locality for Wide-Stripe Erasure Coding in Distributed Storage](https://www.usenix.org/system/files/fast21-hu.pdf) paper, specifically in section 4.2, which states that _"current encoding implementation (e.g., Intel ISA-L [4] and QFS [49]) often splits data chunks of large size (e.g., 64 MiB) into smaller-size data slices and performs slice-based encoding with hardware acceleration (e.g., Intel ISA-L) or parallelism (e.g., QFS)"_. I'm trying to find where in the ISA-L code this slicing occurs, and more specifically, what the slice size is.

Any help would be greatly appreciated!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.