Uploaded image for project: 'SAFe Program'
  1. SAFe Program
  2. SP-381

TM Interface via SDP evolutionary prototype: Processing Block support in DALiuGE

Change Owns to Parent OfsSet start and due date...
    XporterXMLWordPrintable

Details

    • Data Processing
    • Hide

      Informs architecture and verifies design.

      Show
      Informs architecture and verifies design.
    • Hide
      • Build understanding of the architecture. Maybe plan a spike for some Q&A to make sure we have a shared understanding of how this is supposed to work?
      • Once ORCA-26 and ORCA-73 are progressed far enough (likely next sprint at the earliest) it should be possible to put a rough first version of a workflow together (containerised DALiuGE, workflow script, JSON template for workflow parameters)
      Show
      Build understanding of the architecture. Maybe plan a spike for some Q&A to make sure we have a shared understanding of how this is supposed to work? Once ORCA-26 and ORCA-73 are progressed far enough (likely next sprint at the earliest) it should be possible to put a rough first version of a workflow together (containerised DALiuGE, workflow script, JSON template for workflow parameters)
    • Team_YANDA
    • Sprint 3
    • Hide

      Outcomes related to acceptance criteria:

      • The first point in the acceptance criteria ("Build understanding of the architecture") has been achieved mainly through the reading of the old SIP code, but also through the discussions with Peter, and reading the architecture documents pointed to by him in this ticket.
      • The second point ("... put a rought first version of a workflow together") has also been delivered, and actually demonstrated during https://confluence.skatelescope.org/display/SE/2019-08-08+System+Demo+%233. The link contains the demo agenda, where a full recording of the demo can be found, alongside with the couple of slides that were shown during this presentation.
      • The integration was done by providing a different Processing Block Controller implementation (available at https://github.com/ska-telescope/daliuge-pbc), but we know this is not going to be exactly how different execution frameworks will be plugged into the rest of the SDP prototype in the future; instead, this logic will most likely be split between the "Workflow Control Libraries" and "Execution Framework Interface" components of the architecture.
      • A patch was sent to the SIP codebase to have the celery infrastructure working with non-SIP code (PR here: https://github.com/SKA-ScienceDataProcessor/integration-prototype/pull/103). The patch was accepted as it might be useful in the SDP prototype code, even though the two code bases don't share code.

      Not tackled (future work, capturing in SP-469):

      • Acquiring of resources. This was done via docker compose/swarm; this should be taken care of by the "Control & Configuration Scripts" and "Processing Block Controller" components in the architecture.
      • Pipeline/workflow/PB parameters were not tested. The artificial Processing Blocks didn't contain any, and our dummy pipeline didn't require any either. However, in principle DALiuGE supports this already. This point was also dropped from the acceptance criteria early during the process, and therefore does not harm the value of this feature.
      • Adding more interesting pipeline logic (e.g., SPEAD reception of visibilities + MS writing).

      Others:

      • The Processing Block states seemed to be free strings, at least on the SIP code. Is this still the same in the SDP prototype?
      Show
      Outcomes related to acceptance criteria: The first point in the acceptance criteria ("Build understanding of the architecture") has been achieved mainly through the reading of the old SIP code, but also through the discussions with Peter, and reading the architecture documents pointed to by him in this ticket. The second point ("... put a rought first version of a workflow together") has also been delivered, and actually demonstrated during https://confluence.skatelescope.org/display/SE/2019-08-08+System+Demo+%233 . The link contains the demo agenda, where a full recording of the demo can be found, alongside with the couple of slides that were shown during this presentation. The integration was done by providing a different Processing Block Controller implementation (available at https://github.com/ska-telescope/daliuge-pbc ), but we know this is not going to be exactly how different execution frameworks will be plugged into the rest of the SDP prototype in the future; instead, this logic will most likely be split between the "Workflow Control Libraries" and "Execution Framework Interface" components of the architecture. A patch was sent to the SIP codebase to have the celery infrastructure working with non-SIP code (PR here: https://github.com/SKA-ScienceDataProcessor/integration-prototype/pull/103 ). The patch was accepted as it might be useful in the SDP prototype code, even though the two code bases don't share code. Not tackled (future work, capturing in SP-469 ): Acquiring of resources. This was done via docker compose/swarm; this should be taken care of by the "Control & Configuration Scripts" and "Processing Block Controller" components in the architecture. Pipeline/workflow/PB parameters were not tested. The artificial Processing Blocks didn't contain any, and our dummy pipeline didn't require any either. However, in principle DALiuGE supports this already. This point was also dropped from the acceptance criteria early during the process, and therefore does not harm the value of this feature. Adding more interesting pipeline logic (e.g., SPEAD reception of visibilities + MS writing). Others: The Processing Block states seemed to be free strings, at least on the SIP code. Is this still the same in the SDP prototype?
    • 3.5
    • PI24 - UNCOVERED

    Description

      The purpose of this feature is to have a first version of an interface between the SDP evolutionary prototype and the DALiuGE execution framework. This interface includes the execution of one or many Processing Blocks, and potentially the management of their state transitions.

      DALiuGE deals with Logical and Physical graphs only, and has no concept of a Processing Block as defined by the SKA. However, most conceptual components seem to be there for this interface to be provided:

      • An SKA Processing Block describes the execution of a workflow with a given set of parameters.
      • On the other hand DALiuGE executes Physical Graphs, which in turn (optionally, but not necessarily) are produced by translating a Logical Graph.
      • These Logical Graphs have parameters that can be changed before translation.
      • Thus, executing a PB can be roughly translated to the execution of a given Logical Graph with the given parameter set.
      • DALiuGE knows when an execution has started, and can monitor when it has finished. These events can be interpreted as state changes of the PB under execution, so the appropriate action can take place to ensure the state transition (e.g., publish an event signaling the state change).
      • DALiuGE already supports concurrent graph executions in the form of isolated "sessions", and thus execution of more than one PB at a time should be possible if needed.

      Our SUMMIT demo software stack already has all the pieces necessary to demonstrate this interface at the end of the day as a system demo, allowing us to concentrate on the really new parts of the system that need to be developed.

      Links:

      Attachments

        Issue Links

          Structure

            Activity

              People

                p.wortmann Wortmann, Peter
                m.dolensky Dolensky, Markus [X] (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Feature Progress

                  Story Point Burn-up: (100.00%)

                  Feature Estimate: 0.0

                  IssuesStory Points
                  To Do00.0
                  In Progress   00.0
                  Complete713.0
                  Total713.0

                  Dates

                    Created:
                    Updated:
                    Resolved:

                    Structure Helper Panel