Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

Map/Reduce is great concept for sorting lots of data at once. What to do if you have small parts of data and you need to reduce it all the time?

Simple example - choosing a service for request.

Imagine we have 10 services. Each provides services host with sets of request headers and post/get arguments. Each service declares it has 30 unique keys - 10 per set.

service A:
name
id
...

Now imagine we have a distributed services host. We have 200 machines with 10 services on each. Each service has 30 unique keys in their sets. But now to find to which service to map the incoming request we make our services post unique values that map to that sets. We can have up to or more than 10 000 such values sets on each machine per each service.

service A machine 1
name = Sam
id = 13245
...
service A machine 1
name = Ben
id = 33232
...
...
service A machine 100
name = Ron
id = 777888
...

So we get 200 * 10 * 30 * 30 * 10 000 == 18 000 000 000 and we get 500 requests per second on our gateway each containing 45 items 15 of which are just noise. And our task is to find a service for request (at least a machine it is running on).

On all machines all over cluster for same services we have same rules.

We can first select to which service came our request via rules filter 10 * 30. and we will have 200 * 30 * 10 000 == 60 000 000.

So... 60 mil is definitely a problem... I hope to get on idea of mapping 30 * 10 000 onto some artificial neural network like Perceptron that outputs 1 if 30 words (some hashes from words) from the request are correct or if less than Perceptron should return 0. And I’ll send each such Perceptron for each service from each machine to gateway. So I would have a map Perceptron <-> machine for each service.

Can any one tall me if my Perceptron idea is at least “sane”? Or normal people do it some other way? Or if there are better ANNs for such purposes?

share|improve this question

1 Answer

A basic rule of thumb for when to neural networks is, if you (as a human) can see what the right answer is quickly, but coding the rules for how you see that is hard, then it might be a good candidate for a neural network. I don't claim to follow all of your use case above, but it doesn't off hand seem like something that a human could look at and easily see the right answer.

Neural networks are good at balancing a lot of different inputs, assigning some relevant weight to each of them. This is often what a human does when making a decision. It's not what normal computer logic is good at, since conventional logic is looking at one or two values at any given point in the code.

So, my take on it is I don't think it's an ideal use for a neural network, unless I am misunderstanding your use case (which is possible).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.