Budowa systemów wielozadaniowych z dynamiczną wymianą funkcji Część druga: łączenie i zarządzanie zasobami

Węzeł źródłowy: 1600304

W naszym poprzednim artykuł, wspomnieliśmy, że jednym z najczęstszych niedopatrzeń, jakie mogą popełnić projektanci, jest niepełne wykorzystanie dostępnych zasobów systemowych, i przedstawiliśmy koncepcję dynamicznej wymiany funkcji (DFX), podejście projektowe polegające na dynamicznym przeniesieniu nieużywanych zasobów systemowych do innych zadania.

Z technicznego punktu widzenia wdrożenie DFX jest stosunkowo proste przy użyciu koncepcji zwanej pakietowaniem. W przypadku łączenia bloki funkcji są realizowane razem w zależności od trybu pracy systemu.

Na przykład w pojeździe autonomicznym, gdy samochód jest zaparkowany, może on znajdować się w trybie „Zaparkowany” i być gotowy do wykonania dostępu bezkluczykowego i procesów bezpieczeństwa, takich jak identyfikacja biometryczna. Tryb „LowSpeed” charakteryzuje się niską prędkością i zapewnia funkcjonalność skupioną wokół samochodu, w tym asystenta parkowania i widok 360 stopni dla kierowcy. A tryb „Highway” śledzi i przewiduje ruch otaczających i nadjeżdżających pojazdów poruszających się z dużą prędkością. Wprowadza również monitorowanie kierowcy, aby upewnić się, że kierowca jest uważny i nie zasypia. Krótko mówiąc, pakietowanie umożliwia upakowanie przyspieszanej sprzętowo funkcjonalności trzech systemów w ramach sprzętowej pojedynczego systemu (patrz rysunek 1).


Rys. 1: Wykorzystanie dynamicznej wymiany funkcji (DFX) do łączenia funkcji w oparciu o przypadek użycia, jak pokazano tutaj, umożliwia wdrożenie funkcjonalności wielu układów SoC i ASIC w jednym urządzeniu.

W praktyce DFX jest znacznie bardziej elastyczny. Weź pod uwagę, że zaawansowany system wspomagania kierowcy (ADAS) może dostosowywać się do zmieniających się czynników środowiskowych, takich jak noc lub dzień. Kiedy pojazd wjeżdża do tunelu, DFX umożliwia systemowi szybkie przełączenie się na funkcjonalność nocną i algorytmy poprawiające bezpieczeństwo. System może również wykrywać deszcz lub śnieg i odpowiednio dostosowywać funkcje wspomagające kierowcę, aby jeszcze bardziej zwiększyć bezpieczeństwo i niezawodność w oparciu o warunki jazdy w czasie rzeczywistym.

Dzięki DFX ten sam sprzęt może być używany, zapewniając sprzętową akcelerację w celu spełnienia wymagań dotyczących przetwarzania w czasie rzeczywistym. W przypadku GPU i/lub niestandardowego SoC sprzęt jest ograniczony do funkcji, dla których został zaprojektowany, co oznacza, że ​​każdy sprzęt przeznaczony do rzadko używanej funkcji (np. jazdy po śniegu) będzie przez większość czasu bezczynny.

DFX był szeroko stosowany i sprawdzony w zastosowaniach takich jak komunikacja bezprzewodowa i zastosowaniach wojskowych, takich jak radio definiowane programowo (SD). Powszechnym błędem jest przekonanie, że elastyczność radia SD wynika wyłącznie z oprogramowania; do różnych zastosowań potrzebny jest inny sprzęt do przyspieszenia przetwarzania.

Dzięki elastycznemu podejściu do projektowania firma DFX może wdrażać złożone systemy przy znacznie mniejszych zasobach sprzętowych. Skutkuje to mniejszą powierzchnią zajmowaną przez systemy elektroniczne, niższym zużyciem energii, oszczędnościami kosztów operacyjnych i niższymi kosztami sprzętu.

Wyższa jakość i niezawodność

Zdolność DFX do umożliwienia systemom realokacji zasobów przetwarzania i wykorzystania niepełnego wykorzystania pozwala projektantom na ponowne rozważenie wielu kompromisów systemowych. Rozważ dostawcę treści przesyłającego strumieniowo wideo na żywo od użytkowników. Podczas szczytowego wykorzystania określony serwer może być punktem odbioru przychodzącego wideo. Gdy akceleracja jest zaimplementowana sprzętowo jako układ scalony, sprzęt jest ograniczony do zadania, do którego został zaprojektowany. Gdy w godzinach poza szczytem odbieranych jest mniej wideo, układ scalony pozostaje bezczynny.

Gdy funkcjonalność pozyskiwania jest zaimplementowana na adaptacyjnej platformie obliczeniowej przy użyciu DFX, zadania pozyskiwania są przetwarzane z szybkością sprzętową. Poza szczytem, ​​kiedy FPGA ma mniej danych do przetworzenia, zamiast siedzieć bezczynnie, system może rekonfigurować część siebie, aby wykonać inne zadanie. Dostawca może wziąć zasoby, które byłyby bezczynne w stałej implementacji (tj. GPU/SoC) i przydzielić je do innego zadania. Może to przybrać formę wykorzystania algorytmów kodowania wymagających większej mocy obliczeniowej w celu oszczędzania przepustowości lub lepszego przetwarzania przed/poprodukcyjnego w celu poprawy jakości obrazu i zapewnienia wyższej jakości obsługi użytkownika. Innymi słowy, to, co w przeciwnym razie byłoby bezczynnymi zasobami, zwiększa wartość dostarczaną klientom.

Alternatywnie, dostępne zasoby można przydzielić do zadań autodiagnostycznych, takich jak monitorowanie. Monitorowanie jest ważną funkcją utrzymywania kondycji sieci i aplikacji. Każdy serwer z dostępną pojemnością mógłby się monitorować, przeprowadzać głęboką inspekcję pakietów itp., aby zwiększyć niezawodność działania.

Zdolność adaptacji i szczytowa pojemność

Jedną z najważniejszych zalet DFX jest zdolność adaptacji. Naprawione implementacje muszą nadmiernie udostępniać możliwości, aby sprostać szczytowym przepustowościom. Kiedy wartość szczytowa przekracza określony próg, system nie może już obsłużyć przychodzącego obciążenia i konieczna jest dodatkowa inwestycja w sprzęt.

Z adaptacyjna platforma obliczeniowa w połączeniu z DFX projektanci mogą elastycznie udostępniać zasoby w celu optymalizacji wydajności aplikacji w czasie rzeczywistym, gdy zmieniają się dane i wymagania użytkowników. Na przykład, gdy system zbliża się do pełnego wykorzystania, może zmniejszać zasoby na mniej ważne zadania, aby zwolnić zasoby w celu obsługi dodatkowej pojemności.

Ponownie rozważ dostawcę treści przesyłanych strumieniowo na żywo. Gdy sieć działa ze średnią przepustowością, dostępne zasoby można przydzielić w celu zapewnienia najwyższej jakości we wszystkich strumieniach. Gdy sieć działa w szczytowym momencie, ważne transmisje (tzn. te z dużą oglądalnością) mogą utrzymać swoją wysoką jakość, podczas gdy system wymienia niewielki spadek jakości na mniej ważne transmisje (tj. te z niską oglądalnością), aby wspierać wyższą gęstość strumieni.

Kolejną korzyścią jest możliwość dostosowania się do wąskich gardeł w miarę ich przesuwania. Na przykład, gdy zapotrzebowanie na przesyłanie strumieniowe rośnie i spada, zasoby można dynamicznie rekonfigurować, aby zapewnić większą lub mniejszą pojemność pozyskiwania. Jako adaptacyjna platforma obliczeniowa, FPGA staje się optymalnym stosunkiem sprzętowym zasobów akcelerowanych sprzętowo potrzebnych do aplikacji i obciążeń, które są aktualnie potrzebne.

sztuczna inteligencja

Sztuczna inteligencja jest coraz ważniejszą technologią w prawie wszystkich zastosowaniach. Na przykład w pojazdach wprowadzenie sztucznej inteligencji do algorytmu deszczu lub śniegu pozwala systemowi nauczyć się dostosowywać do konkretnych warunków pogodowych, w których mieszka kierowca. Dzięki bardziej zaawansowanym algorytmom pojazd może z czasem nauczyć się dostosowywać do każdego indywidualnego kierowcy.

Naprawiono akcelerację sprzętową przy użyciu wyspecjalizowanych układów scalonych, która ma ograniczoną elastyczność w dostosowywaniu. Często modele wnioskowania AI można aktualizować, o ile opierają się one na tej samej technologii modelu podstawowego. AI podlega również dynamicznemu ładowaniu. Rozważ aplikację do rozpoznawania twarzy opartą na sztucznej inteligencji, która jest często używana w ciągu dnia, kiedy biuro jest aktywne. Wieczorem, gdy zapotrzebowanie na rozpoznawanie twarzy jest znacznie mniejsze, zasoby stałe będą nieaktywne.

DFX w połączeniu z obliczeniami adaptacyjnymi pozwala systemowi maksymalnie wykorzystać sztuczną inteligencję. Postępy w algorytmach sztucznej inteligencji można wdrażać w odpowiednim czasie, w miarę ich ewolucji. Ponadto, gdy zostanie opracowany nowy algorytm lub model AI, można go szybko zaimplementować w systemach. Nowe algorytmy mogą być stosowane nawet w systemach, które są już wdrożone w terenie, dzięki czemu projekty są przyszłościowe.

DFX umożliwia również nowy wymiar optymalizacji systemów poprzez równoległość. Przetwarzanie dużych zestawów danych może zająć dużo czasu. Dzięki DFX można równolegle zaimplementować dynamiczną liczbę wystąpień funkcji, aby przyspieszyć przetwarzanie dużych zbiorów danych.

W naszym ostatnim artykule dowiesz się o niektórych narzędziach, które umożliwiają użytkownikom wdrażanie DFX w ich systemach.

Źródło: https://semiengineering.com/building-multipurpose-systems-with-dynamic-function-exchange-part-two-bundling-and-managing-resources/

Znak czasu:

Więcej z Inżynieria półprzewodników