Implementacja TBB implementuje „task stealing” (podkradanie zadań) balansując obciążenia równolegle pracujących procesorów w celu zwiększenia efektywności wykorzystania rdzeni. Model TBB „task stealing” jest podobny do modelu „work stealing” wdrożonego w Cilk. Początkowo obciążenie zadaniami jest rozłożone proporcjonalnie na wszystkie dostępne rdzenie procesorów. Jeśli któryś z rdzeni wykona swoje zadania w chwili kiedy pozostałe nadal posiadają swoje zadania w kolejkach, TBB przekierowuje część zadań przeznaczonych początkowo dla zajętych rdzeni i przydziela je wolnemu rdzeniowi. Takie dynamiczne mechanizmy uniezależniają programistę od maszyny, pozwalając aplikacji napisanej z wykorzystaniem odpowiednich bibliotek do skalowania i wykorzystywania dostępnych procesorów bez potrzeby zmieniania kodu programu.
Źródło i licencja
Fragment artykułu Wikipedia — Intel Threading Building Blocks · historia autorów.
Tekst: CC BY-SA 4.0. Wydzielono fragment z dłuższego artykułu.