Runtime: Prune all helix payloads

Created on 10 Mar 2020  路  10Comments  路  Source: dotnet/runtime

  1. Investigate core_root size (1g) and prune for helix testing
  2. Investigate test payload sizes and prune where possible.
area-Infrastructure-coreclr

Most helpful comment

After #36577 we have seen helix setup time drop dramatically. This issue has been closed, but should be revisited periodically.

Thank you @trylek @echesakovMSFT @sandreenko @erozenfeld for all the work done to drive this number down for us.

/cc @JulieLeeMSFT

Screen Shot 2020-06-10 at 2 55 07 PM

All 10 comments

Related to #33434

https://github.com/dotnet/core-eng/issues/8053 tracks a feature request to enable us to see how long a work item takes to setup before starting the work.

Status update: my PR

https://github.com/dotnet/runtime/pull/35243

should partially fix this issue by limiting the subfolders of Core_Root to just crossgen2, R2RTest and PDB. R2RTest is used by the coreroot_determinism test, crossgen2 is needed for crossgenning test assemblies in Helix prior to execution.

I'm not sure about PDB, I plan to follow up with @noahfalk as a second step. Jarret also suggested we should look into reducing the individual test payloads; I haven't yet started looking into that so for now it's up for grabs for any volunteers (@mangod9 mentioned to me offline that @erozenfeld had expressed some interest in taking a look).

I'm looking into not generating pdb's for tests that don't need them.

Potential for improvement is large:

Jit64.MCC workitem:

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

[With PDB] Pri0 setup time: 0:05:42.956000, Pri0 run time: 0:00:17.329000. Setup percentage 95%

[Without PDB] Pri0 setup time: 0:00:29.732000, Pri0 run time: 0:00:14.655000. Setup percentage 66%



Total pri0 time reduced: 0:05:15.898000. Setup was (11x) faster without pdbs



[With PDB] pri1 setup time: 0:05:32.667000, pri1 run time: 0:00:27.862000. Setup percentage 92%

[Without PDB] pri1 setup time: 0:00:29.093000, pri1 run time: 0:00:14.024000. Setup percentage 67%



Total pri1 time reduced: 0:05:17.412000. Setup was (11x) faster without pdbs

Will expand https://github.com/dotnet/runtime/pull/35625 to exclude pdbs.

After #36577 we have seen helix setup time drop dramatically. This issue has been closed, but should be revisited periodically.

Thank you @trylek @echesakovMSFT @sandreenko @erozenfeld for all the work done to drive this number down for us.

/cc @JulieLeeMSFT

Screen Shot 2020-06-10 at 2 55 07 PM

@safern @ViktorHofer our helix setup time is now dominated by the Libraries helix submissions. To put this into perspective, 85% of our setup time is now in libraries workitems. I have not looked into what/if we can reduce it; however, I have a feeling there is still room for improvement.

/cc @dotnet/runtime-infrastructure

We can definitely look further for improvement there, I鈥檓 not sure if we can prune the testhost or the work item dir I think they have what they need but we can definitely look into it further.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jkotas picture jkotas  路  3Comments

jzabroski picture jzabroski  路  3Comments

noahfalk picture noahfalk  路  3Comments

matty-hall picture matty-hall  路  3Comments

omariom picture omariom  路  3Comments