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

abstractions for input and model (preparing for distributed impl.) #21

Merged
merged 8 commits into from
Jan 28, 2016

Conversation

tanmaykm
Copy link
Collaborator

In preparation for implementing distributed memory computation, I have created abstractions for Inputs and Model types.

The current shared memory and thread computation use SharedMemoryInputs and SharedMemoryModel as their respective concrete implementations. Under the hood, the shared memory implementation uses SparseMatrixCSC and Matrix as before. Distributed memory computation would replace them with something else appropriate.

I find no performance regressions with the abstractions in place, and these would be useful for trying out different computation models. It would be good to merge this separately. Will follow this up with another PR for a distributed memory implementation.

Helps remove unnecessary bloat from model file.
Also required in distributed memory mode, where input data will be too large.
Inputs can be loaded back when used after restore.
- clear input and model of unnecessary data before save
    - results in smaller saved model
    - but requires input files to be read while using model
- localize shared memory entities before save, as they can not be deserialized
@tanmaykm tanmaykm force-pushed the distributed branch 2 times, most recently from aa215e2 to e9d10a5 Compare January 23, 2016 06:42
@tanmaykm
Copy link
Collaborator Author

travis build passes now

@ViralBShah
Copy link
Contributor

@andreasnoack FYI. This is another large-scale parallel problem that we are attempting with the yahoo dataset.

Makes things more efficient.
Also essential in larger distributed memory conditions where such mappings must be avoided.
- modernize travis.yml
- disable Logging
- provide empty `@threads` macro on Julia v0.4
check for null case before sharing
@tanmaykm
Copy link
Collaborator Author

@abhijithch bump

tanmaykm added a commit that referenced this pull request Jan 28, 2016
abstractions for input and model (preparing for distributed impl.)
@tanmaykm tanmaykm merged commit 50f3f5f into abhijithch:master Jan 28, 2016
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.

2 participants