Разница между потоковым портом и параллельной аннотацией в потоках инфосферы IBM

Я пытаюсь понять разницу между многопоточным портом и аннотацией @parallel в потоках IBM info-sphare, я искал много мест, но не смог получить ответы, насколько я понимаю, оба они полезны для создания оператора многопоточности, но я не уверен, когда и где их использовать, и можно ли их использовать вместе для повышения производительности. Может ли кто-нибудь подтвердить их использование примерами.

Благодарю.

1 ответ

Резьбовые порты - это прежде всего параллелизм конвейера Когда вы указываете резьбовой порт на оператора config предложение, вы говорите среде выполнения, чтобы этот оператор выполнялся с потоком, отличным от потока, выполняющего оператор восходящего потока. Мы называем этот конвейер параллелизмом, потому что операторы в конвейере могут выполняться одновременно. Если операторы в вашем конвейере достаточно дороги в вычислительном отношении, это может улучшить пропускную способность.

@parallel аннотация в первую очередь о параллелизме данных. Когда вы применяете @parallel(width=N) аннотации к вызову оператора, Streams будет копировать этот оператор N раз. Ваше работающее приложение будет иметь N копии этого оператора, каждый из которых получает различное подмножество общего числа кортежей. Мы называем это параллелизмом данных, потому что мы обрабатываем разные данные (которые в случае потоков являются кортежами) одновременно путем репликации оператора. Когда у вас есть оператор, который требует больших вычислительных ресурсов, и можно обрабатывать входящие кортежи не по порядку, @parallel может улучшить пропускную способность.

На практике, используя @parallel аннотация иногда вводит многопоточные порты в ваше приложение, чтобы обеспечить параллельное выполнение реплицированного оператора. Это, как побочный эффект, также вводит некоторый конвейерный параллелизм.

Это приложение демонстрирует как резьбовые порты, так и @parallel: streamsx.demo.logwatch. Это исходный код приложения, разработанного в презентации Optimizing Streams Applications.

Другие вопросы по тегам