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

Share vertex map with the workers on the same host using shared memory #4

Open
wenyuanyu opened this issue Jul 22, 2020 · 3 comments
Open
Labels
enhancement New feature or request

Comments

@wenyuanyu
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
When multiple worker processes are started on the same host (e.g., for auto workers), global vertex maps of fragments will be created multiple times

Describe the solution you'd like
Global vertex maps can be placed in shared memory, and getting share across workers on the same host to save the unnecessary memory overhead

Describe alternatives you've considered
To support multiple concurrent workers for each process?

@wenyuanyu wenyuanyu added the enhancement New feature or request label Jul 22, 2020
@tomzhang
Copy link

maybe we can using concurrent queue, each worker should be binding with its "workingID" and work in the producer-consumer way to separate with each others thread.

@tomzhang
Copy link

and this project much more like an "demo" rather than a real project which already working in production environment.

@wenyuanyu
Copy link
Collaborator Author

@tomzhang
Thanks very much for the comments!

maybe we can using concurrent queue, each worker should be binding with its "workingID" and work in the producer-consumer way to separate with each others thread.

This issue is specifically about "auto" version of apps, where we hide the multithread programming from programmers.
For other types of apps, there will be a ParallelEngine provided for parallelization that could maximize the utilization of local cores, therefore there is no need for starting multiple MPI workers on the same host.

and this project much more like an "demo" rather than a real project which already working in production environment.

Actually, there are many applications in production at Alibaba built upon this library :)
You are welcome to try this library yourself. Any feedback or suggestions are GREATLY appreciated!

Thanks!

acezen pushed a commit to acezen/libgrape-lite that referenced this issue Oct 16, 2020
* add vertex data ctx

* update

* app extends vertex data context

* revert

* bugfix

* fix

* fix

* add finalize method to save result

* disable asan

* add context_type method

* change type

* add get data method

* cleanup

* cleanup

* optimizations

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* expose ctx data type

* move set_fragment to Init

* remove ctx_data_t

* Revert "remove ctx_data_t"

This reverts commit 70280df.

* cleanup

* add dummy data_t

* add dummy data_t

* cleanup

* fix

* refactoring ctx

* fix

* fix

* refine

* refine

* refine

* refactor all

* fix

* fix

* fix

* fix

* make changes according the review

* change return type of context_type

* cleanup

Co-authored-by: guanyi.gl <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants