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

Тапсырмалар бойынша қатарластыру

Бұл әдіс бойынша бірқатар амалдар бір-бірінен тәуелсіз орындала алады. Төмендегі суретте осы жағдай сызбалық түрде көрсетілген: сүзгілеу амалы және ФТБ (функцияны түрлендіру блогы) амалы өзара тәуелсіз, сондықтан бұл амалдар әртүрлі ядроларда орындала алады.

<<Параллелизм задач

Параллелизм задач подразумевает, что несколько операций могут быть выполнены независимо друг от друга. На рис.  приведен пример подобных задач: операции фильтрации сигнала и БПФ независимы, а следовательно могут быть выполнены на многоядерных процессорах одновременно.>> 

  

Деректер бойынша қатарластыру

Бұл әдіс бойынша деректердің бір жиынынан алынған бөлек-бөлек деректер әртүрлі ядроларда өңделеді де, сонан соң нәтижелері қайта жинақталады. Төмендегі суретте осы жағдай аудиодабылдың оң жақ және сол жақ бөліктері бөлек-бөлек түрлендіріледі де, сонан соң түрленген нәтижелері қайта біріктіріледі.

<<Параллелизм данных

Параллельные данные – это независимые секции одного набора данных, которые могут быть обработаны независимо друг от друга с последующим объединение результатов. На рис. показан пример отдельной обработки правого и левого каналов аудиосигнала.>>

Тапсырмаларды конвейерлеу

Тапсырмаларды конвейерлеу деп деректер жиынын бірнеше функциялардың тізбегі арқылы дүркіндердің ішкі қайталауларында біріне-бірі өңделген деректер бөлімдерін табыс ете отырып кодты атқаруды айтамыз. Төмендегі суретте осы жағдай feedback node аспабы көмегімен ұйымдастырылғаны бейнеленген.

<<Конвейеризация задач

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

Дабылдарды радиожиіліктік талдау және бейнекөріністерді талдауға арналған бағдарламаларда жоғарыдағы қатарластырылып бағдарламалау әдістері жиі қолданылады. Мысалға, Сіз тапсырмаларды конвейерлеу әдісін бірнеше қатарластырылып орындалатын дүркіндерде пайдалануыңызға болады. Төменде міне осындай мысал келтірілген:

<<Большинство программ обработки сигналов, такие как приложения радиочастотного анализа и анализа изображений, используют перечисленные выше и некоторые другие приемы организации параллельных вычислений. Например, вы можете использовать конвейеризацию в нескольких параллельно выполняющихся циклах в своем приложении. Среда LabVIEW позволяет писать приложения для многоядерных систем с помощью интуитивно понятного интерфейса. Рассмотрим пример решения задачи с использованием параллельных циклов:>>

Бұл бағдарламада екі қатарластырылған дүркін іске асырылған. Бірінші дүркін OK түймесіне басқанда сұхбаттық хабар шағарады. Екінші дүркін интерфейстік жақтауға кездейсоқ сандарды шағарады. Бір дүркіннің жұмысы екіншісінен тәуелсіз, тіптен бір уақытта хабар да кездейсоқ сандар да шағарылады. Бұл өте маңызды, өйткені сыртқы портқа деректер шығарылатын болса, онда түймені басқан кезде кейбір кездейсоқ сандар жоғалып кетуі әбден ықтимал. Ал, LabVIEW бұйымының арқасында мұндай деректер жоғалтуға орын берілмейді.

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

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

4-Дәріс