Wykorzystaj technologie wielowątkowe LabVIEW 8.6 w systemach pomiarowych i sterujących
| Prezentacje firmowe Artykuły„Świat jest równoległy. Ludzie żyją równolegle. Komputery wykonują obliczenia równolegle. Dlaczego mamy ograniczać się do stosowania technik programowania sekwencyjnego?” - zapytał kiedyś uznawany za twórcę LabVIEW Jeff Kodosky. Obecnie LabVIEW oferuje funkcjonalność pozwalającą na tworzenie wielowątkowych i działających równolegle systemów pomiarowych i sterujących. Sposoby na uzyskiwanie wiążącego się z tym zwiększania ich wydajności i redukowania kosztów wdrożeń opisano w artykule.
Ponieważ programowanie tekstowe cechuje z natury sekwencyjność wykonywania kodu, tworzenie aplikacji wielowątkowych, w których zachodzi konieczność zrównoleglenia wykonywanych obliczeń, jest trudne. Z tych powodów LabVIEW jest środowiskiem programistycznym, które jest o wiele lepiej niż np. język C przystosowane do tworzenia systemów działających równolegle. Wykorzystuje ono graficzny język programowania, co znacznie ułatwia tworzenie omawianych systemów i pozwala na ich wizualizację. Aplikacje, gdzie procesy wykonywane są równolegle, tworzone są wręcz automatycznie podczas programowania, gdyż tworzony w LabVIEW kod zawiera oddzielne wątki dla wykonywanych równolegle sekcji programu. Pozwala to projektantowi skupić się na rozwijaniu systemu, a nie zajmować problemami związanymi z jego niskopoziomową implementacją.
Nowa wersja LabVIEW 8.6 bazuje na równoległej naturze przetwarzania danych, oferując narzędzia pozwalające na wykorzystanie w tworzonych aplikacjach zalet procesorów wielordzeniowych i układów FPGA. Korzystając z nich, inżynierowie mogą tworzyć wielowątkowe systemy testowania i sterujące, jednocześnie redukując całkowite koszty wdrożeń.WYKONUJ OBLICZENIA WIELORDZENIOWE
W niedawno opublikowanym rankingu (top500.org) dotyczącym 500 superkomputerów dysponujących najwiekszą na świecie mocą obliczeniową, aż 77% z nich bazuje na wykorzystaniu klastrów procesorów wielordzeniowych. Tymczasem w 2007 roku było to jedynie 22%. Komputery te wykorzystują często takie same procesory, jak te dostępne we współczesnych PC, chociaż do ich obsługi stosowane jest wyspecjalizowane oprogramowanie. Również LabVIEW projektowany był z myślą o wykorzystaniu przetwarzania równoległego i od ponad 10 lat wspierał wykorzystanie wielowątkowości.
Nowa wersja LabVIEW 8.6 rozszerza możliwości użycia procesorów wielordzeniowych i znacznie zwiększa wydajność przetwarzania danych w tworzonych systemach. Ponad 1200 funkcji w bibliotekach matematycznych i przetwarzania sygnałów zostało zoptymalizowanych do wykorzystania w systemach z procesorami wielordzeniowymi. Przykładowa aplikacja testowa, w której wykorzystano system przetwarzania sygnałów, wskazała na ponad 6,6-krotne zwiększenie jego wydajności przy korzystaniu z procesora ośmiordzeniowego zamiast układu jednordzeniowego. Z kolei wykorzystując moduł projektowania i symulacji układów sterowania (LabVIEW 8.6 Control Design and Simulation Module) w systemach z procesorami wielordzeniowymi, można wykonywać dynamiczne symulacje pracy systemu do pięciu razy szybciej.Zmiany zaszły również w module NI Vision Development, gdzie wiele funkcji przetwarzania obrazu zostało zoptymalizowanych do automatycznej dystrybucji danych do wielu rdzeni procesora. Przykładowo funkcja splotu obrazu wykonywana może być do 15 razy szybciej z wykorzystaniem systemu z procesorem dwurdzeniowym. Pozwala to na uzyskanie w projektowanych systemach pomiarowych i sterowania wydajności oraz funkcjonalności dostępnych dotychczas tylko w superkomputerach.
SKRÓĆ CZAS PROJEKTOWANIA SYSTEMÓW Z FPGA
FPGA to układy pozwalające na największe ze wszystkich dostępnych obecnie technologii zrównoleglenie obliczeń. Pozwalają one na tworzenie układów pomiarowych i sterowania o wysokiej wydajności i niezawodności. Pomimo tych zalet wielu inżynierów nie wykorzystuje ich z powodu relatywnie dużego stopnia komplikacji związanego z tworzeniem systemów z FPGA. Nawet osoby specjalizujące się w tego typu projektach mogą mieć nieraz problemy aplikacyjne - np. z implementacją operacji stałoprzecinkowych.LabVIEW umożliwia radzenie sobie z powyższymi wyzwaniami poprzez wykorzystanie m.in. interaktywnych interfejsów użytkownika (UI), bardzo obszernych bibliotek funkcji do analizy oraz możliwość szybkiego prototypowania sprzętowego systemów. Najnowsza wersja LabVIEW 8.6 pozwala w szczególności rozwiązywać poniżej opisane problemy:
- Użycie tradycyjnego oprogramowania do rozwoju układów FPGA wymaga znajomość projektowania układów cyfrowych - w przypadku LabVIEW wykorzystuje się intuicyjny w obsłudze moduł LabVIEW FPGA, który pozwala na programowanie omawianych układów bez konieczności korzystania z języków opisu sprzętu (HDL).
- Programowanie FPGA wymagać może czasochłonnych procesów kompilacji i walidacji przed uruchomieniem - LabVIEW 8.6 znacznie ułatwia rozwój aplikacji z FPGA i debugowanie kodu poprzez symulowanie pracy układów FPGA z wykorzystaniem posiadanego komputera (bez kompilowania projektu). Dodatkowo możliwe jest testowanie (testbench) układu FPGA poprzez symulowanie sygnałów wejść/wyjść oraz sprawdzenie projektu przed kompilacją. Wykorzystując moduły NI Compact- RIO, użytkownik uzyskuje również dostęp do nowej funkcji w LabVIEW 8.6, którą jest tryb skanowania (Scan Mode) CompactRIO. Umożliwia on dostęp do wejść/wyjść w czasie rzeczywistym bez konieczności programowania FPGA.
- Istnieją trudności w przejściu od prototypu programowego do implementacji sprzętowej - ponieważ LabVIEW pozwala na wykonywanie programu zarówno korzystając z systemu komputerowego, jak i układu FPGA, przejście pomiędzy tymi technologiami jest o wiele prostsze i nie wymaga wprowadzania zmian w projekcie. Do cech ułatwiających pracę należy również wsparcie dla liczb stałoprzecinkowych oraz dostępność gotowych modułów IP (Intellectual Property), takich jak np. szybka transformata Fouriera (FFT).
- Uaktualnienie projektu, tak aby wykorzystywał on najnowsze układy FPGA, może być czasochłonne i kosztowne - LabVIEW zapewnia ochronę inwestycji w projekt poprzez jego tworzenie na odpowiednim poziomie abstrakcji, co umożliwia w przyszłości korzystanie z nowych platform sprzętowych. Przykładami tych ostatnich są urządzenia z serii NI R, gdzie wykorzystuje się układy Xilinx Virtex-5, oraz NI Single-Board RIO, które są jednopłytkowymi (nieobudowanymi) platformami rekonfi gurowalnych wejść/wyjść.
Wydarzenia na świecie dzieją się równolegle, a inżynierowie oraz naukowcy muszą mieć możliwość tworzenia odpowiadających temu rozwiązań pomiarowych i systemów automatyzacji. Wykorzystując procesory wielordzeniowe, układy FPGA, moduły Wi-Fi DAQ oraz LabVIEW 8.6, mogą oni korzystać z tego, co było zawsze częścią graficznego środowiska projektowego - możliwości łatwego użycia najnowszych technologii, nieważne, jak bardzo byłyby one same skomplikowane.
National Instruments Poland Sp. z o.o. Salzburg Center, ul. Grójecka 5 02-025 Warszawa Bezpłatna infolinia: 00 800 361 1235 tel. 022 328 90 10, faks 022 331 96 40 |