Closed huard closed 3 years ago
In the OGC testbeds, that would be the equivalent of Twitcher deploying to a specific "ADES" - Application Deployment and Execution Service. We have that at experimental level, so probably demonstrable to CANARIE. Operationalization could only be done in PAVICS-Hydro second phase though.
Good enough.
@dbyrns Looking at the slim description and issue title here, do your feel the same? It's the same EMS - ADES concept. Of course, deployment to Calcul Canada would have to be done in the upcoming year, in the project's maintenance phase. As @lalondma told us, CC are a bit behind the curve anyway.
Well an EMS selecting an ADES to move the processing where the data is located is not really the same as allowing a user to choose where he want to execute a process (based on speed/cost ratio I guess) and on different type of architecture i.e we cannot presume that CC and PAVICS will ever have the same interface (as for ADESes).
Indeed the concept is the same, but I highly doubt that the implementation will help us here.
The general idea here is to give users some choices. I think an easy way to do this is to simply add CRIM instances of Raven to the list of servers federated through Magpie. Now in itself that is not so useful unless the user has some feedback on the load of each server and the proximity of the data.
What I'd like to be able to offer to users is a flat list of "abstract processes" available somewhere in the federation. When the user selects the process and fills in the inputs, a default server is picked based on server load and proximity to data. The interface would allow the user to explicitly override that default choice. I could imagine a Launch button with an optional drop-down menu offering "Launch on A / Launch on B" with icons showing the server load and estimated data transfer time.
That was my understanding and it's completely unrelated to the OGC work. Here are the challenges I foresee :
describeProcess
requests and use that to rank servers ? Birdy could launch that in the background every 2-3 minutes and adjust the ranking. We are working on a new bird based on the EMS (Execution Management Service) developed in OGC's Testbed14. The main features was a REST interface, dynamic docker application deployment, CWL workflows, monitoring and results retrieval. As an extension of the testbed we are now trying to encapsulate existing WPS 1.0 (and ESGF CWT API) provider processes as EMS applications. This will allow us to offer them as processes in a single list (processes of the EMS) [Point 1]. Birdy could be updated to support also the new REST interface following the next gen OGC WPS-T 2.0 standard [Point 3]. And PAVICS will use it as soon as we can work on it [Also point 3]. As a nice to have, the EMS could implement a logic to determine the best suited process provider when running a job [Point 2].
So as you can see we now have a funded project to make that happens!
This issue is currently assigned to @lalondma because he has been working on launching Docker containers on ComputeCanada. If we need to take a step back in Architecture before going forward, that's fine but we need to show something late April, early May.
The discussion has indeed run over this issue topic. Offering Calcul Canada as typical WPS is still the main issue. The EMS will help the client to choose transparently between the Cloud version of PAVICS and CC only if CC can be exposed in the same manner.
Original: Create user interface allowing user to set-up preferences for where a process will be run (in-house or computecanada). Updated: Modify Birdy to support multiple servers and select the one with the fastest response time by default. Let user specify preference.