Skip to content

Conversation

@zhangjyr
Copy link
Collaborator

Pull Request Description

  1. This is the accumulated fix to make the GPU optimizer work as designed.
  2. Include changes about how to deploy a debugged version of components: after applying -k config/default, develop the version of components under config/dev can be deployed independently.
    2.1 For components created using "kubectl create -k config/default", older component must be deleted using "kubectl delete -k config/dev/xxxx" and then reapplied.

Related Issues

Resolves: #546

Important: Before submitting, please complete the description above and review the checklist below.


Contribution Guidelines (Expand for Details)

We appreciate your contribution to aibrix! To ensure a smooth review process and maintain high code quality, please adhere to the following guidelines:

Pull Request Title Format

Your PR title should start with one of these prefixes to indicate the nature of the change:

  • [Bug]: Corrections to existing functionality
  • [CI]: Changes to build process or CI pipeline
  • [Docs]: Updates or additions to documentation
  • [API]: Modifications to aibrix's API or interface
  • [CLI]: Changes or additions to the Command Line Interface
  • [Misc]: For changes not covered above (use sparingly)

Note: For changes spanning multiple categories, use multiple prefixes in order of importance.

Submission Checklist

  • PR title includes appropriate prefix(es)
  • Changes are clearly explained in the PR description
  • New and existing tests pass successfully
  • Code adheres to project style and best practices
  • Documentation updated to reflect changes (if applicable)
  • Thorough testing completed, no regressions introduced

By submitting this PR, you confirm that you've read these guidelines and your changes align with the project's contribution standards.

@zhangjyr zhangjyr requested review from Jeffwan and nwangfw January 24, 2025 02:27
@Jeffwan
Copy link
Collaborator

Jeffwan commented Jan 25, 2025

@nwangfw can you help review this PR?

@Jeffwan Jeffwan added this to the v0.2.0 milestone Jan 27, 2025
Copy link
Collaborator

@Jeffwan Jeffwan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't look into the gpu-optimizer detail logics. Since you already run through this version successfully, I think it should be ok. Leave to @nwangfw for further review on that part.

images:
- name: aibrix/controller-manager
newName: aibrix-container-registry-cn-beijing.cr.volces.com/aibrix/controller-manager
newTag: v0.2.0-rc.1 No newline at end of file
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor: we can use v0.2.0-rc.2 now. few issues fixed.


resources:
- ../../../default
- ../../../gpu-optimizer
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now, it installed single component instead of the default installation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, previously, it installed all + specific debug version. I find it is not convenient to debug more than one components. Now, we just deploy the default, and apply debug components if needed.

@Jeffwan Jeffwan changed the title [Bug] GPU optimizer accumulated fix [enhancement] GPU optimizer accumulated fix Jan 27, 2025
@Jeffwan Jeffwan merged commit 7a7e60a into main Jan 27, 2025
10 checks passed
@Jeffwan Jeffwan deleted the jingyuan/gpu_optimizer branch January 27, 2025 22:04
gangmuk pushed a commit to gangmuk/aibrix-gangmuk that referenced this pull request Jun 21, 2025
* Bug fix

* Fix configuration for domain podautoscaler
Add test case for make url created from metricSource as expected: endpoint should include port, if not and port is specified, port will be append to endpoint.

* Lint fix

* Add license for new files.

* Lint fix on added unit test.

* Add authorization support

* Support parameterized benchmark

* Remove next_in paramter

* Bug fix

* Fix typo

* Bug fix

* Apply stream parameter

* Cleaning up responses.

* Bug fix

* If error not reported as a temporary eror, we will not retry.

* GPU profile now support TPAT (time per all token)
Fix an error in benchmark that may cause error when now all token_latencies might missing some data.

* Debug optimizer

* bird prompt dataset generation

* update benchmark to support prompt dataset loading

* Benchmark now support workload parameter

* Bug fix

* Log control

* Improve stability and lint fix.

* Bug fix

* switch logs for gpu-optimizer to json format

* added BIRD dataset with Aruze timestamp script

* add BIRD brust pattern workload generation

* Visualizer now support workload file

* Print out workload input

* Bug fix

* lint fix

* remove timestamp offset

* Bug fix: call _parse_profiles without parameter out_records will not add up returns.

* Use current ts to load profile may to early, revert to use an interval ago.

* Use the larger of average request rate in window and current request rate to get sufficient resources.

* Tuning up request rate temporarily.

* Bug fix
Fix request rate to 8 temporarily

* Remove fixed rate

* changing load profile back

* Provide compatibility to v3 gateway profiles.

* Adjust development config

* Add config for gateway-plugin development

* delayed scale in deployment added

* Add trace to benchmark

* rollback to old version without delayed scale in

* Disregard pending requests for now.

* Bug fix

* Bug fix

* Adapt to latest profile about pending requests and update unittest.

* Output correct timestamp

* Output pending and total requests from load reader

* Ignore pending for now.

* Add throughput filter.

* bug and lint fix

* Fix a bug that when mat_tputs are 0

* Lint fix

* fix benchmark on count num_requests

* Optimizer now can adopt deployment changes using "kubectl apply"

* Add comments

* bug fix

* Make signature prefer higher index on choose profiles.

* Bug fix, watch ScalingReplicaSet for label changes

* Bug fix

* Change back SLO preference.
Optimize update logic.

---------

Signed-off-by: Jingyuan <[email protected]>
Co-authored-by: Jingyuan Zhang <[email protected]>
Co-authored-by: Ning Wang <[email protected]>
Yaegaki1Erika pushed a commit to Yaegaki1Erika/aibrix that referenced this pull request Jul 23, 2025
* Bug fix

* Fix configuration for domain podautoscaler
Add test case for make url created from metricSource as expected: endpoint should include port, if not and port is specified, port will be append to endpoint.

* Lint fix

* Add license for new files.

* Lint fix on added unit test.

* Add authorization support

* Support parameterized benchmark

* Remove next_in paramter

* Bug fix

* Fix typo

* Bug fix

* Apply stream parameter

* Cleaning up responses.

* Bug fix

* If error not reported as a temporary eror, we will not retry.

* GPU profile now support TPAT (time per all token)
Fix an error in benchmark that may cause error when now all token_latencies might missing some data.

* Debug optimizer

* bird prompt dataset generation

* update benchmark to support prompt dataset loading

* Benchmark now support workload parameter

* Bug fix

* Log control

* Improve stability and lint fix.

* Bug fix

* switch logs for gpu-optimizer to json format

* added BIRD dataset with Aruze timestamp script

* add BIRD brust pattern workload generation

* Visualizer now support workload file

* Print out workload input

* Bug fix

* lint fix

* remove timestamp offset

* Bug fix: call _parse_profiles without parameter out_records will not add up returns.

* Use current ts to load profile may to early, revert to use an interval ago.

* Use the larger of average request rate in window and current request rate to get sufficient resources.

* Tuning up request rate temporarily.

* Bug fix
Fix request rate to 8 temporarily

* Remove fixed rate

* changing load profile back

* Provide compatibility to v3 gateway profiles.

* Adjust development config

* Add config for gateway-plugin development

* delayed scale in deployment added

* Add trace to benchmark

* rollback to old version without delayed scale in

* Disregard pending requests for now.

* Bug fix

* Bug fix

* Adapt to latest profile about pending requests and update unittest.

* Output correct timestamp

* Output pending and total requests from load reader

* Ignore pending for now.

* Add throughput filter.

* bug and lint fix

* Fix a bug that when mat_tputs are 0

* Lint fix

* fix benchmark on count num_requests

* Optimizer now can adopt deployment changes using "kubectl apply"

* Add comments

* bug fix

* Make signature prefer higher index on choose profiles.

* Bug fix, watch ScalingReplicaSet for label changes

* Bug fix

* Change back SLO preference.
Optimize update logic.

---------

Signed-off-by: Jingyuan <[email protected]>
Co-authored-by: Jingyuan Zhang <[email protected]>
Co-authored-by: Ning Wang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

On deployment configuration change, GPU optimizer can not apply the changes as expected.

4 participants