[ 
https://issues.apache.org/jira/browse/MAHOUT-1286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13736962#comment-13736962
 ] 

Peng Cheng edited comment on MAHOUT-1286 at 8/12/13 4:54 PM:
-------------------------------------------------------------

The idea of ArrayMap has been discarded due to its impractical time consumption 
of insertion (O( n ) for a batch insertion) and query (O(logn)). I have moved 
back to HashMap. Due to the same reason, I feel that using Sparse Row/Column 
matrix may have the same problem.
                
      was (Author: peng):
    The idea of ArrayMap has been discarded due to its impractical time 
consumption of insertion (O(n) for a batch insertion) and query (O(logn)). I 
have moved back to HashMap. Due to the same reason, I feel that using Sparse 
Row/Column matrix may have the same problem.
                  
> Memory-efficient DataModel, supporting fast online updates and element-wise 
> iteration
> -------------------------------------------------------------------------------------
>
>                 Key: MAHOUT-1286
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1286
>             Project: Mahout
>          Issue Type: Improvement
>          Components: Collaborative Filtering
>    Affects Versions: 0.9
>            Reporter: Peng Cheng
>            Assignee: Sean Owen
>              Labels: collaborative-filtering, datamodel, patch, recommender
>             Fix For: 0.9
>
>         Attachments: InMemoryDataModel.java, InMemoryDataModelTest.java
>
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> Most DataModel implementation in current CF component use hash map to enable 
> fast 2d indexing and update. This is not memory-efficient for big data set. 
> e.g. Netflix prize dataset takes 11G heap space as a FileDataModel.
> Improved implementation of DataModel should use more compact data structure 
> (like arrays), this can trade a little of time complexity in 2d indexing for 
> vast improvement in memory efficiency. In addition, any online recommender or 
> online-to-batch converted recommender will not be affected by this in 
> training process.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to