Otworzono kod SQL-silnika BlazingSQL, wykorzystującego GPU do przyspieszenia

Ogłoszono o otwarciu kodów źródłowych silnika SQL BlazingSQL, wykorzystującego GPU do przyspieszania przetwarzania danych. BlazingSQL nie jest pełnoprawną bazą danych, lecz jest pozycjonowany jako silnik do analizy i przetwarzania dużych zbiorów danych, porównywalny w swoich zadaniach z Apache Spark. Kod jest napisany w języku Python i otwarty na licencji Apache 2.0.

BlazingSQL nadaje się do wykonywania pojedynczych zapytań analitycznych na dużych zbiorach danych (dziesiątki gigabajtów), przechowywanych w formatach tabelarycznych (np. logi, statystyki NetFlow itd.). BlazingSQL może wykonywać zapytania z plików raw w formatach CSV i Apache Parquet, umieszczonych 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 równoległemu wykonywaniu operacji na GPU oraz używaniu szybszej pamięci wideo, zapytania w BlazingSQL są realizowane nawet do 20 razy szybciej niż w Apache Spark.

Otworzono kod SQL-silnika BlazingSQL, wykorzystującego GPU do przyspieszenia

Do pracy z GPU wykorzystywany jest rozwijany przy współpracy z firmą NVIDIA zbiór otwartych bibliotek RAPIDS, który umożliwia tworzenie aplikacji do przetwarzania danych i analityki, wykonywanych całkowicie po stronie GPU (zapewniany jest interfejs Pythona do korzystania z niskopoziomowych prymitywów CUDA oraz równoległego przetwarzania obliczeń).

BlazingSQL udostępnia możliwość korzystania z SQL zamiast API przetwarzania danych cuUDF (opartego na Apache Arrow), stosowanego w RAPIDS. BlazingSQL jest dodatkową warstwą, działającą na powierzchni cuDF i wykorzystującą bibliotekę cuIO do odczytu danych z dysku. Zapytania SQL są transliterowane do wywołań funkcji cuUDF, co pozwala na załadowanie danych do GPU oraz wykonywanie operacji łączenia, agregacji i filtrowania. Wspierane jest tworzenie rozproszonych konfiguracji, obejmujących tysiące GPU.

BlazingSQL znacznie upraszcza pracę z danymi — zamiast setek wywołań funkcji cuDF można się ograniczyć do jednego zapytania SQL. Zastosowanie SQL pozwala na integrację RAPIDS z istniejącymi systemami analitycznymi, bez pisania specyficznych handlerów i bez uciekania się do pośredniego ładowania danych do dodatkowej bazy danych, ale
przy zachowaniu pełnej kompatybilności ze wszystkimi elementami RAPIDS, transliterując istniejącą funkcjonalność do SQL i zapewniając wydajność na poziomie cuDF. W tym zapewniona jest integracja z bibliotekami XGBoost i cuML do rozwiązywania problemów analitycznych i uczenia maszynowego.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster