1 / 51

Architecture of GAT

Architecture of GAT. Kelly Davis and Tom Goodale. kdavis@aei.mpg.de and goodale@aei.mpg.de. AEI-MPG. Outline. Introduction GAT API GAT API: File Management Use Case, Class, and Sequence Diagrams GAT API: Collection Management Use Case, Class, and Sequence Diagrams

erelah
Download Presentation

Architecture of GAT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture of GAT Kelly Davis and Tom Goodale kdavis@aei.mpg.de and goodale@aei.mpg.de AEI-MPG

  2. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  3. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  4. Introduction GAT Architecture: The GAT framework software architecture is a layered architecture, so as to allow for a loose coupling of various software components. In particular the GAT framework software architecture consists of four software layers, e.g. four logical groupings of software components:

  5. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  6. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  7. GAT API: File Management Goals: • Easy to use API • Transparent data security • Easy data migration • Easy data discovery • Easy data location • Easy data archiving • Easy data replication • Easy integration of old data • Future proof API

  8. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  9. File Management: Use Case Diagram • Data Migration • Data Archiving • Data Replication • Data Recombination • Data Annotation • Data Location • Data Discovery • Data Security

  10. File Management: Class Diagram • Collection • Hashtable • Iterator • File • Location • String • List

  11. File Management: Sequence Diagram Data Migration: Move a physical file from a location, specified by a Location instance, to a second location, again specified by a Location instance.

  12. File Management: Sequence Diagram Data Annotation: Annotate a File instance with a meta-data, specified by an instance of a Hashtable.

  13. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  14. GAT API: Collection Management Goals • Easy to use API • Transparent security • Easy Collection Annotation • Flexible Collection Annotation • Easy Collection Discovery • Flexible Collection Discovery • Future proof API

  15. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  16. Collection Management: Use Case Diagram • Data Annotation • Data Discovery • Collection Annotation • Collection Discovery • Collection Manipulation • Collection Security

  17. Collection Management: Class Diagram • Collection • Hashtable • Iterator

  18. Collection Management: Sequence Diagram Data Discovery: Discover a File instance with an equivalent set of meta-data properties.

  19. Collection Management: Sequence Diagram Collection Manipulation: Manipulate a Collection instance by adding or removing elements.

  20. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  21. GAT API: Resource Management Goals • Easy to use API • Transparent security • Maintain resource security • Finding resources easy • Reserving resources easy • Flexible resource description • Future-proof resource description

  22. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  23. Resource Management: Use Case • Find resource • Reserve resource • Resource security

  24. Resource Management: Class • ResourceBroker • Reservation • TimePeriod • HardwareResourceDescription • SoftwareResourceDescription • List • Hashtable

  25. Resource Management: Sequence Find/Reserve Resource: Find and reserve a hardware resource, as represented by a HardwareResourceDescription instance.

  26. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  27. GAT-API Peer-to-Peer Goals: • Easy to use API • Transparent security • Language independent • Low level, but useable • Usable by Single-Threaded Apps • Usable by Multi-Threaded Apps • Future Proof

  28. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  29. Peer-to-Peer: Use Case • Inter-Process Messaging • Inter-Thread Messaging • Asynchronous Messaging • Synchronous Messaging • Client Discovery • Server Discovery • Peer Discovery

  30. Peer-to-Peer: Class • Streamable • Buffer • Stream • FileStream

  31. Peer-to-Peer: Sequence Synchronous Messaging: Synchronously send a message, a Buffer full of data, down a Stream.

  32. Peer-to-Peer: Sequence Peer Discovery: Discover a “peer,” a Stream with associated properties placed in a Collection.

  33. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  34. GAT API: Job Management Goals: • Easy to use API • Transparent security • Maintain job security • Easy job submission • Easy job checkpointing • Easy job migration • Easy job state query • Flexible job description • Future proof job description • Future proof API

  35. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  36. Job Management: Use Case • Job Submission • Job Stop • Job Checkpoint • Job Migration • Job State Query • Job Info Query • Job Security

  37. Job Management: Class • SimpleJob • CheckpointableSimpleJob • SoftwareResourceDescription • HardwareResourceDescription • List • Hashtable

  38. Job Management: Sequence Job Submission: Submit a job to a resource, specified by an instance of a HardwareResourceDescription

  39. Job Management: Sequence Job Migration: Migrate a running job from a resource to a second resource, each, specified by an instance of a HardwareResourceDescription

  40. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  41. GAT API: Monitoring Goals: • Easy to use API • Transparent security • Monitor hardware resources • Monitor jobs • Monitor local metrics • Monitor grid metrics • Future proof API

  42. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  43. Monitoring: Use Case • Monitor hardware resource • Monitor job • Monitor local metric • Monitor grid metric • Resource security

  44. Monitoring: Class • Monitorable • MetricListener • Metric • MetricEvent • Hashtable • String

  45. Monitoring: Sequence Monitor: Monitor a any resource.

  46. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  47. GAT Library GAT Library: A set of components which allow a GAT application to utilize functionality provided by GAT.

  48. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

  49. GAT Library: Deployment

  50. Outline • Introduction • GAT API • GAT API: File Management • Use Case, Class, and Sequence Diagrams • GAT API: Collection Management • Use Case, Class, and Sequence Diagrams • GAT API: Resource Management • Use Case, Class, and Sequence Diagrams • GAT API: Peer-to-Peer Interaction • Use Case, Class, and Sequence Diagrams • GAT API: Job Management • Use Case, Class, and Sequence Diagrams • GAT API: Monitoring • Use Case, Class, and Sequence Diagrams • GAT Library • Deployment Diagram • GAT Adaptors

More Related