Subject: [6tisch] Minutes OTF discussion 02 April 2014

From: Thomas Watteyne <[email-masked]>
Date: Thu, 3 Apr 2014 22:40:51 -0700

All,

You will find the minutes of the last OTF discussion at
https://bitbucket.org/6tisch/meetings/wiki/140402_webex_otf, also
copy-pasted below.

Please fix anything we might have missed directly in the e-mail and reply.

Thomas

---

Webex 2 April 2014, OTF DiscussionAttendance

   - Alfredo Grieco
   - Bryan Mclaughlin
   - Diego Dujovne
   - Maria Rita Palattella
   - Nicola Accettura
   - Thomas Watteyne

Agenda

   - 6top & OTF Update *(Maria Rita Palattella)*
   - OTF triggering events *(Alfredo Grieco)*
   - OTF: updates and proposals *(Nicola Accetura)*
   - OTF Interface *(Diego Dujovne)*
   - AOB

Slides

   - 140402_webex_otf.ppt<https://bitbucket.org/6tisch/meetings/src/master/140402_webex_otf/140402_webex_otf.ppt>:
   slides shared during the call
   - 140402_webex_otf_alfredo.pptx<https://bitbucket.org/6tisch/meetings/src/master/140402_webex_otf/140402_webex_otf_alfredo.ppts>:
   slides modified by Alfredo as part of the call.

Action items

   - *Maria Rita* to add sentence to indicate create bundle and increase
   size is same 6top command.
   - *Maria Rita* to ask whether bundle can have combination of hard and
   soft cells.
   - *Diego* to discuss extension of YANG data model for additional modules
   such as OTF.
   - *Thomas* to propose reactive and proactive on ML.

Minutes

   - *[07.30]* Meeting starts.
   - *[Bryan]* Colleague of Pascal's
   - *[Diego]* Introduces the meeting. Note well.

   No issues raised. Minutes approved.

   - 6top and OTF *[Maria Rita Palattella]*
      - changes to the draft
      - points we need to clarify
      - OTF will use the basic commands offered by 6top for
      creating/deleting soft cells

      we read slide 6

      - OTF specifies on which track soft cells should be
      - discussion on tracks, we didn't reach agreement
      - discussion with Qin and Pascal. Meaning of bundle and track.
      - OTF will ask some cell in a bundle, i.e. on a given track
      - track identifies the cell on the track
      - we will have more than one track inside the network
      - we should apply OTF at least to some track
      - we will have OTF working on different tracks
      - *[Thomas]* why different between create bundle and add soft cell:

      Action: *Maria Rita* to add sentence to indicate create bundle and
      increase size is same 6top command.

      - Initially, thought we should read cell (getting statistics). Is
      this possible? OTF shouldn't have to know the exact cells, so cannot.
      - *[Diego]* consequence of 6top and relocation. When we want to ask
      PDR for that cell, we need to know. We need to be able to ask for soft
      cells in bundle. Identifier different.
      - *[Maria Rita]* 6top doesn't support for getting "current cell". Two
      options:
         - add this feature to 6top
         - don't need this support
      - *[Diego]* assume we ask for a soft cell. Identifier of soft cell
      stays the same even though gets moved to different slotOffset and
      channelOffset. Would that work?
      - *[Maria Rita]* OTF doesn't know detail about cells. Can only get
      bandwidth.
      - *[Thomas]* what should OTF know about a cell?
      - *[Maria Rita]* maybe instead of looking into a single cell, we need
      bandwidth on aggregated cells. Already possibly with statistics.
      - *[Maria Rita]* already discussed how to get statistics with Qin.
      - Qin indicated Statistics are taken from different structures. You
      cannot separate bundle from track. How we read this cell list is
not clear.
      We may use information about cell. How do we get this information?
      - We have another list related to information per neighbor. If we
      gather information "per neighbor", we are looking at aggregated
information
      of all tracks. We need to be able to ask statistics per bundle on a given
      track.
      - *[Diego]* We need the aggregate information.
      - *[Maria Rita]* you ask for bandwidth on a given bundle on a given
      track. 6top will translate this in a number of cells.
      - *[Diego]* then we don't have information about the number of cells
      on a track?
      - *[Maria Rita]* you can, through statistics. You can have this
      information.
      - *[Diego]* as a philosophical question: are we asking for bundles of
      soft cells?
      - *[Maria Rita]* we ask for soft cells, which translates into a
      bundle. There is no "create bundle" command.
      - *[Diego]* we don't know PDR of cells. Who makes the decision of
      taking PDR into account?
      - *[Maria Rita]* OTF will ask for bandwidth.
      - *[Maria Rita]* Qin indicated that 6top does over-provisioning
      automatically. Maria Rita asked Qin whether will conflict with OTF. OTF
      will simply ask 6top.
      - *[Maria Rita]* another list available is queue and statistics on
      the queue. Are queues associated to priority or track? We need to know in
      which queue to associate a packet. Tracks can have the same QoS need. It
      makes sense to associate a packet to a queue, a queue has a
priority, gets
      mapped to a track.
      - *[Maria Rita]* Monitoring, what 6top offers is this monitoring.
      When realizes cells have not a good QoS, will reallocate cell. Option of
      6top using monitoring function. In OTF we will not move the cell.
      - *[Maria Rita]* About over-provisioning. When this function is
      called, should provide information about bundle, including how many
      hard/soft/over-provisioned cells. Don't think we talked about hard cells.
      Does a bundle include both hard and soft cells?
      - *[Thomas]* should we mandate that a bundle cannot have combination
      of hard and soft cells?

      Action item: *Maria Rita* to ask whether bundle can have combination
      of hard and soft cells.

      - Actuation: OTF can do actuation by providing algorithm. Qin
      indicates 6top can use OTF to do its actuation.
      - *[Maria Rita]* went through e-mails.
   - OTF events *(Alfredo Grieco)*
      - First slides to introduce events that OTF should be able to deal
      with. High level description. Not yet cast with 6TiSCH topology.
Notation:
      two structures B and M.
      - B is the output of the BW allocation output. Turns track T and
      stats S using BWA (Bandwidth Allocation Algorithm). BW in expressed in
      number of cells.
      - *[Maria Rita]* should become for a bundle on a specific track.
      Instead of track and stats, add bundle.
      - *[Alfredo]* Yes. We will have bundle and T.
      - OTF keeps track of allocation per bundle and per track in structure
      M.
      - *[Alfredo]* First event is when a new track is created. When a new
      bundle on a new track is crearted. New entry needs to be added
to matrix M.
      OTF should ask for stats from 6top. This information gives you bandwidth.
      Update that matrix M with that allocation. Event to create data
structure.
      - Event B: a packet in queue, waiting to be translated, but no cell
      available (saturation), OTF should ask 6top to increase.
      - Event C: opposite event. threshold when usage of bundle is too low.
      we should ask 6top to decrease the size of the bundle. OTF has no view of
      cell structure. We need some mechanism. Perhaps we should have something
      like "queue is empty for time, active queue management".
      - *[Maria Rita]* from 6top, you can get information about the queue
      (through command). You can get min/max/average, you can compute that.
      - *[Alfredo]* assuming queue above OTF. You can have a greedy way of
      querying 6top. If I have to add 6top all the time, will be repeated many
      time. We need to identify events, and best algorithm possible.
      - on-going saturation, already saturation, under use. Depending on
      what we want to implement. We can check these queues.
      - *[Maria Rita]* It is not clear. Check is done on the queue on top
      of queue. OTF is meant to help 6top.
      - *[Alfredo]* queue with no real-time data is queue.
      - *[Maria Rita]* we should think of OTF as on the side, not on top.
      - *[Alfredo]* notion of non-RT traffic. Expects being enqueue on top
      of 6top, and inside.
      - *[Maria Rita]* we need to identify the architecture
      - *[Alfredo]* we need to have a mechanism which periodically checks
      queue. Or add 6top a trigger for events
      - *[Thomas]* 6top-interface is a conceptual interface. You can
      implement it any way you want, as long as you behave according to the
      standard. Polling vs. events is an implementation choice.
      - *[Alfredo]* we can add a note on how it could be done, give an
      example.
      - Event D: usage on bundle is too high. Early detection of
      saturation. In this case, ask 6top in advance to increase bundle size
      - Event E: delete track. 6top creates events, OTF need to delete state
      - *[Thomas]* some other entity deletes track than OTF?
      - *[Alfredo]* no, just OTF
      - *[Bryan]* event D, what does "too high" mean
      - *[Alfredo]* e.g. 80% of capacity.
      - *[Bryan]* how can we set the threshold.
      - *[Alfredo]* implementation specific.
      - *[Thomas]* who should set this threshold? Hard-coded? Learnt when
      joining?
      - *[Alfredo]* BWA and threshold go together.
      - *[Alfredo]* you should have a commands to set threshold.
      - *[Thomas]* threshold is trade-off between energy and QoS
      - *[Alfredo]* we need to decide whether looking at bundle usage or
      queue usage
      - *[Thomas]* does threshold change over time?
      - *[Alfredo]* no.
      - *[Thomas]* other parameters?
      - *[Alfredo]* low-pass filters.
      - *[Diego]* if you want to implement filters, you need a history.
      - *[Alfredo]* if filter is exponential, you need just one data point.
      - *[Alfredo]* we have different choices to measure usage of bundle.
      This measurement can be done by OTF or 6top. You can filter out.
      - *[Diego]* to answer Bryan about parameters. There is a way to set
      which algorithm and parameters as part of OTF.
      - *[Thomas]* extension of YANG model?we need to discuss

      Action item: *Diego* to discuss extension of YANG data model for
      additional modules such as OTF.

      - OTF: updates and *Nicola*
      - For the allocation policies. pre- post- and hybrid. Opened thread
      to simplify notation.
      - 3 variables that can be monitored:
         - required BW *R*
         - threshold, fixed number of related to stats *T*
         - current allocation BW *A*
      - algorithm, 3 choices:
         - T is a hysteresis to avoid adding/removing too often
         - question: how many
      - we need to translate into BW estimation algorithm
      - next steps:
         - writing down in a draft?
         - KA the ML thread
      - *[Thomas]* would replace pre- post- terminology?
      - *[Nicola]* yes
      - *[Thomas]* personal opinion is this is clearer than pre- post-
      - *[Diego]* pre- post- differentiate proactive and reactive. This
      proposal specifies more, but distinction is important.
      - *[Thomas]* could we replace pre- and pro- with reactive and
      proactive

      Action: *Thomas* to propose reactive and proactive on ML.

      - *[Diego]* align to terminology.
      - lots of picture about meaning of chunks and relation to
      interference domain. Thomas suggests to consider cells and chunks as
      orthogonal.
      - question about hard/soft cells: distinction on format message
      exchange. Are we sure this distinction.
   - *[09.05]* Meeting ends.