I need to put the software on the IBM x3200 M3 server (I don’t know exactly) and 20 computers with AMD Phenom II x6 3200GHz for educational and research work in the field of mathematics. We consider different solutions. One of the tasks: let's say you need to solve a computationally complex task, at such times you want all 10-20 client computers to help a single server in calculations.
Question:
Is Ubuntu Cloud suitable for this task?
Could you specify:
Is it possible (and how, if possible) to set up such packages as a matlab for collaboration in the cloud? What tasks are being solved now in systems of this kind? What applications can I run at all? How does the process work in cloud systems? Everyone talks about cloud computing, they write manuals on how to deploy their cloud, but it’s very hard to find out what to do with it then? Still heard, many wonder if it is possible to put virtual Windows for users on top of the cloud. Can? And what will come of it?

UPD: At the moment, it is planned to put Linux + Windows client machines in parallel. There is such a library - MPI. It exists for both OS families. Hence a couple more questions on the topic: Is it normal to work if some of the machines in the cluster are on Windows, and some on Linux? Again, what tasks can be distributed using this library? In general, what is possible is written here: mpich-discuss .

Some accumulated links about the cloud: How to create a cloud server using Ubuntu Enterprise Cloud ; and more: ubuntu-it .

UDP2: I looked through it for the first time, and now I found a question on this resource on the same topic. There is one answer. It is good, but I would like to know more specifically about the software and the rest of the questions I have covered here.

    2 answers 2

    As far as I understand, Ubuntu Cloud uses the usual OpenStack , so if you figure out any information on it will do. Alternatively, you can pay attention to AWS, Google Engine and MS Azure. All of them have a test period, which should be enough to understand what you need.

    And yes, indeed, in order to use cloud computing resources, you need to write / use code that is written in a special way, which will allow it to scale horizontally well. One of the most famous patterns of development of such algorithms: Map and Reduce .

      I do not rummage in the clouds for the time being, but what you are trying to do is a high-performance cluster (perhaps the cloud is something similar).

      Here you can find information about clusters.

      He himself dug some time in this direction. I wanted to find something for rendering and maybe virtualization. While there was no time to do this, so I will follow the topic.

      • Thanks for the answer, to be honest, I don’t really understand the difference between a cluster and a cloud :) In general, I read the theory as a whole and I understand what these clusters are all about. I do not understand what specific tasks I can solve with them. And what will it look like? Suppose I installed a matlab on a whole cluster - what does this mean for a user? As I understand it, it will look as if the cluster is one machine and the application is running on it. Well, there must be some kind of thin client for the cluster - then how does it look? And it was also great to have a list of examples of usage somewhere. - artem
      • As far as I remember, there is either a client to the software or access via the terminal to the cluster controller. - Sergey