Skip to content
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

Benchmark Generator Refactoring #655

Merged
merged 10 commits into from
Feb 14, 2025
Merged

Conversation

happyandslow
Copy link
Collaborator

Partially adopted from the experiment branch and @gangmuk implementation of synthetic load distribution (e9c996b)

@Jeffwan Jeffwan changed the title Generator/Client Refactoring Benchmark Generator/Client Refactoring Feb 12, 2025
@Jeffwan Jeffwan requested a review from gangmuk February 12, 2025 23:01
@gangmuk
Copy link
Collaborator

gangmuk commented Feb 12, 2025

Should we include README about how to use with the updated version? @happyandslow

@gangmuk
Copy link
Collaborator

gangmuk commented Feb 12, 2025

Also, generator.py has dependency with sample_request.py which this PR does not have. Does this still work without the updated sample_request.py?
In sample_request.py, I added Request class, check if the parsed sharegpt exists so that it does not need to parse everytime (it took more than 60 seconds. you can check how long it takes if that is important for generator. I am not sure).

there was also plot-output.py that plots the generated trace with RPS, token lengths distribution over time. It can be included if it is going to be useful.

@happyandslow happyandslow changed the title Benchmark Generator/Client Refactoring [WIP] Benchmark Generator/Client Refactoring Feb 12, 2025
@happyandslow happyandslow changed the title [WIP] Benchmark Generator/Client Refactoring [WIP] Benchmark Generator Refactoring Feb 13, 2025
@happyandslow
Copy link
Collaborator Author

Should we include README about how to use with the updated version? @happyandslow

Done

Also, generator.py has dependency with sample_request.py which this PR does not have. Does this still work without the updated sample_request.py? In sample_request.py, I added Request class, check if the parsed sharegpt exists so that it does not need to parse everytime (it took more than 60 seconds. you can check how long it takes if that is important for generator. I am not sure).

I moved the data-loading part to the calling function so it should only be done once.

there was also plot-output.py that plots the generated trace with RPS, token lengths distribution over time. It can be included if it is going to be useful.

Let's just use one plotting function so all plots are globally interpretable. I moved some of your implementation to the current plotting script.

@happyandslow happyandslow changed the title [WIP] Benchmark Generator Refactoring Benchmark Generator Refactoring Feb 13, 2025
@Jeffwan Jeffwan merged commit ffface8 into main Feb 14, 2025
2 checks passed
@Jeffwan Jeffwan deleted the lexu/generator-client-refactor branch February 14, 2025 00:02
varungup90 pushed a commit that referenced this pull request Feb 20, 2025
* adding smoothed requests pattern

* refactor synthetic generation to generate synthetic request size patterns

* update README

* clean up

* patterns specific tag for synthetic load

* add constant workload

* add manually configured pattern for synthetic workload

* clean up

* update

* clean up

---------

Co-authored-by: Le Xu <le.xu@bytedance.com>
Signed-off-by: Varun Gupta <varungup90@gmail.com>
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.

3 participants