Uploaded image for project: 'bgpcep'
  1. bgpcep
  2. BGPCEP-164

RIBs memory efficiency

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Resolution: Done
    • Bugzilla Migration
    • Bugzilla Migration
    • BGP
    • None
    • Operating System: All
      Platform: All

    Description

      Analysis of a moderately-loaded local rib points to the fact that we could do a lot better where memory efficiency is concerned.

      One notable area is the AbstractAdjRIBs$RIBEntry, which contains a 16-entry HashMap for candidates, typically costing us 176 bytes per entry. There is an upper cap as to how many entries that map can have, which is directly tied to the number of peers currently contributing to that particular table instance.

      We can take advantage of this knowledge and maintain the candidates in a fixed-size array. The table instance will maintain Peer->offset mapping, reformatting entries as the configuration changes. Each entry will then contain a simple fixed array into which the appropriate attributes will be stored.

      This can be used to also track outbound state, further improving efficiency of the entire solution. Be sure to factor those requirements in the solution.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              dkutenicsova Dana Kutenicsova
              rovarga Robert Varga
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: