Mentions légales du service

Skip to content
Snippets Groups Projects

Bug11327 - add optional cores_affinity definition to force cores<->GPU allocation

Merged Lucas Nussbaum requested to merge bug11327 into master

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Lucas Nussbaum added 1 commit

    added 1 commit

    • a9388640 - [oar-prop] deal with case where the nodes were created without GPUs

    Compare with previous version

  • assigned to @neyron

  • Je pense que c'est bon.

    Le seul truc qui me chiffone c'est que gpu ≠ f(resource_id) et core ≠ f(resource_id) avec f(x)=x / N + C alors qu'on a cette propriété pour les autres clusters, par ex sur chifflot:

     resource_id | cluster  |             host             | cpu | gpu | core | cpuset | gpudevice 
    -------------+----------+------------------------------+-----+-----+------+--------+-----------
            2149 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1895 | 0      | 0
            2150 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1896 | 2      | 0
            2151 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1897 | 4      | 0
            2152 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1898 | 6      | 0
            2153 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1899 | 8      | 0
            2154 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1900 | 10     | 0
            2155 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1901 | 12     | 0
            2156 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1902 | 14     | 0
            2157 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1903 | 16     | 0
            2158 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1904 | 18     | 0
            2159 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1905 | 20     | 0
            2160 | chifflot | chifflot-1.lille.grid5000.fr | 525 |  17 | 1906 | 22     | 0
            2161 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1907 | 1      | 1
            2162 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1908 | 3      | 1
            2163 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1909 | 5      | 1
            2164 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1910 | 7      | 1
            2165 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1911 | 9      | 1
            2166 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1912 | 11     | 1
            2167 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1913 | 13     | 1
            2168 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1914 | 15     | 1
            2169 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1915 | 17     | 1
            2170 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1916 | 19     | 1
            2171 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1917 | 21     | 1
            2172 | chifflot | chifflot-1.lille.grid5000.fr | 526 |  18 | 1918 | 23     | 1
            2173 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1919 | 0      | 0
            2174 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1920 | 2      | 0
            2175 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1921 | 4      | 0
            2176 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1922 | 6      | 0
            2177 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1923 | 8      | 0
            2178 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1924 | 10     | 0
            2179 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1925 | 12     | 0
            2180 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1926 | 14     | 0
            2181 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1927 | 16     | 0
            2182 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1928 | 18     | 0
            2183 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1929 | 20     | 0
            2184 | chifflot | chifflot-2.lille.grid5000.fr | 527 |  19 | 1930 | 22     | 0
            2185 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1931 | 1      | 1
            2186 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1932 | 3      | 1
            2187 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1933 | 5      | 1
            2188 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1934 | 7      | 1
            2189 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1935 | 9      | 1
            2190 | chifflot | chifflot-2.lille.grid5000.fr | 528 |  20 | 1936 | 11     | 1
            ...

    vs !68 (diffs)

    Il ne faudra donc pas chercher a afficher les ressources ordonnées par resource_id (cle autoincrementée de la table) et s'attendre a voir le meme genre de choses sur grue que sur les autres clusters.

    Comme ca ne pose aucun soucis à OAR et drawgantt-svg, du coup :thumbsup:.

    Edited by Pierre Neyron
  • Qu'est-ce qui te fait penser que ce n'est pas le cas ?

    D'après un:

    select resource_id, core, gpu, (core = resource_id - 1248) from resources where cluster='grue' order by resource_id;

    ça me semble bon pour core (mais pas pour gpu, mais ça c'est normal non ?)

  • Oui effectivement c'est ok pour les cpu et core, j'ai mal regardé. Pour les gpu, ils pourraient etre definis comme f(resource_id) = (resource_id - r0) / 8 + g0, fonction croissante, en positionnant en dernier les cpuset:

     resource_id | cluster |           host           | cpu  | gpu | core  | cpuset | gpudevice 
    -------------+---------+--------------------------+------+-----+-------+--------+-----------
           12215 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10967 | 0      | 0
           12216 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10968 | 8      | 0
           12217 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10969 | 16     | 0
           12218 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10970 | 24     | 0
           12219 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10971 | 4      | 0
           12220 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10972 | 12     | 0
           12221 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10973 | 20     | 0
           12222 | grue    | grue-1.nancy.grid5000.fr | 1765 | 105 | 10974 | 28     | 0
           12223 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10975 | 2      | 1
           12224 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10976 | 10     | 1
           12225 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10977 | 18     | 1
           12226 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10978 | 26     | 1
           12227 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10979 | 6      | 1
           12228 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10980 | 14     | 1
           12229 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10981 | 22     | 1
           12230 | grue    | grue-1.nancy.grid5000.fr | 1765 | 106 | 10982 | 30     | 1
           12231 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10983 | 1      | 2
           12232 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10984 | 9      | 2
           12233 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10985 | 17     | 2
           12234 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10986 | 25     | 2
           12235 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10987 | 3      | 2
           12236 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10988 | 11     | 2
           12237 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10989 | 19     | 2
           12238 | grue    | grue-1.nancy.grid5000.fr | 1766 | 107 | 10990 | 27     | 2
           12239 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10991 | 5      | 3
           12240 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10992 | 13     | 3
           12241 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10993 | 21     | 3
           12242 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10994 | 29     | 3
           12243 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10995 | 7      | 3
           12244 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10996 | 15     | 3
           12245 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10997 | 23     | 3
           12246 | grue    | grue-1.nancy.grid5000.fr | 1766 | 108 | 10998 | 31     | 3    

    Ca serait plus proche de ce qu'on fait pour les autres clusters il me semble, mais ce que tu as fait est suffisant je pense.

  • actuellement on a les cpuset croissants à l'intérieur d'un cpu (comme pour tous les clusters en "round-robin"). on peut:

    • laisser comme actuellement
    • mettre les cpuset dans l'ordre physique (mais on aura pas les gpu croissants)
    • mettre les gpu croissants (mais les cpuset seront dans un ordre dépendant des numanodes)

    mais bon la solution actuelle est pas plus mauvaise que les autres

  • Oui je suis d'accord.

  • Lucas Nussbaum added 28 commits

    added 28 commits

    • a9388640...a26c7e9b - 11 commits from branch master
    • 1d1f7595 - [gen/oar-prop] get rid of cpu_index0 variable
    • f81c806c - [oar-prop] get rid of core_index0 variable
    • a7df45f4 - [oar-prop] get rid of cpuset variable
    • 14e162da - [oar-prop] simplify code
    • a73cc943 - [oar-prop] simplify computation of number of gpus
    • 278a7300 - [oar-prop] add exception message and backtrace before exiting
    • d14930ea - [oar-prop] simplify assignment of local_id
    • f90cd313 - [oar-prop] move code about gpus in a single place to facilitate editing
    • cc4e71e7 - [oar-prop] code simplification
    • a6aaa770 - [oar-prop] remove pre-computation of GPU local id
    • c4599e29 - [oar-prop] remove dead code
    • caa7ffe7 - [spec] move helpers to spec_helper
    • ac4cfb7d - [oar-prop] Add support for cores_affinity key in GPU definition
    • a3ed5368 - [input/grue] Add cores_affinity for all GPUs
    • d203034a - [spec] add more tests based on real clusters
    • 4854df1b - [oar-prop] deal with case where the nodes were created without GPUs
    • 1f76ca16 - Regenerate data

    Compare with previous version

  • Lucas Nussbaum enabled an automatic merge when the pipeline for 1f76ca16 succeeds

    enabled an automatic merge when the pipeline for 1f76ca16 succeeds

  • Lucas Nussbaum aborted the automatic merge because source branch was updated

    aborted the automatic merge because source branch was updated

  • Lucas Nussbaum added 1 commit

    added 1 commit

    Compare with previous version

  • Lucas Nussbaum enabled an automatic merge when the pipeline for 5bbac7d3 succeeds

    enabled an automatic merge when the pipeline for 5bbac7d3 succeeds

  • Lucas Nussbaum mentioned in commit 14a396e8

    mentioned in commit 14a396e8

Please register or sign in to reply
Loading