MemCache Configs

MetaService Config

key value type requirement default valid range description
ock.mmc.meta_service_url string optional tcp://127.0.0.1:5000 tcp://<host><port> host supports ip and domain, port in [1025, 65535]
ock.mmc.meta_service.config_store_url string optional tcp://127.0.0.1:6000 tcp://<host><port> host supports ip and domain, port in [1025, 65535]
ock.mmc.meta_service.metrics_url string optional http://127.0.0.1:8000 <protocol>://<host>:<port> protocol is http or https, host supports ip and domain, port in [1025, 65535]
ock.mmc.meta.ha.enable bool optional false true/false enable meta service master/backup HA in k8s cluster
ock.mmc.meta.backup.enable bool optional false true/false enable meta service backup
ock.mmc.meta_service.metrics_report_interval_seconds integer optional 30 [0, 86400] metrics summary printing interval in seconds, 0 disables periodic metrics printing
ock.mmc.meta.lease_ttl_ms integer optional 10000 [1, 2147483647] default read lease TTL in milliseconds used when meta service grants read leases
ock.mmc.log_level string optional info debug/info/warn/error log level
ock.mmc.log_path string optional /var/log/memcache_hybrid relative or absolute path log path, the absolute path is start with '/'
ock.mmc.log_rotation_file_size int optional 20 1 <= n <= 500 log rotation file size(MB)
ock.mmc.log_rotation_file_count int optional 50 1 <= n <= 50 log rotation file num
ock.mmc.log_output_target string optional file screen/file/both log output target: screen (stdout only), file (rotating file only), both (stdout + file)
ock.mmc.evict_threshold_high int optional 90 1 <= n <= 99 evict threshold, 90 mean 90%, the max threshold is 99%. Note: When the size of single put value is greater than 1% of the capacity, the elimination cannot be triggered
ock.mmc.evict_threshold_low int optional 80 1 <= n <= 98 after evict threshold
ock.mmc.rewarm.dram_watermark int optional 95 [0, 100] rewarm DRAM watermark percentage, rewarm is triggered when DRAM usage exceeds this threshold
ock.mmc.storage.prefetch.enabled bool optional false true/false enable SSD to DRAM prefetch on read
ock.mmc.tls.enable bool optional false true/false metaservice TLS switch
ock.mmc.tls.ca.path string optional 0 <= len < 256 Root Certificate path
ock.mmc.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path
ock.mmc.tls.cert.path string optional 0 <= len < 256 server certificate path
ock.mmc.tls.key.path string optional 0 <= len < 256 server private key path
ock.mmc.tls.key.pass.path string optional 0 <= len < 256 server private key passphrase path (leave empty if the private key is not encrypted)
ock.mmc.tls.package.path string optional 0 <= len < 256 openssl dynamic libraries path
ock.mmc.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path (leave empty if the password is not encrypted)
ock.mmc.config_store.tls.enable bool optional false true/false config store TLS switch
ock.mmc.config_store.tls.ca.path string optional 0 <= len < 256 Root Certificate path for config store
ock.mmc.config_store.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path for config store
ock.mmc.config_store.tls.cert.path string optional 0 <= len < 256 server certificate path for config store
ock.mmc.config_store.tls.key.path string optional 0 <= len < 256 server private key path for config store
ock.mmc.config_store.tls.key.pass.path string optional 0 <= len < 256 server private key passphrase path for config store (leave empty if the private key is not encrypted)
ock.mmc.config_store.tls.package.path string optional 0 <= len < 256 openssl dynamic libraries path for config store
ock.mmc.config_store.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path for config store (leave empty if the password is not encrypted)
ock.mmc.metrics.tls.enable bool optional false true/false metrics HTTP server mTLS switch
ock.mmc.metrics.tls.ca.path string optional 0 <= len < 256 Root Certificate path for metrics HTTP
ock.mmc.metrics.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path for metrics HTTP
ock.mmc.metrics.tls.cert.path string optional 0 <= len < 256 server certificate path for metrics HTTP
ock.mmc.metrics.tls.key.path string optional 0 <= len < 256 server private key path for metrics HTTP
ock.mmc.metrics.tls.key.pass.path string optional 0 <= len < 256 server private key passphrase path for metrics HTTP (leave empty if the private key is not encrypted)
ock.mmc.metrics.tls.package.path string optional 0 <= len < 256 openssl dynamic libraries path for metrics HTTP
ock.mmc.metrics.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path for metrics HTTP (leave empty if the password is not encrypted)

LocalService Config

key value type requirement default valid range description
ock.mmc.meta_service_url string optional tcp://127.0.0.1:5000 tcp://<host><port> host is cluster-ip/domain in HA, port in [1025, 65535]
ock.mmc.local_service.config_store_url string optional tcp://127.0.0.1:6000 tcp://<host><port> host supports ip and domain, port in [1025, 65535]
ock.mmc.log_level string optional info debug/info/warn/error log level
ock.mmc.local_service.world_size integer optional 256 [1, 1024] The maximum supported rank count; once ranks are connected, no further modifications are allowed — a meta restart is required
ock.mmc.local_service.protocol string required host_rdma host_rdma/host_urma/host_tcp/host_shm/device_sdma/device_rdma/device_urma/device_uboe host_shm requires DRAM > 0, HBM = 0, and no hcom.
ock.mmc.local_service.hcom_url string optional tcp://127.0.0.1:7000 tcp://<host><port> used in dram pool, host supports ip and domain, port in [1024, 65535]
ock.mmc.local_service.backend_id string optional 0 <= len < 256 Backend identity for kv_event (e.g. pod IP); if empty, falls back to env var MMC_LOCAL_SERVICE_BACKEND_ID
ock.mmc.local_service.dram.size integer required 1GB [0, 1TB] Supports formats such as 134217728, 2048KB, 200mb, 2.5G or 1TB,
and automatic alignment to 2MB (host_rdma, host_tcp or host_shm) or 1GB (device_sdma, device_rdma, device_urma or device_uboe).
ock.mmc.local_service.hbm.size integer optional 0 [0, 1TB] Supports formats such as 134217728, 2048KB, 200mb, 2.5G or 1TB,
and automatic alignment to 2MB (host_rdma, host_tcp or host_shm) or 1GB (device_sdma, device_rdma, device_urma or device_uboe). host_shm requires HBM to remain 0.
ock.mmc.local_service.max.dram.size integer optional use dram.size [0, 1TB] The MAX size of ock.mmc.local_service.dram.size in all local processes, necessary if ranks contribute different sizes of DRAM.
ock.mmc.local_service.max.hbm.size integer optional use hbm.size [0, 1TB] The MAX size of ock.mmc.local_service.hbm.size in all local processes, necessary if ranks contribute different sizes of HBM.
ock.mmc.local_service.storage.enabled bool optional false true/false enable SSD storage on local service. When enabled, SSD read/write and data eviction to SSD are supported
ock.mmc.local_service.dram.best_effort.enabled bool optional false true/false enable best-effort DRAM allocation strategy. When enabled, the system attempts to allocate DRAM
ock.mmc.client.retry_milliseconds integer optional 0 [0, 600000] The total retry duration (retry interval is 200ms) when client requests meta service and the connection does not exist
ock.mmc.client.timeout.seconds integer optional 60 [1, 600] Client request timeout in seconds.
ock.mmc.client.read_thread_pool.size integer optional 4 [1, 64] Number of threads in the read thread pool.
ock.mmc.client.write_thread_pool.size integer optional 4 [1, 64] Number of threads in the write thread pool.
ock.mmc.client.aggregate.io bool optional true true/false Whether to enable IO request aggregation for read/write operations.
ock.mmc.client.aggregate.num integer optional 122 [1, 131072] Number of IO requests to aggregate in a single batch.
ock.mmc.client.batch_option.chunk.size integer optional 8MB [0, 1TB] Supports formats such as 134217728, 2048KB, 200mb, 2.5G or 1TB.
ock.mmc.client.batch_option.chunk.count integer optional 3 [1, 64] During batch copy operations, the system will not perform slicing and concurrent copy operations only when the batch count is less than chunk count or the total data size is less than (chunk size * chunk count).
ock.mmc.tls.enable bool optional false true/false metaservice TLS switch
ock.mmc.tls.ca.path string optional 0 <= len < 256 Root Certificate path
ock.mmc.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path
ock.mmc.tls.cert.path string optional 0 <= len < 256 client certificate path
ock.mmc.tls.key.path string optional 0 <= len < 256 client private key path
ock.mmc.tls.key.pass.path string optional 0 <= len < 256 client private key passphrase path (leave empty if the private key is not encrypted)
ock.mmc.tls.package.path string optional 0 <= len < 256 openssl dynamic libraries path
ock.mmc.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path (leave empty if the password is not encrypted)
ock.mmc.config_store.tls.enable bool optional false true/false config store TLS switch
ock.mmc.config_store.tls.ca.path string optional 0 <= len < 256 Root Certificate path for config store
ock.mmc.config_store.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path for config store
ock.mmc.config_store.tls.cert.path string optional 0 <= len < 256 client certificate path for config store
ock.mmc.config_store.tls.key.path string optional 0 <= len < 256 client private key path for config store
ock.mmc.config_store.tls.key.pass.path string optional 0 <= len < 256 client private key passphrase path for config store (leave empty if the private key is not encrypted)
ock.mmc.config_store.tls.package.path string optional 0 <= len < 256 openssl dynamic libraries path for config store
ock.mmc.config_store.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path for config store (leave empty if the password is not encrypted)
ock.mmc.local_service.hcom.tls.enable bool optional false true/false hcom TLS switch
ock.mmc.local_service.hcom.tls.ca.path string optional 0 <= len < 256 Root Certificate path for hcom
ock.mmc.local_service.hcom.tls.ca.crl.path string optional 0 <= len < 256 Certificate Revocation List path for hcom
ock.mmc.local_service.hcom.tls.cert.path string optional 0 <= len < 256 client certificate path for hcom
ock.mmc.local_service.hcom.tls.key.path string optional 0 <= len < 256 client private key path for hcom
ock.mmc.local_service.hcom.tls.key.pass.path string optional 0 <= len < 256 client private key passphrase path for hcom (leave empty if the private key is not encrypted)
ock.mmc.local_service.hcom.tls.decrypter.path string optional 0 <= len < 256 the keypass decrypter library path for hcom (leave empty if the password is not encrypted)
ock.mmc.dynamic_config.enable bool optional false true/false Enable dynamic config polling. When enabled, LocalService periodically checks the config file for meta_service_url and config_store_url changes and lazily updates reconnection targets without restart
ock.mmc.dynamic_config.interval integer optional 5 [1, 300] Polling interval in seconds for dynamic config file check

KV Events Config

key value type requirement default valid range description
ock.mmc.kv_events.enable bool optional false true/false enable KV event publisher; requires MMC_ENABLE_KV_EVENTS=ON at build time
ock.mmc.kv_events.endpoint string optional "" tcp://<host><port> ZMQ PUB bind endpoint, e.g. tcp://0.0.0.0:5557
ock.mmc.kv_events.model_name string optional "" 0 <= len < 256 model name tag embedded in ZMQ topic and event payload
ock.mmc.kv_events.tenant_id string optional default 0 <= len < 256 tenant identifier in event payload
ock.mmc.kv_events.block_size integer optional 0 [0, 4294967295] block size hint in event payload; 0 means not set
ock.mmc.kv_events.queue_capacity integer optional 65536 [1, 4294967295] max number of events in the internal publish queue
ock.mmc.kv_events.hash_as_int bool optional true true/false true: serialize seq_hashes as uint64; false: serialize as hex string