Dlaczego obliczenia funkcji inteligentnego domu stają się ważniejsze wraz ze wzrostem liczby czujników przy tej samej częstotliwości próbkowania?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Obliczanie cech ma większe znaczenie przy dodatkowych czujnikach, ponieważ strumienie o stałej częstotliwości zwielokrotniają pracę przypadającą na próbkę oraz tworzą dodatkowe zależności synchronizacji i fuzji danych.

Przy jednej próbce na sekundę 20 czujników generuje 1,7 miliona obserwacji dziennie, a 200 czujników — 17,3 miliona. Filtrowanie każdego strumienia skaluje się w przybliżeniu wraz z liczbą czujników, podczas gdy korelacje na poziomie pomieszczenia, fuzja danych o obecności i nakładające się okna dodają pracę związaną z wyrównywaniem oraz parami czujników. Częstotliwość próbkowania pozostała stała, ale łączna liczba zdarzeń nie zmieniła się w ten sam sposób podczas najbardziej obciążonego okna automatyzacji.

Praca przypadająca na czujnik skaluje się wraz z liczbą strumieni i próbek

Cecha taka jak średnia krocząca, wariancja, nachylenie lub stan progowy przetwarza każdą napływającą wartość i przechowuje stan okna. Przy N czujnikach i częstotliwości f podstawowa praca oraz ruch zdarzeń skalują się w przybliżeniu jak N razy f, gdy liczba cech pozostaje stała.

Przegląd przetwarzania danych z czujników opisuje filtrowanie, agregację, ekstrakcję cech i fuzję jako odrębne etapy. Każdy z nich może być realizowany na urządzeniach, w węzłach brzegowych i na serwerach.

Zapis do bazy danych, analiza komunikatów i znaczniki czasu mogą dominować nad prostymi obliczeniami arytmetycznymi. Dziesięć razy więcej czujników może więc oznaczać dziesięciokrotnie większy narzut związany z planowaniem i przechowywaniem danych, nawet gdy każda formuła jest prosta.

Cechy między czujnikami mogą rosnąć szybciej niż liniowo

Modele obecności lub anomalii mogą porównywać kilka czujników w tym samym oknie czasowym. Korelacja wszystkich par tworzy w przybliżeniu N do kwadratu zależności, a fuzja grupowa rośnie wraz z liczbą czujników w pomieszczeniu i długością okna. Przesunięcia zegarów oraz brakujące próbki dodają operacje łączenia i interpolacji.

Badania nad ekstrakcją cech na brzegu sieci traktują lokalną ekstrakcję cech jako sposób na zmniejszenie ilości danych przesyłanych do systemów nadrzędnych o rzędy wielkości. Obliczenia nie znikają — są przenoszone bliżej źródła.

Znaczenie ma także nakładanie się okien. Ponowne obliczanie statystyki z 60 próbek co sekundę kosztuje więcej niż utrzymywanie stanu inkrementalnego. Ta sama częstotliwość próbkowania nie oznacza takiej samej pracy algorytmicznej, gdy liczba czujników zmienia liczbę zależności.

Kiedy liczba czujników nie jest wąskim gardłem

Większa liczba urządzeń może nieznacznie zwiększyć koszty, gdy raportują rzadko, cechy są obsługiwane zdarzeniowo, a obliczenia są niezależne i inkrementalne. Jedna kamera lub czujnik audio o wysokiej częstotliwości może obciążać system bardziej niż setki sond temperatury.

Przegląd obciążeń związanych z analizą brzegową podkreśla, że rozmieszczenie obciążenia i typ danych określają presję na zasoby brzegowe. Samo liczenie urządzeń bez uwzględnienia liczby bajtów i operacji jest niewystarczające.

Ten mechanizm przestaje mieć zastosowanie także wtedy, gdy opóźnienie automatyzacji wynika z ponowień transmisji radiowej, blokad bazy danych lub wielokrotnych połączeń z chmurą, a nie z obliczania cech. Większa moc obliczeniowa nie jest automatycznie rozwiązaniem. Zanim przypiszesz opóźnienie skali systemu czujników, zmierz wiek kolejki i czas wykonywania cech.

Odtwarzaj obciążenie przy różnej liczbie czujników, zanim automatyzacje zaczną się spóźniać

Sporządź wykaz częstotliwości próbkowania lub zdarzeń każdego czujnika, rozmiaru danych, liczby cech, długości okna i grupy fuzji. Odtwórz strumień obejmujący jeden, dwa, pięć i dziesięć razy większą liczbę czujników, rejestrując czas procesora na cechę, wiek kolejki, zużycie pamięci, liczbę zapisów do bazy danych i opóźnienie automatyzacji.

Skorzystaj z rozróżnień dotyczących rozmieszczenia opisanych w artykule kontekst pomiarów czujników, aby nie traktować rzeczywistych rozbieżności środowiskowych jako błędu obliczeniowego. Podczas testów obciążenia zachowaj identyczną normalizację znaczników czasu.

Jeśli zużycie procesora i wiek kolejki rosną liniowo, zmniejsz narzut na zdarzenie lub grupuj zapisy. Jeśli wzrost przyspiesza, sprawdź łączenia wszystkich par i nakładające się okna. Wstępnie obliczaj inkrementalne podsumowania, grupuj wyłącznie powiązane czujniki i przechowuj dane surowe z mniejszą częstotliwością, gdy nie wspierają one konkretnej decyzji.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.