I'm working on an application for doing geospatial analysis using clusters on Amazon EC2. The idea is to have a persistent service running on AWS, where one node is responsible for receiving parameters from a desktop application in order to do parallel processing in an MPI environment on AWS, and then send back the result to the desktop application.
My program is written completely in C++ and communicates client to server via a TCP socket, where the embedded client and server are built using BOOST ASIO. My problem is that i can't seem to get my server running and use MPI at the same time to do distributed computing, only one node at a time works, and i think i might have the wrong approach to creating the web service in this case.
The demands on my applications is that i have to be able to send data sets of sizes up to a few MB from the server to the client, consisting of C++ objects stored in a nested std::vector. And that the server side constantly will be listening from request from the client side.
To clarify the workflow: Desktop applications sends a request to the cloud service -> request is received and the request is processed in a cluster on AWS -> the result is gathered at the master node and sent back to the desktop application \ client. Any input on how i could get cloud service running using MPI and satisfy the demands above would be greatly appreciated.
Note: the infrastructure for parallel processing as well as the desktop applications are all finished, it's creating a service with this that's been problematic for me.
Aucun commentaire:
Enregistrer un commentaire