[saga-rg] issue list for todays call...

Andre Merzky andre at merzky.net
Thu Aug 25 09:35:18 CDT 2005


Hi all, 

here is the issue list as of today.  We stopped discussion
on issue No. 23 last time, and will continue from there I
guess.

Cheers, Andre.

-- 
+-----------------------------------------------------------------+
| Andre Merzky                      | phon: +31 - 20 - 598 - 7759 |
| Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 598 - 7653 |
| Dept. of Computer Science         | mail: merzky at cs.vu.nl       |
| De Boelelaan 1083a                | www:  http://www.merzky.net |
| 1081 HV Amsterdam, Netherlands    |                             |
+-----------------------------------------------------------------+
-------------- next part --------------

---------------------------------------------------------------------

Peter  Kunszt <Peter.Kunszt at cern.ch>
Kalman Kovari <Kalman.Kovari at cern.ch>
=====================================

  1) The examples are sometimes more misleading than useful...
     
     -> why?
     -> DONE ANDRE: clearify, discuss on list
 
 
  2) The error handling and error semantics are not defined well
     enough.  This is essential in order to assure proper
     interoperability.
 
     -> compile list of error codes, check for consistency
     -> TODO TOM: create proposal for procedural and OO
 
 
  3) There is a lack of structure in terms of interface layering.  High
     level interfaces (like JobManagement) and low level interfaces
     (like Stream) are not distinguished, motivated, or put into
     context.  E.g. why is there a need of a networkstream-level
     interface for a grid application?
 
     -> intentional, see use cases!  
     -> DONE: ANDRE: CLEARIFY in intro
 
 
  4) Example (P18): OO structured, not like the iface. 
     (eg. i = dir.getNumEntries() instead of dir.getNumEntries(a) ? )
 
     -> DONE ANDRE: cleanup, also session handle etc.
    

  5) Example (P29): an exact copy of Ex. 1.

     -> check
     -> DONE ANDRE


  6) Description - Streams (P62): close or destroyStream? maybe close,
     but not consistent.

     -> see Notes in Streams
     -> DONE ANDRE: use <constructor> or so. - check SIDL
        ==> not specified in SIDL, 
            proposal: use "CONSTRUCTOR" and "destructor"


  7) General: sometimes bitwise OR-s are used for multiple options
     (Stream/ActivityType, P59), sometimes arrays of values
     (NameSpace/CopyFlags, P9). Why no convention? 

     -> I agree, bitwise OR is simplier
     -> DONE ANDRE: check for languages, fix
    

  8) Interface NSDir: what are the semantics of the copy method? of
     getName and getURL?

     -> ?
     -> DONE ANDRE: ask for clearification, sync with GFS


Thorsten Sch"utt:
-----------------

  9) isFile -> isEntry?

    -> should we revive NSEntry (more reasons?)?
    -> TODO ANDRE: ask mailing list


  10) SIDL docs on wiki!

      -> TODO TOM/JOHN


  11) fix all examples in respect to session and context

      -> DONE ANDRE.
         Use a default session handle if none is specified 
         -> examples are still valid :-D


  12) flags 
  
      -> DONE ANDRE: see above


  13) Attribute -> AttributeSet 

      -> TODO TOM: leave naming, but better describe idea


Steven Newhouse:
----------------

  14) Inconsistent use of security!  Its only in the stream
      section, nowhere else.  "Not specifying a security system
      makes sense, but I think all of these methods should have
      a security token being passed into them or it should be an
      argument in the relevant object constructor."

      -> should be fixed by session and context
      -> DONE ANDRE


  15) I assume the URL can support a number of protocols -
      http/https/file/gridftp. I see no way to register plugins in the
      interface (may be this is an 'internal' interface as opposed to a
      user funtion. Maybe there needs to be aet of interfaces to help
      the developers, e.g. register protocol plugins.
  
      -> plugin: implementation level
      -> url support: util class?  any://? -> language specific
      -> need good error codes
    

  16) State example language each time!  Do examples in multiple
      languages!

      -> TODO: 


  17) How are you going to handle partial functionality implementations?
      Should _all_ operations support a NotImplementedException? Should
      there be a standard static method in each section to discover what
      is implemented? e.g. supported protocols & supported methods.

      - methods need ALL to be implemented.  
      - protocols etc: hmmm...
      - discussed at GGF, DONE
      - was discussed at GGF...
      - there WILL be partial implementation, but they are not SAGA
        conform then.
      - necessary  (session, context, ...) 
      - sufficient (one other subsys)
      - CAN implement subsystems -> complete subsystems (partial
        compliant)
      - DONE ANDRE

      - should we allow query of implemented subsystems?
      - OPEN ISSUE


  18) You have an 'LSF' schema for >>, >, < & <<. But in the
      file/directory area you use a series of attribute flags. I think
      you should carry these attribute flags forward into the job
      definition area - either way I think you should have one model not
      two! 

      - TODO ANDRE: mark as known issue


  19) I.   General Model. 
           Language mapping. 
           Standard attribute model. 
           Security. 
           Tasks
      II.  Tier 1 Interfaces.
      III. Tier 2 and above Interfaces.

      - II and III on same level!
      - DONE


  20) What is to come in version 2?

      - steering and monitoring
      - possibly combining logical/physical files (read on
        logical files)
      - advert service
      - GridRPC
      - GridCPR
      - Task dependencies (simple work flows and batches)
      - extensions to existing classes
      - we have no explicit roadmap!!
    
Others:
=======

  21) 'The URL Problem' 
      
      - should we approach it?
      - DONE ANDRE: 
        - explain problem, leave it open
        - an implementation MAY be able to translate, or use any://
        - MUST throw good exception otherwise


  22) advert service

      -> easy: NS + Attribute + find on attribute!
         why not do it?
         TODO ANDRE: proposal to the mailing list.


  23) find in name spaces?

      -> why not, at least for names!?  
         But over attributes?  
         What about query language then?
         DONE ANDRE: proposal to the mailing list.

----------------------------------------------------------------------

Andre:
======

  24) list only on dir - why not on file?

  25) go from getSize to real stat

  26) namespace ops on files - why not on wildcards?

  27) should callbacks be introduced for some things?  Best on tasks,
      but also for streams (is factory!)  Necessary for
      monitoring/streaming, so best introduce in general...

  28) integrate GridRPC / GridCPR / JSDL?  What else?  Use Cases?!

  29) check if bulk operations can be done with task containers
      (explicit support needed/wanted for argument list generation?)

  30) ACLs!
    
  31) Authorization (call outs?)

  32) task = ftf.read (1, buffer, &n);
      task.run ();

      When are 'n' and 'buffer' available?  I would say after 
      wait (state = finished or cancelled).
   
      Should we have a state 'failed'?  For simplicity - otherwise you
      have to check every job which 'finish'ed if it actually finished
      successfully... (was discussion feedback at VU)

  33) into intro:
      default is to define semantics everywhere. 
      point out parts where semantics is up to the implementation

GGF14:
======
  34) DONE SHANTENU: send UC doc to editors!

+-------------------------------------------------------------+

Phone calls:
============

  35) relation to OGSA into intro
      TODO ANDRE: 
  
  36) - example are not normative for language binding
        - state in intro
          DONE ANDRE
      - provide one examples in various languages
        - DONE ANDRE: C, C++, Perl, Java (DONE ROB)
        - TODO TOM:   Fortran
      
  37) better state consistency model in intro:
     
      About consistency we had a lengthy discussion, with the
      aggreement that the consistency model is to be defined and
      documented by the implementation.  The API spec itself does not
      assume any specific consistency model, as we feel that (a) POSIX
      consistency is not achievable within reasonable
      effort/performance, (b) if the user assumes the worst (no
      consistency), he will still be able to make good use of the API,
      and (c) reality will be somewhere in the middle.

      TODO ANDRE.


+-------------------------------------------------------------+

Various:
========

  38) add myproxy context type
      DONE ANDRE

  39) check Nathans CPR implementation
      TODO ANDRE

  40) put JSDL, RPC etc specs onto WIKI
      TODO ANDRE

  41) how to query LAST job state before STOPPED?  History possible?
      how to query reason for job error condition? - ask list
      DONE ANDRE

  42) job states: PRESTAGING POSTAGING - ask list
      DONE ANDRE

  43) jobs: what about sandboxing?
      DONE ANDRE

+-------------------------------------------------------------+

  44) email use case authors to map Strawman to Use Case, 
      propose AG or conf call
      TODO ANDRE.

  45) map strawman to GridLab UC
      TODO ANDRE

  46) add unix permission like ownership etc
      TODO ANDRE

  47) check JSDL compliance
      TODO ANDRE

  48) document realation of other GGF APIs and pieces
  
  49) do a list of examples on the WIKI
      TODO TOM/SHANTENU/ANDRE

  50) a context should get added only once to a session.

  51) wait on tasks: return immediatly if task is already done, only
      throw on cancelled (why even then?)

  52) getContext --> listContexts (consistency)
      DONE ANDRE

  53) getState on TaskContainer, giving vec of states?

  54) link/copy/move/rmove: default use pwd?  if yes, what is state
      after move/remove?




More information about the saga-rg mailing list