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

User interface for model update logic #46

Open
TatianaJin opened this issue Jan 22, 2018 · 0 comments
Open

User interface for model update logic #46

TatianaJin opened this issue Jan 22, 2018 · 0 comments
Assignees

Comments

@TatianaJin
Copy link
Collaborator

TatianaJin commented Jan 22, 2018

Currently we have only additive update operation (in both VectorStorage and MapStorage). A user interface is needed to customize the update operation. Also, some operations may need to be executed after finishing each iteration.

Below are some examples:

  1. Customizable update: For regularization, since the update is dense, it is better carried out on the server side. Thus for each Add or Clock request, the servers need to regularize the model partition.
  2. Operations after finishing iteration: Algorithms like K-Means and SVRG (in the synchronized execution) need to reset the table after each iteration.

For now we may subclass VectorStorage or MapStorage with a new SubAdd logic and register new constants in the engine for creating tables with the new storage type. Similar things could apply for new model type with a different Clock logic. However, this needs quite some tedious work every time a new storage or model type is needed. We should have an extensible interface for creating tables in the engine.

About "tedious work": users need to understand the low level system details (Engine::CreateTable and KVEngine::CreateTable), and modify system codes accordingly.

@TatianaJin TatianaJin self-assigned this Jan 22, 2018
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

No branches or pull requests

1 participant