Skip to content

Commit 65039ba

Browse files
committed
[Store]: Update stress_cluster_benchmark.py to support file segments
1 parent f4f1b35 commit 65039ba

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

mooncake-store/tests/stress_cluster_benchmark.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,20 +183,26 @@ def setup(self):
183183

184184
# Setup store
185185
protocol = self.args.protocol
186-
device_name = self.args.device_name
186+
protocol_args = self.args.protocol_args
187187
local_hostname = self.args.local_hostname
188188
metadata_server = self.args.metadata_server
189-
global_segment_size = self.args.global_segment_size * 1024 * 1024
190189
local_buffer_size = self.args.local_buffer_size * 1024 * 1024
191190
master_server_address = self.args.master_server
192191

193192
logger.info(f"Setting up {self.args.role} instance with batch_size={self.args.batch_size}")
194-
logger.info(f" Protocol: {protocol}, Device: {device_name}")
195-
logger.info(f" Global segment: {global_segment_size // (1024*1024)} MB")
193+
logger.info(f" Protocol: {protocol}, Protocol args: {protocol_args}")
196194
logger.info(f" Local buffer: {local_buffer_size // (1024*1024)} MB")
197195

198-
retcode = self.store.setup(local_hostname, metadata_server, global_segment_size,
199-
local_buffer_size, protocol, device_name, master_server_address)
196+
if self.args.files is None:
197+
global_segment_size = self.args.global_segment_size * 1024 * 1024
198+
logger.info(f" Global segment: {global_segment_size // (1024*1024)} MB")
199+
retcode = self.store.setup(local_hostname, metadata_server, global_segment_size,
200+
local_buffer_size, protocol, protocol_args, master_server_address)
201+
else:
202+
files = self.args.files.split()
203+
logger.info(f" Files: {files}")
204+
retcode = self.store.setup_with_files(local_hostname, metadata_server, files,
205+
local_buffer_size, protocol, protocol_args, master_server_address)
200206
if retcode:
201207
logger.error(f"Store setup failed with return code {retcode}")
202208
exit(1)
@@ -428,14 +434,18 @@ def parse_arguments():
428434

429435
# Network and connection settings
430436
parser.add_argument("--protocol", type=str, default="rdma", help="Communication protocol to use")
431-
parser.add_argument("--device-name", type=str, default="erdma_0", help="Network device name for RDMA")
437+
parser.add_argument("--protocol-args", "--device-name", dest="protocol_args", type=str,
438+
default="erdma_0", help="Protocol specific args, e.g. Network device name for RDMA")
432439
parser.add_argument("--local-hostname", type=str, default="localhost", help="Local hostname")
433440
parser.add_argument("--metadata-server", type=str, default="http://127.0.0.1:8080/metadata", help="Metadata server address")
434441
parser.add_argument("--master-server", type=str, default="localhost:50051", help="Master server address")
435442

436443
# Memory and storage settings
437-
parser.add_argument("--global-segment-size", type=int, default=10000, help="Global segment size in MB")
438444
parser.add_argument("--local-buffer-size", type=int, default=512, help="Local buffer size in MB")
445+
# Only one of --global-segment-size and --files should be specified.
446+
group = parser.add_mutually_exclusive_group()
447+
group.add_argument("--global-segment-size", type=int, default=10000, help="Global segment size in MB")
448+
group.add_argument("--files", type=str, default=None, help="Files to be registered as global segments")
439449

440450
# Test parameters
441451
parser.add_argument("--max-requests", type=int, default=1200, help="Maximum number of requests to process")

0 commit comments

Comments
 (0)