The SIO2 project
  1. The SIO2 project
  2. SIO-1928

Replace worker concurrency with RAM capacity.

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Current Version
    • Fix Version/s: None
    • Labels:
      None

      Description

      Motivation:
      1) Now we have to predict how much RAM we should reserve for single jobs. If we choose 1G, then we are lowering our possible concurrency. If we choose 512M, then worker could potentially lack memory.
      2) We have different configs for judging machines which vary only in concurrency.

      What to do:
      1) Replace concurrency in worker config with RAM capacity
      2) OIOIOI should add to environ information how much RAM single job needs
      3) Scheduler should operate on RAM capacities instead of concurrencies.
      4) Split this task into smaller ones :)

      Adnotation:
      Don't forget about taking into account number of CPU cores. Currently used formula is min(# cpu cores * 1.5, (RAM minus a little bit for OS) / (max required mem per problem)). Obviously it is worth to discuss if and how this formula should be changed.

        Activity

        Artur Jamro made changes -
        Field Original Value New Value
        Summary Replace concurrency in worker with RAM capacity. Replace worker concurrency with RAM capacity.
        Artur Jamro made changes -
        Description Motivation:
        1) Now we have to predict how much RAM we should reserve for single jobs. If we choose 1G, then we are lowering our possible concurrency. If we choose 512M, then worker could potentially lack memory.
        2) We have different configs for judging machines which vary only in concurrency.

        What to do:
        1) Replace concurrency in worker config with RAM capacity
        2) OIOIOI should add to environ information how much RAM single job needs
        3) Scheduler should operate on RAM capacities instead of concurrencies.
        4) Split this task into smaller ones :)
        Motivation:
        1) Now we have to predict how much RAM we should reserve for single jobs. If we choose 1G, then we are lowering our possible concurrency. If we choose 512M, then worker could potentially lack memory.
        2) We have different configs for judging machines which vary only in concurrency.

        What to do:
        1) Replace concurrency in worker config with RAM capacity
        2) OIOIOI should add to environ information how much RAM single job needs
        3) Scheduler should operate on RAM capacities instead of concurrencies.
        4) Split this task into smaller ones :)

        Adnotation:
        Don't forget about taking into account number of CPU cores.
        Artur Jamro made changes -
        Description Motivation:
        1) Now we have to predict how much RAM we should reserve for single jobs. If we choose 1G, then we are lowering our possible concurrency. If we choose 512M, then worker could potentially lack memory.
        2) We have different configs for judging machines which vary only in concurrency.

        What to do:
        1) Replace concurrency in worker config with RAM capacity
        2) OIOIOI should add to environ information how much RAM single job needs
        3) Scheduler should operate on RAM capacities instead of concurrencies.
        4) Split this task into smaller ones :)

        Adnotation:
        Don't forget about taking into account number of CPU cores.
        Motivation:
        1) Now we have to predict how much RAM we should reserve for single jobs. If we choose 1G, then we are lowering our possible concurrency. If we choose 512M, then worker could potentially lack memory.
        2) We have different configs for judging machines which vary only in concurrency.

        What to do:
        1) Replace concurrency in worker config with RAM capacity
        2) OIOIOI should add to environ information how much RAM single job needs
        3) Scheduler should operate on RAM capacities instead of concurrencies.
        4) Split this task into smaller ones :)

        Adnotation:
        Don't forget about taking into account number of CPU cores. Currently used formula is min(# cpu cores * 1.5, (RAM minus a little bit for OS) / (max required mem per problem)). Obviously it is worth to discuss if and how this formula should be changed.
        Pavel Senchanka made changes -
        Status New [ 10000 ] Resolved [ 5 ]
        Assignee Szymon Acedański [ accek ]
        Resolution Fixed [ 1 ]
        Szymon Acedański made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Szymon Acedański
            Reporter:
            Artur Jamro
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: