Async off uploads and continue processing in process_perf_results.py |
||||
Issue descriptionsplit off from crbug.com/857283 Thirdly, from poking around the implementation of the parallelization, I think there's a lot of low hanging fruit there still. From what I see, each step is parallelized, but runs in sync. ie. if a step on 1 core consists of a 10 second process, 10 second upload, you should just async off the upload and free up the thread to process the next dataset rather than waiting around the full 20s.
,
Jul 17
Interesting, though given the large amount of benchmarks to be processed & upload in parallel, I don't think at any time we have free cores sitting around not having work to do? Wouldn't that mean splitting up the upload & processing won't save much time?
,
Jul 17
Maybe I misread the script, but isn't each core basically consist of process + upload? So let's say there's 2 cores and several tests with a 10s process, 5 second upload The execution sequence on each core would be 10s processing, 5s block on upload, 10s processing, 5s block on upload In this case, that's 30s of work. It might be faster to have 1 pool that's dedicated to processing, and then a separate parallel upload whenever anything is free. Hope I'm explaining that correctly. So that would be, 10s process, spawn an upload and immedaitely process next 10s, spawn an upload, etc. So that'd be 20s of processing + the last upload time
,
Jul 17
,
Jul 17
,
Jul 18
Additional tweak: I think you could order them from heaviest to lightest with heaviest uploading first.
,
Nov 12
|
||||
►
Sign in to add a comment |
||||
Comment 1 by nednguyen@chromium.org
, Jul 17