Code Refactoring: Redesign Project
Closed this issue · 1 comments
suhailrehman commented
RELIC badly needs a code redesign. Ideally should be completed after #4, and is required before we write APIs for the demo.
Some Ideas / Wishlist:
- Object-Oriented Design based on Ousterhout's Principles
- Serialize Algorithm's State and Resume
- Separate Profiling and Score Computation steps from Graph-Building
- Just the appropriate data structure to store ranked order of edges and coalesce when components are joined
- Robust tie-breaking mechanism descriptor and implementation
- Load dataframes on-demand to improve memory
- Robust logging with trace and debug logging to file
- Design should allow for quick API hooks into future RELIC webserver
- Allow easy implementation of sampling/estimation hooks for the future.
- Allow for threaded operation for compute-intesive tasks such as distance calculation. Examine JIT and threaded operation to verify actual threading via HTOP
suhailrehman commented
Primary issues are resolved and closed. Tracking other issues via Trello