Intel Threading Building Blocks

Intel Threading Building Blocks 2018

Windows / Intel Software / 93657 / Full spec
Сүрөттөмө

Intel Threading Building Blocks: Параллель программалоо үчүн эң сонун чечим

Сиз эффективдүү параллелдүү программалоого жетүүгө жардам бере турган күчтүү куралды издеп жатасызбы? Intel Threading Building Blocks (TBB) дегенден башканы издебеңиз. Бул иштеп чыгуучу куралы жалпы эс тутумдагы параллелдүү программалоону жана түйүн ичиндеги бөлүштүрүлгөн эстутум программалоону камсыз кылуу үчүн иштелип чыккан, бул алардын кодун оптималдаштырууну жана иштөөсүн жакшыртууну каалаган иштеп чыгуучулар үчүн идеалдуу чечим болуп саналат.

Жалпы параллелдүү алгоритмдерди, конкурренттик контейнерлерди, масштабдалуучу эстутумду бөлүштүргүчтү, жумушту уурдоо тапшырмасын пландаштыргычты жана төмөнкү деңгээлдеги синхрондоштуруу примитивдерин камтыган кеңири спектри менен Intel TBB тапшырмага негизделген параллелизм үчүн эң сонун чечим болуп саналат. Жана эң жакшы бөлүгү? Бул атайын компилятордун колдоосун талап кылбайт. Сиз Intel архитектурасында иштеп жатасызбы же ARM же Power Architecture колдонуп жатасызбы, бул китепкана үчүн гана чечим оңой эле бир нече архитектурага көчүрүлүшү мүмкүн.

Ошентип, Intel TBB эмне үчүн күчтүү курал кылат? Келгиле, анын айрым негизги өзгөчөлүктөрүн кененирээк карап чыгалы:

Жалпы параллелдүү алгоритмдер

Intel TBBтин эң маанилүү өзгөчөлүктөрүнүн бири анын жалпы параллелдүү алгоритмдердин жыйындысы. Бул алгоритмдер ар кандай маалымат түрү менен иштөө үчүн иштелип чыккан жана ар кандай тиркемелерде колдонулушу мүмкүн. Массивдер же байланышкан тизмелер менен иштеп жатасызбы, маалымат структураларын сорттоп же издеп жатасызбы же татаал математикалык эсептөөлөрдү аткарып жатасызбы, бул алгоритмдер көп ядролуу процессорлордун күчүн колдонуу менен максималдуу өндүрүмдүүлүккө жетишүүгө жардам берет.

Concurrent Containers

Intel TBB дагы бир негизги өзгөчөлүгү, анын бир мезгилдеги контейнерлердин коллекциясы. Бул контейнерлер өндүрүмдүүлүгүн жоготпостон бөлүшүлгөн маалымат структураларына жип-коопсуз кирүү мүмкүнчүлүгүн камсыз кылуу үчүн иштелип чыккан. Сиздин карамагыңыздагы бул контейнерлер менен, сиз жарыш шарттары же туңгуюктар жөнүндө кабатырланбастан, көп чөйрөлөрдө татаал маалымат структураларын оңой башкара аласыз.

Масштабдуу эстутум бөлүштүргүч

Эстутум бөлүштүрүү - бул параллелдүү программалоого келгенде көптөгөн иштеп чыгуучулар күрөшкөн аймак. Бактыга жараша, Intel TBB көп жиптүү чөйрөлөрдө эстутумду бөлүштүрүүнү жана бөлүштүрүүнү жеңилдеткен масштабдуу эс бөлүштүргүчтү камтыйт. Бул бөлүштүргүч жиптердин ортосундагы чыр-чатакты азайтып, максималдуу аткарууну камсыз кылуу үчүн кулпусуз ыкмаларды колдонот.

Жумуш-уурдоо тапшырма пландоочусу

Тапшырмаларды пландаштыруу - көптөгөн иштеп чыгуучулар параллелдүү программалоого келгенде күрөшкөн дагы бир тармак. Бактыга жараша, Intel TBB бир нече жиптер боюнча тапшырмаларды графикке киргизүүнү жеңилдеткен жумушту уурдоо тапшырмасын пландаштыргычты камтыйт. Бул пландаштыргыч жиптер бош турганда, башка жиптерден тапшырмаларды уурдап алуу менен, жиптердин ортосундагы жумуш жүгүн автоматтык түрдө тең салмактайт.

Төмөн-деңгээлдеги синхрондоштуруу примитивдери

Акырында, Intel TBB көп чөйрөлөрдө бөлүшүлгөн ресурстарга кирүү мүмкүнчүлүгүн синхрондоштурууну жеңилдеткен төмөнкү деңгээлдеги синхрондоштуруу примитивдеринин жыйнагын камтыйт. Бул примитивдер мутекстерди (эксклюзивдик мүмкүндүк алуу үчүн), шарт өзгөрмөлөрүн (сигнал берүү үчүн) жана атомдук операцияларды (кулпусуз синхрондоштуруу үчүн) камтыйт.

Кыскача айтканда:

Intel Threading Building Blocks иштеп чыгуучуларга эффективдүү жалпы эстутумдагы параллелдүү программалоо жана түйүн ичинде бөлүштүрүлгөн эстутум программалоо үчүн бардыгы бир чечим менен камсыз кылат.

Ал ар кандай маалымат түрүнө шайкеш келген жалпы параллелдүү алгоритмдерди сунуштайт.

Ал жип менен коопсуз кирүүгө мүмкүндүк берген бир эле учурда контейнерлерге ээ.

Масштабдуу эстутум бөлүштүргүч көп агымдуу чөйрөлөрдө да оптималдуу бөлүштүрүүнү/бөлүштүрүүнү камсыз кылат.

Жумушту уурдоо тапшырма пландоочусу ар кандай жиптер боюнча жумуш жүгүн автоматтык түрдө тең салмактоого жардам берет.

Төмөн деңгээлдеги синхрондоштуруу примитивдери синхрондоштуруу мүмкүнчүлүгүн жеңилдетет.

Иш такталары же мобилдик түзмөктөр үчүн программалык камсыздоону иштеп жатасызбы; Сиздин колдонмоңуз жогорку өндүрүмдүүлүктөгү эсептөө мүмкүнчүлүктөрүн талап кылабы; Долбооруңуз илимий симуляцияларды же каржылык моделдөөлөрдү камтыйбы - муктаждыктарыңыз кандай болсо дагы - эгер көп ядролуу процессорлорду эффективдүү колдонуу маанилүү болсо, анда иштеп чыгуучунун бул күчтүү куралын колдонуңуз:  Intel Threading Building Blocks!

Full spec
Publisher Intel Software
Publisher сайты http://www.intel.com/software/products
Чыккан датасы 2018-07-24
Кошулган күнү 2018-07-24
Категория Иштеп чыгуучунун куралдары
Sub категория Программалык камсыздоо
Нускасы 2018
Os талаптар Windows, Windows 7, Windows 8, Windows 10
Талаптар None
Баасы Free
Жумасына жүктөөлөр 1
Жалпы жүктөлүүлөр 93657

Comments: