Skip to content

Add fiber configuration and verbose logging support (#527)#527

Open
charles-typ wants to merge 3 commits intofacebookresearch:v2-betafrom
charles-typ:export-D96763783-to-v2-beta
Open

Add fiber configuration and verbose logging support (#527)#527
charles-typ wants to merge 3 commits intofacebookresearch:v2-betafrom
charles-typ:export-D96763783-to-v2-beta

Conversation

@charles-typ
Copy link
Copy Markdown
Contributor

@charles-typ charles-typ commented Mar 16, 2026

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:

  • Add enable_fibers flag to enable fiber-based request processing
  • Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
  • Add fiber_max_pool_size for max preallocated free fibers (default 1000)
  • Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:

  • Add verbose parameter to server and client configs (default 0)
  • Print detailed error messages for SET/GET failures when verbose is enabled
  • Include carbon::Result error codes in log output for debugging

Files modified:

  • Config JSON files: Added verbose parameter to server configs
  • ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
  • jobs_internal.yml: Added CLI args for fiber config and verbose flag
  • run.py: Added fiber and verbose CLI argument parsing
  • UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 16, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Mar 16, 2026

@charles-typ has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96763783.

charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 16, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Differential Revision: D96763783
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 24, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 26, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
@meta-codesync meta-codesync bot changed the title Add fiber configuration and verbose logging support Add fiber configuration and verbose logging support (#527) Mar 26, 2026
@charles-typ charles-typ force-pushed the export-D96763783-to-v2-beta branch from cfe1a49 to eb9a3dc Compare March 26, 2026 21:34
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 26, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 26, 2026
…#527)

Summary:
Pull Request resolved: facebookresearch#527

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
@charles-typ charles-typ force-pushed the export-D96763783-to-v2-beta branch from eb9a3dc to 21cc808 Compare March 26, 2026 21:37
Yupeng Tang added 2 commits March 31, 2026 12:53
)

Summary:
Pull Request resolved: facebookresearch#518

The cachelib_num_shards parameter was parsed from gflags and stored in
UcacheBenchConfig but never actually applied to the CacheAllocator::Config.
This meant the config value was silently ignored and CacheLib used its
default of 8192 shards.

Now call setNumShards() when cachelib_num_shards > 0, allowing the
benchmark to match production shard counts for more accurate CPU
utilization profiling.

Differential Revision: D96087814
Summary:
Add support for configuring ThriftServer's socketMaxReadsPerEvent via CLI
flag. This controls how many reads a single connection can perform per
event loop iteration, which affects multi-client scalability.

Changes:
- Add rpc_socket_max_reads_per_event gflag to UcacheBenchRpcServer.cpp
- Apply flag value to thriftServer_->setSocketMaxReadsPerEvent()
- Add parameter to benchmark configs (debug/large/medium/small) with
  default value of 1 matching production ucache
- Add --rpc-socket-max-reads-per-event CLI arg in jobs_internal.yml
- Add parameter to ALLOWED_PARAMS in ucache_bench_benchmark.py

Differential Revision: D96763733
@charles-typ charles-typ force-pushed the export-D96763783-to-v2-beta branch from 21cc808 to d0053ec Compare March 31, 2026 19:56
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 31, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
charles-typ added a commit to charles-typ/DCPerf that referenced this pull request Mar 31, 2026
…#527)

Summary:

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
…#527)

Summary:
Pull Request resolved: facebookresearch#527

Add support for fiber-based request processing and verbose error logging in
ucache_bench server and client.

Fiber configuration changes:
- Add enable_fibers flag to enable fiber-based request processing
- Add fiber_stack_size for configuring IO thread fiber stack size (default 64KB)
- Add fiber_max_pool_size for max preallocated free fibers (default 1000)
- Add fiber_pool_resize_period_ms for fiber pool resize period (default 1000ms)

Verbose logging changes:
- Add verbose parameter to server and client configs (default 0)
- Print detailed error messages for SET/GET failures when verbose is enabled
- Include carbon::Result error codes in log output for debugging

Files modified:
- Config JSON files: Added verbose parameter to server configs
- ucache_bench_benchmark.py: Added fiber params to ALLOWED_PARAMS
- jobs_internal.yml: Added CLI args for fiber config and verbose flag
- run.py: Added fiber and verbose CLI argument parsing
- UcacheBenchClient.cpp: Added verbose error logging for warmup and benchmark ops

Reviewed By: excelle08

Differential Revision: D96763783
@charles-typ charles-typ force-pushed the export-D96763783-to-v2-beta branch from d0053ec to a4a5f9a Compare March 31, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant