Distributed Kepler Use Cases and Requirements
STATUS:
This page is out of date and is currently being updated to reflect new goals and requirements. What follows are older notes collcted from other locations.
Overview
Goals and requirements as well as possible methods and evaluation criteria for a distributed Kepler system.
Goals and Requirements
GOAL: Users can log into Kepler Grid and the System
- Certification?
- Role-based access
GOAL: Users can configure Kepler Grid access and execution parameters
- The portions of workflows should be inherently parallel.
- The workflows should be able to execute on different processors on the same system or on different nodes in a distributed network.
- The system needs to minimize the configuration efforts by the user, or even
hide the technical details from the user to the maximum extend that is possible.
---The user should also have the freedom to see and update the hidden technical details if wanted. - The system needs to have the ability to pass .ksw files using references on the remote end.
- The system should allow usage of ad-hoc user communities.
- The system should be able to discover a list of available nodes.
- The user should be given the option to set up:
- Number of nodes to distribute the execution
- The users/groups/roles to share this execution
- ...
GOAL: Kepler will have the ability to do failure recovery
GOAL: Users can be able to detach from the workflow and then connect again
Assesment of Possible Methods
The 4 methods we've proposed to have are:- Nimrod/APST style grid jobs
- Distributed kepler in 3 stages
- separate client/server sides of kepler to allow remote execution on multiple server nodes, no user interaction with server side
- Add interaction where two directors know about each other and can send messages (GUI output plus user interaction)
- Add kepler as a remote deployment system, any kepler node is a client server system that allows others to submit jobs to it with access control
Evaluation Criteria:
Other than looking for the satisfaction of the above requirements, we have evaluated the mentioned 4 approaches using the following criteria:
- Be independent of a specific Grid/Distributed Technology (this might be too much/too hard)
- Allow parallel/concurrent processing
- Effort to implement
- Allow a range of computing power/capability
- Easily configurable without an IT expert
- Link computers with different computational capabilities and owners easily together