-2

I'm trying to develop a robot that will work in the cloud, basically it will buy and sell crypto-coins according to the strategies defined by the users, but I still can not think of a solution to solve the problem of scalability / slowness.

Let's use a simple example, say we have 100 people using the robot and each robot has created 10 orders, this will give a total of 1000 orders for the robot to analyze and then finalize.

I thought about putting these 1000 orders in a loop and the robot is analyzing one by one, it happens that this process will take a long time, what do you suggest? Is there any way for the robot to parse the 1000 orders in parallel?

Another thing I had thought of is renting a server for each client and each server will get their robot hosted, but I think it would cost a lot of money, what do I do?

closed as off-topic by MCCCS, Pieter Wuille, 0xb10c, RedGrittyBrick, arubi Dec 27 '18 at 22:19

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions on current or future market values, energy costs or service provider availability are off-topic as the answers are changing too frequently to be useful to others." – Pieter Wuille, 0xb10c
If this question can be reworded to fit the rules in the help center, please edit the question.

  • I made a mistake, I'll correct it, thank you. – Josefa Alves Dec 26 '18 at 17:59
  • 1
    I'm voting to close this question as off-topic because it is essentially a programming question about concurrency. – RedGrittyBrick Dec 27 '18 at 18:21
0

Based just on the text, the question you're asking is a programming one, so i'll provide a programming answer. This will be heavily from a .NET perspective since no other technology requirements were stated in the question.

Assuming you don't rely on the results of a previously processed one, then you could simply task out each of the assessments. I'm more of a .NET programmer and this wouldn't be hard to accomplish in C# but i'm not sure what language you're writing in.

In addition there are considerations to take into account like how much processing you're doing, the resources available etc. The heavier the processing for each, the more you are attempting to parallel process and the lighter your hardware the slower it's going to be.

The only way to know for sure is picking a language to work with, making sure it can parallel process tasks, then working on setting up your "parse" code. Test with 1.. test with 10.. test with 1000. See what results you are getting with whatever hardware. Then move to testing it on a cloud setup. If it takes 5 seconds on your machine, and 5 hours on the cloud rig, then try beefing up the cloud rig to speed it up.

As you're increasing the resources assigned to handle the processing, you'll get an idea of the cost to run your proposed system. Adjust volume processed, adjust code, etc. You'll have to make decisions about volume, cost of hardware resources, etc to get your desired result.

What it SOUNDS like is that it'll be fine. Doesn't seem overly complex or data intensive.

Note: I'm not making any assessment on intent, viability of the idea, or legality that may or may not surround this issue. The question is about processing, as is the answer.

  • Sorry for not talking about the language, I really wanted to learn about the concept and your response was very helpful, thank you very much! – Josefa Alves Dec 26 '18 at 22:19

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