Hello, I am still looking for insights on this matter. Any help welcome !
Regards, Michaël 2017-06-20 12:16 GMT+02:00 Michaël Melchiore <[email protected]>: > Hello, > > I am trying to figure how the cpuLoad configuration attribute of Trident > operators interacts with the Resource Aware Scheduler when operators are > grouped. > > Here is my train of thoughts: > > - From Storm topology parallelism docs > > <http://storm.apache.org/releases/1.0.1/Understanding-the-parallelism-of-a-Storm-topology.html>, > I believe that each Storm bolt instance is deployed as a Task in an > Executor. Since each executor is mapped on a thread, each bolt instance can > use, at most, a full core, *unless it spawns child threads itself*. > - RAS CPU load docs > > <http://storm.apache.org/releases/1.1.0/Resource_Aware_Scheduler_overview.html#Setting-CPU-Requirement> > proposes a point system and conventions to specify CPU core requirements. > - So, in the general case where bolts do not spawn child threads, I > see *no point in specifying a cpuLoad higher than full usage of a > single core*. > > > Is the assumption in bold correct ? > > > - From Trident RAS API docs > <http://storm.apache.org/releases/1.1.0/Trident-RAS-API.html>, I > undertand a Storm bolt gets the sum of its grouped Trident operator > cpuLoad. > - So, how is the resulting bolt cpuLoad processed by the RAS ? > Consider the following case: > - The summed cpuLoad is higher than required for full usage of a > single core > - No grouped Trident operator spawns child threads > > > I hope I was clear enough. Do not hesitate to request clarifications if > necessary. > > Thank you for your time, > > Michaël > > > > > > > >
