mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksei Udatšnõi <a.udac...@gmail.com>
Subject Re: Multi-user PlusAnonymousUserDataModel
Date Thu, 02 Feb 2012 10:51:03 GMT
Hi Sean,

The goal is to produce anonymous "cold start" user-based
recommendations in an environment of 100-200 concurrent users.

It may work in a synchronized way as is with only one fixed
TEMP_USER_ID. However while one anonymous user insert its temp data
into the model, other threads have to wait until the TEMP_USER_ID is
released.

With high volume of concurrent users, it may become a serious
bottleneck. So I would like to improve the throughout.

If you find it is not a useful feature for core, I can implement it in
my custom recommender.

Thanks!



On Thu, Feb 2, 2012 at 11:21 AM, Sean Owen <srowen@gmail.com> wrote:
> Why does this make it useful in a multi-user environment? you can already
> use it just fine, with synchronization.
> I am wary of making this hacky wrapper more complex.
>
> 2012/2/2 Aleksei Udatšnõi <a.udachny@gmail.com>
>
>> Hello,
>>
>> I would like to make a change to PlusAnonymousUserDataModel. Currently
>> the ID of the anonymous user is fixed to Long.MIN_VALUE. Only one set
>> of temp data can be inserted into the model and used at one time.
>>
>> I propose the change to enable multiple users to insert into this
>> model concurrently in a thread-safe manner.
>>
>> The idea is to define a pool of available anonymous user IDs. Every
>> time a new anonymous user makes a request, the next available
>> TEMP_USER_ID is pulled from the queue. After recommendations are
>> retrieved, the TEMP_USER_ID can be returned to the pool.
>>
>> As the result this model will become usable in a production multi-user
>> environment.
>>
>> Waiting for your feedback,
>> Aleksei
>>

Mime
View raw message