Otwarty kod silnika BlazingSQL SQL, przy użyciu procesora graficznego do przyspieszania

Ogłoszony o otwieraniu źródeł silnika SQL Płonący SQL, który wykorzystuje procesor graficzny do przyspieszenia przetwarzania danych. BlazingSQL nie jest pełnoprawnym systemem DBMS, ale jest pozycjonowany jako silnik do analizy i przetwarzania dużych zbiorów danych, porównywalny pod względem zadań do Apache Spark. Kod jest napisany w Pythonie i otwarty na licencji Apache 2.0.

BlazingSQL nadaje się do uruchamiania pojedynczych zapytań analitycznych na dużych zbiorach danych (dziesiątki gigabajtów) przechowywanych w formatach tabelarycznych (na przykład logi, statystyki NetFlow itp.). BlazingSQL może uruchamiać zapytania z nieprzetworzonych plików w formatach CSV i Apache Parquet hostowanych w sieciowych i chmurowych systemach plików, takich jak HDSF i AWS S3, bezpośrednio przesyłając wyniki do pamięci GPU. Dzięki zrównoleglenia operacji w GPU i wykorzystaniu szybszej pamięci wideo, zapytania BlazingSQL wykonują się w czasie krótszym niż 20 razy szybszy niż Apache Spark.

Otwarty kod silnika BlazingSQL SQL, przy użyciu procesora graficznego do przyspieszania

Do współpracy z procesorami graficznymi wykorzystywany jest zestaw opracowany przy udziale firmy NVIDIA otwarty biblioteki KATARAKTY NA RZECE, który umożliwia tworzenie aplikacji do przetwarzania i analizy danych, które działają całkowicie po stronie procesora graficznego (dostarczanego przez Interfejs Pythona aby używać prymitywów CUDA niskiego poziomu i wykonywać obliczenia równoległe).

BlazingSQL zapewnia możliwość korzystania z SQL zamiast interfejsów API do przetwarzania danych cuUDF (na bazie Strzała Apache) używany w RAPIDS. BlazingSQL to dodatkowa warstwa działająca na bazie cuDF i wykorzystująca bibliotekę cuIO do odczytu danych z dysku. Zapytania SQL są tłumaczone na wywołania funkcji cuUDF, które umożliwiają załadowanie danych do procesora graficznego i wykonanie na nim operacji scalania, agregacji i filtrowania. Obsługiwane jest tworzenie rozproszonych konfiguracji obejmujących tysiące procesorów graficznych.

BlazingSQL znacznie upraszcza pracę z danymi - zamiast setek wywołań funkcji cuDF, możesz użyć jednego zapytania SQL. Zastosowanie języka SQL umożliwia integrację RAPIDS z istniejącymi systemami analitycznymi, bez konieczności pisania konkretnych procesorów i bez uciekania się do pośredniego ładowania danych do dodatkowego DBMS, ale
zachowując pełną kompatybilność ze wszystkimi częściami RAPIDS, tłumacząc istniejącą funkcjonalność na SQL i zapewniając wydajność na poziomie cuDF. Obejmuje to wsparcie integracji z bibliotekami. XGBoost и CuML do rozwiązywania problemów analityki i uczenia maszynowego.

Źródło: opennet.ru

Dodaj komentarz