Description
Let me explain the usecase here.
From Airavata 0.8 onwards, I'm planning to give the Airavata user the flexibility in selecting (optional) a scheduling algorithm when running EC2 workflows. The current trunk has the greedy algorithm and I will be adding a round robin algorithm for the 0.8 release.
One value added extension-point would be to let a user (who is not familiar with our codebase) to implement his/her scheduling algorithm (by implementing a set of interfaces). Currently we have these interfaces which the user can use to implement his/her own alogrithm. Then, the Airavata eco-system should support, letting the user drop his/her custom algorithm implementation jar to the Airavata server and select it at runtime. This is something similar to the extension-points that we had at Synapse [1]. If we support this, the user would not have to mess around with the our codebase and they can do their scheduling algorithm implementations independently.