Skip to content

Added KNN nested vector search benchmark cases for Faiss + Lucene. #5518

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions jenkins/opensearch/benchmark-test.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,13 @@ pipeline {
H 16 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/x64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=big5;SINGLE_NODE_CLUSTER=true;DATA_INSTANCE_TYPE=r5.8xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:x64,instance-type:r5.8xlarge,major-version:3x,cluster-config:x64-r5.8xlarge-1-shard-0-replica-4-clients-snapshot;WORKLOAD_PARAMS={"snapshot_repo_name":"benchmark-workloads-repo-3x","snapshot_bucket_name":"benchmark-workload-snapshots","snapshot_region":"us-east-1","snapshot_base_path":"workload-snapshots-3x","snapshot_name":"big5_1_shard_single_client","search_clients":4,"target_throughput":""};TEST_PROCEDURE=restore-from-snapshot;CAPTURE_NODE_STAT=true
H 16 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/x64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=big5;SINGLE_NODE_CLUSTER=true;DATA_INSTANCE_TYPE=r5.8xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:x64,instance-type:r5.8xlarge,major-version:3x,cluster-config:x64-r5.8xlarge-1-shard-0-replica-8-clients-snapshot;WORKLOAD_PARAMS={"snapshot_repo_name":"benchmark-workloads-repo-3x","snapshot_bucket_name":"benchmark-workload-snapshots","snapshot_region":"us-east-1","snapshot_base_path":"workload-snapshots-3x","snapshot_name":"big5_1_shard_single_client","search_clients":8,"target_throughput":""};TEST_PROCEDURE=restore-from-snapshot;CAPTURE_NODE_STAT=true
'''
+
'''
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-faiss-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-faiss-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-faiss-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-faiss-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-lucene-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-lucene-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-lucene-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-lucene-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
'''
)
}
parameters {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@
H 16 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/x64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=big5;SINGLE_NODE_CLUSTER=true;DATA_INSTANCE_TYPE=r5.8xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:x64,instance-type:r5.8xlarge,major-version:3x,cluster-config:x64-r5.8xlarge-1-shard-0-replica-2-clients-snapshot;WORKLOAD_PARAMS={"snapshot_repo_name":"benchmark-workloads-repo-3x","snapshot_bucket_name":"benchmark-workload-snapshots","snapshot_region":"us-east-1","snapshot_base_path":"workload-snapshots-3x","snapshot_name":"big5_1_shard_single_client","search_clients":2,"target_throughput":""};TEST_PROCEDURE=restore-from-snapshot;CAPTURE_NODE_STAT=true
H 16 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/x64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=big5;SINGLE_NODE_CLUSTER=true;DATA_INSTANCE_TYPE=r5.8xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:x64,instance-type:r5.8xlarge,major-version:3x,cluster-config:x64-r5.8xlarge-1-shard-0-replica-4-clients-snapshot;WORKLOAD_PARAMS={"snapshot_repo_name":"benchmark-workloads-repo-3x","snapshot_bucket_name":"benchmark-workload-snapshots","snapshot_region":"us-east-1","snapshot_base_path":"workload-snapshots-3x","snapshot_name":"big5_1_shard_single_client","search_clients":4,"target_throughput":""};TEST_PROCEDURE=restore-from-snapshot;CAPTURE_NODE_STAT=true
H 16 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/x64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=big5;SINGLE_NODE_CLUSTER=true;DATA_INSTANCE_TYPE=r5.8xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:x64,instance-type:r5.8xlarge,major-version:3x,cluster-config:x64-r5.8xlarge-1-shard-0-replica-8-clients-snapshot;WORKLOAD_PARAMS={"snapshot_repo_name":"benchmark-workloads-repo-3x","snapshot_bucket_name":"benchmark-workload-snapshots","snapshot_region":"us-east-1","snapshot_base_path":"workload-snapshots-3x","snapshot_name":"big5_1_shard_single_client","search_clients":8,"target_throughput":""};TEST_PROCEDURE=restore-from-snapshot;CAPTURE_NODE_STAT=true

H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-faiss-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-faiss-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-faiss-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-faiss-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-lucene-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-lucene-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
H 5 * * * %BUNDLE_MANIFEST_URL=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.1.0/latest/linux/arm64/tar/dist/opensearch/manifest.yml;TEST_WORKLOAD=vectorsearch;SINGLE_NODE_CLUSTER=false;DATA_NODE_COUNT=3;DATA_INSTANCE_TYPE=r6g.2xlarge;USE_50_PERCENT_HEAP=true;USER_TAGS=run-type:nightly,segrep:disabled,arch:arm64,instance-type:r6g.2xlarge,major-version:2x,cluster-config:arm64-r6g.2xlarge-3-data-3-shards-1-replica-lucene-cohere-nested-1m;ADDITIONAL_CONFIG=knn.algo_param.index_thread_qty:2;WORKLOAD_PARAMS={"target_index_name": "target_index", "target_field_name": "nested_field.target_field", "target_index_body": "indices/nested/nested-lucene-index.json", "target_index_dimension": 768, "target_index_bulk_size": 100, "target_index_bulk_index_data_set_format": "hdf5", "target_index_bulk_index_data_set_corpus": "cohere-nested", "target_index_bulk_indexing_clients": 10, "target_index_max_num_segments": 1, "target_index_space_type": "innerproduct", "query_k": 5, "query_body": {"docvalue_fields": ["_id"], "stored_fields": "_none_"}, "query_data_set_format": "hdf5", "query_data_set_corpus": "cohere-nested", "query_count": 10000};CAPTURE_NODE_STAT=true
)
benchmark-test.stage(validate-and-set-parameters, groovy.lang.Closure)
benchmark-test.echo(Executing on agent [label:Jenkins-Agent-AL2-X64-M52xlarge-Docker-Host-Benchmark-Test])
Expand Down
Loading