TBB Task Scheduler Notes

來源:互聯網
上載者:User

* Distribute tasks in a round-robin fashion.

* Required APIs:

void task::spawn_root_and_wait(taks&);
void task::spawn(task&);
void task::spawn_and_wait_for_all(task&);

Depth-first execution:
  * Strike when the cache is hot. The deepest tasks are the most recently created tasks, and therefore are

hottest in cache.
  * Minimize space. Depth-first execution creates nodes linearly.

Breadth-first execution:
  * Maximize parallelism.

Eah thread has its own task queue. When a thread spawns a task, it pushes it onto the bottom of its queue. (top:

oldest task, bottom: youngest task)

A thread continually executes a task obtained by the first rule below that applies:
1. Pop a task from the bottom of its own queue. This rule does not apply if the queue is empty. (depth-first

execution)
2. Steal a task from the top of another randomly chosen queue. If the chosen queue is empty, the thread tries

this rule again until it succeeds. (breadth-first execution)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.