Jedną z najnowszych technologii promowanych przez SNIA, wobec której wciąż jest wiele nieporozumień, są pamięci masowe umożliwiające przetwarzanie danych, a więc computational storage. Jaki jest obecny status tego projektu?

To jest nasze oczko w głowie, ale rzeczywiście, wciąż wiele działań edukacyjnych przed nami. Zazwyczaj ludziom wydaje się, że głównym celem tego projektu jest wyposażenie nośników w jakiś rodzaj procesora przyspieszającego przetwarzanie zgromadzonych na nich danych. Oczywiście jest to możliwe i pojawiały się już takie nośniki z układem odpowiedzialnym za kompresję gromadzonych danych, aby odciążyć kontroler macierzowy. Jednak liczba możliwych zastosowań takiego podejścia jest bardzo ograniczona. Naszym celem jest doprowadzenie do takiej sytuacji, aby możliwe było tworzenie środowisk z zapewnioną elastycznością co do wyboru miejsca przetwarzania danych. Do tej pory dzieje się to w serwerach, do których dane dostarczane są trochę wolniej z zewnętrznych, łatwo skalowalnych macierzy dyskowych lub szybciej z wbudowanych nośników, których jest jednak ograniczona liczba. A co w sytuacji odwrotnej, gdy istnieje chwilowa potrzeba przetworzenia danych rozrzuconych na bardzo dużej liczbie nośników? Wówczas to macierz dyskowa powinna móc przeprowadzić taką operację, aby nie obciążać sieci przesyłanymi danymi. Docelowo chcemy spowodować, aby powstawały systemy umożliwiające przetwarzanie danych tam, gdzie w danej sytuacji jest to najbardziej optymalne z punktu widzenia całego środowiska IT. Opublikowaliśmy już główne założenia tej koncepcji.

Brzmi to jak niemała rewolucja w branży…

Muszę przyznać, że w tej dziedzinie zostaliśmy nieco ukarani przez sukces naszego własnego marketingu. Opowiadamy o zarysach tej koncepcji już od paru lat i wiele osób z niecierpliwością oczekuje na konkretne rozwiązania. Jednak pojawianie się ich będzie rozciągnięte w czasie, to będzie raczej szybko postępująca ewolucja. Ale cieszy nas, że firmy wykazują zapotrzebowanie na przyspieszenie działań obliczeniowych, bo to zagwarantuje rynkowy sukces tej koncepcji. Na razie łączymy wiele kropek, aby powstał finalny obrazek. Aktywnie współpracujemy z NVM Express, DMTF oraz wieloma różnymi przedsiębiorstwami, aby lepiej zrozumieć oczekiwania i zdefiniować jak w rzeczywistości będziemy w stanie je zaspokoić przy różnych rodzajach zadań obliczeniowych, ze szczególnym naciskiem na sztuczną inteligencję i HPC.

Kiedy i jakiego typu produkty pojawią się zatem jako pierwsze?

Pierwsze produkty już są dostępne, ale one wykonują predefiniowane, wpisane na stałe funkcje, jak szyfrowanie czy wspomniana kompresja. Dzięki koncepcji computational storage dość szybko możliwe będzie stworzenie też wydajnych kontrolerów RAID dla pamięci NVMe. Zastosowanie w nich dotychczasowego podejścia nie najlepiej się sprawdza, ponieważ wprowadzenie warstwy wirtualizacyjnej charakterystycznej dla RAID powoduje dezaktywację wielu funkcji zapewnianych przez protokół NVMe. Wskazane zatem jest wyposażenie kontrolerów RAID w dodatkowy szybki układ, który będzie wykonywał stosowne obliczenia związane nie tylko z dystrybucją paczek danych na poszczególne nośniki, ale też ich dostarczaniem do magistrali komputera. Jednakże docelowo w koncepcji computational storage chodzi o to, aby zapewnić większą elastyczność wyboru miejsca, gdzie przetwarzane są dane. Bardzo wyczekiwaną przez klientów funkcją jest wyposażenie kontrolerów macierzowych w możliwość dokonywania wstępnej analizy danych na potrzeby mechanizmów uczenia maszynowego. To też w dużym stopniu odciążyłoby sieć, ponieważ do przetworzenia przez serwery trafiałyby tylko wartościowe informacje. Oszczędności czasu i energii, które w dużej skali można dzięki temu uzyskać, są nie do przecenienia.

Czy tego typu podejście będzie wymagało też specjalnych aplikacji? Czy będzie konieczne przepisanie części oprogramowania, tak jak wymusiły to środowiska wirtualizacyjne i chmura obliczeniowa?

Na pewno nie można dopuścić do tego, aby klienci, którzy kupią rozwiązania z funkcją computational storage, byli zmuszani do przepisywania swojego oprogramowania. Dlatego korzystanie z niej powinno być opcjonalne. W niektórych przypadkach, gdy to układ w nośniku odpowiedzialny jest za wybrane operacje obliczeniowe, jak wspomniane szyfrowanie czy kompresję, aplikacja nie musi być świadoma istnienia tego procesu. Z tym, że docelowo należy zakładać, iż optymalne wykorzystanie dodatkowych możliwości zapewnianych przez computational storage będzie wymagało „świadomości” ich dostępności ze strony oprogramowania. My jednak w tym względzie pozostaniemy neutralni jak tylko to będzie możliwe – nie będziemy ani do tego zachęcali, ani też tego wymagali.

Rozmawiał Krzysztof Jakubik

Dr J Michel Metz Dr J Michel Metz  

Już czwartą kadencję pełni funkcję przewodniczącego Rady Dyrektorów SNIA. Ponadto został przewodniczącym powstałego rok temu Ultra Ethernet Consortium, jak też jest dyrektorem technicznym ds. projektowania systemów w AMD. Wcześniej zajmował szereg stanowisk technicznych i menedżerskich (Field CTO, inżynier ds. badań i rozwoju, architekt rozwiązań i inżynier systemów) zarówno w startupach, jak i w firmach z listy Fortune 100. W przeszłości był członkiem zarządu Fibre Channel Industry Association (FCIA) oraz Non-Volatile Memory Express (NVMe). Uzyskał tytuł doktora na University of Georgia.