Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMKD-LabVIEW-GBAG-2014-2015_UG_Aubakir-DA_4.doc
Скачиваний:
100
Добавлен:
21.02.2016
Размер:
3.92 Mб
Скачать

Амалдар – тапсырмалар бойынша қатарластыру

Осы айтылғандардың мән-мағынасын түсіну үшін төмендегі суреттегі арифметикалық есептеулердің ДС қарау керек. LabVIEW компилятор көбейте отырып қосуды және азайтуды бір-біріне орындауға болатынын анықтайды, яғни осы екі тармақтаң аралық нәтижелері ол тәуелсіз тармақтардың қандай ретпен орындалғанына байланысты емес.

<<Параллелизм операций

Чтобы понять суть сказанного, представьте себе простую программу арифметических вычислений, диаграмма которой показана на рисунке. Компилятор LabVIEW определяет, что умножение со сложением и вычитание могут быть выполнены одновременно, поскольку не зависят от результатов выполнения друг друга.>>

   Осылайша, компилятор бағдарлама жасақтаушыны бұндай шым-шытырық жұмыстан босатып, өзбетімен автоматты түрде бағдарламалық кодтағы тәуелсіз тармақтарды өзі-ақ анықтап реттейді және де мұндай тармақтар ДС өздері де “мен мұндалап” көрініп тұрады. Ал, мәтіндік бағдарламалау тілдерінде мұндай қатарластырылған тармақтарды арнайы жариялау міндетті (parallel threads), сондықтан қатарластырылған бағдарламалау ол тілдерде күрделі мәселеге айналады. Әсіресе, бұның қиындығы ұжымдық бағдарламалау әдісі таңдалатын қиын орындалатын тапсырмаларда айқын сезіледі.

<<Компилятор определяет множество независимых веток кода и создает на их основе некоторое количество потоков, избавляя разработчика от необходимости вручную управлять потоками. Другое важное преимущество LabVIEW с точки зрения разработки программ для многоядерных систем – это интуитивно понятное графическое представление кода параллельных вычислений. В обычных языках параллельное программирование реализуется путем самостоятельного объявления нитей (threads), настройки разделяемых ими ресурсов и отслеживания их взаимодействия в коде параллельных и непараллельных участков кода, что зачастую является весьма обременительным занятием, особенно при коллективной разработке приложения.>> 

3.2 LabView бұйымы ортасында сызбалық бағдарламалаудың

қатарластыру һәм конвейерлеу әдістері

LabVIEW ДС ортасында жасалатын БС (бағдарламалық код) ең ұғынықты және көрнекі байланыс құралы болып табылады.

Шынтуайтына келсек, қалыптасқан технология бойынша жұмыс істейтін бағдарламалаушылар ең алдымен алгоритм түріндегі блок-сұлба құрастыратын, сонан соң соның негізінде мәтіндек бағдарлама құратын, оны кәмпүйтерде орындап пысықтайтын (ол бірден дұрыс орындалып кетуі неғайбыл), сөйтіп көп әуреленетін. LabVIEW еш қиындықсыз пайдаланушы көмегімен сызбалық блок-сұлбаны жасайды да, ар жағын соның компиляторы өз мойнына жүктеп алып, автоматты түрде атқара береді, яғни бағдарламалаушылардың бұрыннан армандағаны LabVIEW бұйымының арқасында іс жүзіне асып отыр.

Сонымен, LabVIEW коды түйсіну деңгейінде қатарластырылып бағдарламалаудың амалдартапсырмалар бойынша қатарластыру, деректер бойынша қатарластыру және тапсырмаларды конвейерлеу әдістерін іске асырады.

<<В отличие от кода обычного языка программирования потоковый код LabVIEW представляет собой одно из наиболее понятных средств коммуникации – блок-диаграмму. Годами программисты традиционных языков рисуют блок-диаграммы, чтобы отслеживать структуру программы и вести совместную разработку. Среда разработки LabVIEW позволяет обойтись без лишних затрат времени и людских ресурсов сразу организовать исходный код в виде графической блок-диаграммы. Это также позволяет быстро определить, какие участки кода могут быть выполнены параллельно на разных ядрах процессора.

Графический код LabVIEW позволяет в интуитивно понятной форме представить наиболее распространенные приемы параллельного программирования, включая параллелизм задач, параллелизм данных и конвейеризация задач.>>