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
