19 głów hydry. Świetny przegląd programu

W dniach 11-12 lipca w Petersburgu odbędzie się konferencja Hydrapoświęcony rozwojowi systemów równoległych i rozproszonych. Rzecz w Hydrze polega na tym, że łączy najlepszych naukowców (których zwykle można spotkać tylko na zagranicznych konferencjach naukowych) i znanych inżynierów-praktyków w jeden wielki program na przecięciu nauki i praktyki.

Hydra to jedna z naszych najważniejszych konferencji ostatnich lat. Poprzedziły go bardzo poważne przygotowania, dobór prelegentów i sprawozdania. o tym w zeszłym tygodniu wyszedł habrowywiad z dyrektorem Grupy JUG.ru Aleksiejem Fiodorowem (23derew).

My już powiedziałem o trzech ważnych uczestnikach, twórcach teorii systemów rozproszonych – Leslie Lamport, Maurice Herlihy i Michaelu Scottie. Czas porozmawiać o całym programie!

19 głów hydry. Świetny przegląd programu

Motywacja

Jeśli programujesz, to w ten czy inny sposób masz do czynienia z przetwarzaniem wielowątkowym i rozproszonym. Specjaliści w odpowiednich dziedzinach współpracują z nimi bezpośrednio, ale pośrednio, dystrybucja patrzy na nas zewsząd: w każdym wielordzeniowym komputerze lub usłudze rozproszonej jest coś, co wykonuje obliczenia równolegle.

Istnieje wiele konferencji poświęconych pewnym aspektom programowania aplikacji. Po drugiej stronie spektrum mamy specjalne szkoły naukowe, w formie wykładów, ujawniające ogromne ilości złożonej teorii. Na przykład równolegle z Hydrą w Petersburgu, szkoła SPTDC. Na konferencji Hydry staraliśmy się połączyć surową praktykę z nauką i wszystkim, co znajduje się na ich przecięciu.

Pomyśl o tym: żyjemy w niesamowitych czasach, w których możesz spotkać na żywo założycieli dziedziny nauki i inżynierii, którą się zajmujemy. Fizycy nie spotkają ani Newtona, ani Einsteina – pociąg odjechał. Ale ci, którzy stworzyli podstawy teorii systemów rozproszonych, wynaleźli popularne języki programowania i po raz pierwszy wcielili to wszystko w działające prototypy, nadal żyją obok nas. Ci ludzie nie zrezygnowali z pracy w połowie, wykonują obecnie realne zadania na renomowanych uniwersytetach i firmach i są dziś największymi źródłami wiedzy i doświadczenia.

Z drugiej strony możliwość spotkania się z nimi zwykle pozostaje czysto teoretyczna: niewielu z nas może na bieżąco monitorować wydarzenia publiczne na jakimś Uniwersytecie w Rochester, by potem pędzić do USA iz powrotem na wykład Michaela Scotta. Odwiedzenie wszystkich członków Hydry w ogóle byłoby małą fortuną, nie licząc ogromu spędzonego czasu (choć brzmi to jak ciekawa misja).

Z drugiej strony mamy wielu najlepszych inżynierów, którzy obecnie pracują nad rzeczywistymi problemami systemów rozproszonych i zdecydowanie mają coś do powiedzenia. Ale tu jest problem - oni działająa ich czas jest cenny. Tak, jeśli jesteś pracownikiem Microsoft, Google czy JetBrains, prawdopodobieństwo spotkania jednego ze znanych prelegentów na wewnętrznym wydarzeniu dramatycznie wzrasta, ale generalnie – nie, nie zdarza się to codziennie.

W ten sposób konferencja Hydra realizuje ważne zadanie, którego większość z nas nie jest w stanie wykonać samodzielnie – w jednym miejscu i czasie gromadzi ludzi, których pomysły lub komunikacja z którymi mogą zmienić Twoje życie. Przyznaję, że nie każdemu potrzebne są systemy rozproszone, jakieś złożone fundamentalne rzeczy. Możesz programować CRUDy w PHP do końca życia i być w pełni szczęśliwym. Ale kto tego potrzebuje - to twoja szansa.

Od pierwszej zapowiedzi konferencji Hydry na temat Habré minęło sporo czasu. W tym czasie wykonano wiele pracy - i teraz mamy listę prawie wszystkich raportów. Żadnych powolnych algorytmów jednowątkowych, tylko czysty rozproszony hardcore! Zakończmy słowami ogólnymi i zobaczmy, co mamy teraz pod ręką.

Keynotes

Keynotes rozpoczynają i kończą dni konferencji. Zwykle celem przemówienia otwierającego jest określenie ogólnego ducha i kierunku konferencji. Zamykająca myśl przewodnia wyznacza granicę i wyjaśnia, w jaki sposób możemy żyć z wiedzą i umiejętnościami zdobytymi podczas dni konferencji. Początek i koniec: to, co najlepiej zapamiętuje się i generalnie ma większą wartość.

Klifowe kliknięcie- Rozłożony algorytm K/V H2O

19 głów hydry. Świetny przegląd programu Cliff to legenda w świecie Java. Pod koniec lat 90. w ramach pracy doktorskiej napisał pracę pt „Łączenie analiz, łączenie optymalizacji”, który po pewnym czasie stał się podstawą HotSpot JVM Server Compiler. Dwa lata później pracował już w Sun Microsystems nad JVM i pokazał całemu światu, że JIT ma prawo istnieć. Cała ta historia o tym, że Java jest jednym z najszybszych współczesnych środowisk wykonawczych z najmądrzejszymi i najszybszymi optymalizacjami, pochodzi od Cliff Click. Na samym początku wierzono, że jeśli coś jest dostępne statycznemu kompilatorowi, to nie można tego nawet próbować jitować. Dzięki pracy Cliffa i zespołu zaczęto tworzyć wszystkie nowe języki z myślą o domyślnej kompilacji JIT. Oczywiście nie było to dzieło jednej osoby, ale Cliff odegrał w nim bardzo ważną rolę.

W przemówieniu otwierającym Cliff opowie o swoim innym przedsięwzięciu - H20, platforma in-memory do rozproszonego i skalowalnego uczenia maszynowego do zastosowań przemysłowych. Dokładniej, o rozproszonym przechowywaniu par klucz-wartość w nim. Jest to bardzo szybka pamięć masowa z wieloma ciekawymi właściwościami (dokładna lista znajduje się w opis), które pozwalają na zastosowanie podobnych rozwiązań w matematyce strumieniowania dużych zbiorów danych.

Kolejną przemową, którą wygłosi Cliff, jest Doświadczenie sprzętowej pamięci transakcyjnej Azul. Kolejna część jego biografii - dziesięć lat pracuje w Azulu, gdzie zaktualizował i ulepszył wiele rzeczy w stosie sprzętowym i technologicznym Azul: kompilatory JIT, środowisko uruchomieniowe, model wątków, obsługę błędów, manipulację stosem, przerwania sprzętowe, ładowanie klas itd. pomysł.

Najciekawsza część zaczęła się, gdy stworzyli sprzęt dla wielkiego biznesu - superkomputer do obsługi Javy. Była to dość innowacyjna rzecz, skrojona specjalnie pod Javę, która ma specjalne wymagania - bariery pamięciowe do odczytu dla niskopauzowego wyrzucania elementów bezużytecznych, tablice ze sprawdzaniem granic, wywołania wirtualne... Jedną z najfajniejszych technologii jest sprzętowa pamięć transakcyjna. Cały L1 dowolnego z 864 rdzeni mógłby uczestniczyć w zapisie transakcyjnym, co jest szczególnie ważne przy pracy z blokadami w Javie (zsynchronizowane bloki mogą pracować równolegle, o ile nie występuje rzeczywisty konflikt pamięci). Ale piękny pomysł zderzył się z brutalną rzeczywistością — w tym raporcie Cliff opowie, dlaczego HTM i STM nie są dobrze dostosowane do praktycznych potrzeb przetwarzania wielowątkowego.

Michael Scott- Podwójne struktury danych

19 głów hydry. Świetny przegląd programu Michaela Scotta - profesor informatyki na Uniwersytecie w Rochester, z którym połączył go los już od 34 lat, a na swoim rodzinnym Uniwersytecie Wisconsin-Madison był dziekanem przez pięć lat. Zajmuje się badaniami w zakresie programowania równoległego i rozproszonego oraz projektowania języków i uczy tego studentów.

Cały świat zna Michaela dzięki podręcznikowi „Pragmatyka języka programowania”, którego ostatnie wydanie ukazało się stosunkowo niedawno – w 2015 roku. Jego praca „Algorytmy skalowalnej synchronizacji na multiprocesorach z pamięcią współdzieloną” otrzymane Nagroda Dijkstry jako jeden z najbardziej znanych w dziedzinie przetwarzania rozproszonego i kłamie otwarcie w bibliotece internetowej Uniwersytetu w Rochester. Możesz go również znać jako autora tego samego algorytmu Michaela-Scotta z „Proste, szybkie i praktyczne algorytmy współbieżnych kolejek nieblokujących i blokujących”.

Jeśli chodzi o świat Javy, jest to szczególny przypadek: wraz z Dougiem Leą opracował te algorytmy nieblokujące i kolejki synchroniczne, na których działają biblioteki Java. O tym będzie keynote „Dual data structures” – wprowadzenie tych struktur w Javie SE 6 pozwoliło nam 10-krotnie poprawić wydajność java.util.concurrent.ThreadPoolExecutor. Jeśli jesteś zainteresowany z góry, czym są te „podwójne struktury danych”, to jest powiązana praca.

Maurice Herlihy- Blockchain i przyszłość przetwarzania rozproszonego

19 głów hydry. Świetny przegląd programu Maurice'a Herlihy'ego - Zdobywca dwóch nagród Dijkstry. Pierwsza jest do pracy „Synchronizacja bez czekania” (Brown University), a drugi, nowszy - „Pamięć transakcyjna: wsparcie architektoniczne dla struktur danych bez blokad” (Uniwersytet Techniczny Wirginii). Nagroda Dijkstry przyznawana jest pracom, których znaczenie i wpływ są zauważalne od co najmniej dziesięciu lat, a Maurice jest jednym z najsłynniejszych specjalistów w tej dziedzinie. Obecnie jest profesorem na Uniwersytecie Browna i ma na swoim koncie liczne osiągnięcia.

W tym zamykającym przemówieniu Maurice opowie o teorii i praktyce rozproszonych systemów blockchain z punktu widzenia klasyków przetwarzania rozproszonego i o tym, jak upraszcza to wiele powiązanych problemów. Ten raport dotyczy wyłącznie tematu konferencji - wcale nie o górniczym szumie, ale raczej o tym, jak nasza wiedza może być zdumiewająco efektywnie i odpowiednio wykorzystana w odniesieniu do różnych zadań.

W lipcu 2017 Maurice przyjechał już do Rosji do szkoły SPTDC, uczestniczył w spotkaniu JUG.ru, a nagranie można obejrzeć na YouTube:

Główny program

Następnie nastąpi krótkie omówienie reportaży zawartych w programie. Niektóre z raportów są opisane szczegółowo tutaj, niektóre bardziej skrótowo. Długie opisy trafiły głównie do anglojęzycznych raportów, które wymagają linków do artykułów naukowych, terminów w Wikipedii i tak dalej. Pełna lista może być zobacz na stronie konferencji. Lista na stronie będzie aktualizowana i uzupełniana.

Leslie Lamport- Pytania i odpowiedzi

19 głów hydry. Świetny przegląd programu Leslie Lamport jest pionierem w dziedzinie przetwarzania rozproszonego. Lateks oznacza „Lamport TeX”. To on po raz pierwszy, już w 1979 roku, wprowadził tę koncepcję spójna konsystencjai jego artykuł „Jak zrobić komputer wieloprocesorowy, który poprawnie wykonuje programy wieloprocesowe” otrzymał nagrodę Dijkstry.

To najbardziej niezwykła pod względem formatu część programu, bo to nawet nie reportaż, a sesja pytań i odpowiedzi. Kiedy znaczna część odbiorców jest już zaznajomiona (lub może się zaznajomić) z wszelkiego rodzaju pracami opartymi na teorii Lamporta, jego własnymi artykułami i reportażami, ważniejsze jest poświęcenie całego dostępnego czasu na komunikację bezpośrednią.

Pomysł jest prosty – oglądasz dwa reportaże na YouTube: „Programowanie powinno być czymś więcej niż kodowaniem” и „Jeśli nie piszesz programu, nie używaj języka programowania” i przygotuj co najmniej jedno pytanie, a Leslie udzieli odpowiedzi.

Pierwszy z tych dwóch filmów już mamy zamienił się w bzdury. Jeśli nie masz godziny czasu na obejrzenie filmu, możesz szybko przeczytać całość w formie tekstowej.

Uwaga: na YouTube jest o wiele więcej filmów z udziałem Leslie Lamport. Na przykład jest doskonały Kurs TLA+. Wersja offline całego kursu jest dostępna pod adresem strona domowa autora, a na YouTube wlał go dla wygodniejszego oglądania na urządzeniach mobilnych.

Marcin Kleppman - Synchronizowanie danych między urządzeniami użytkowników w celu współpracy rozproszonej

19 głów hydry. Świetny przegląd programu Martin Kleppmann jest badaczem na Uniwersytecie Cambridge, zajmującym się CRDT i formalną weryfikacją algorytmów. Książka Marcina „Projektowanie aplikacji intensywnie korzystających z danych”, opublikowana w 2017 roku, okazała się dużym sukcesem i trafiła na listy bestsellerów w dziedzinie przechowywania i przetwarzania danych. Kevin Scott, CTO w Microsoft kiedyś powiedziano: „Ta książka powinna być obowiązkowa dla inżynierów projektantów. To rzadki zasób, który łączy teorię i praktykę, aby pomóc programistom w projektowaniu i wdrażaniu infrastruktury danych i systemów w bardziej inteligentny sposób”. Coś podobnego powiedział twórca Kafki i CTO Confluent, Jay Kreps.

Zanim zajął się badaniami akademickimi, Martin pracował w branży i był współzałożycielem dwóch udanych start-upów:

  • Rapportive, dedykowany do wyświetlania profilu społecznościowego Twoich kontaktów e-mail, który LinkedIn kupił w 2012 roku;
  • Go Test It, zautomatyzowane narzędzie do sprawdzania witryn w wielu przeglądarkach, które RedGate kupiło w 2009 roku.

Ogólnie rzecz biorąc, chociaż Martin jest mniej znany niż nasi keynoterzy, zdążył już wnieść pewien wkład w rozwój przetwarzania rozproszonego i przemysłu.

W tym wystąpieniu Martin opowie o temacie bliższym jego badaniom akademickim. W Dokumentach Google i podobnej kanapie do współtworzenia dokumentów „współtworzenie” oznacza zadanie replikacji: każdy użytkownik ma własną replikę udostępnionego dokumentu, którą następnie modyfikuje, a wszystkie zmiany są przesyłane przez sieć do pozostałych uczestników. Zmiany w dokumentach offline skutkują tymczasową niespójnością dokumentów w odniesieniu do innych uczestników, a ponowna synchronizacja wymaga obsługi konfliktów. Tylko po to są Bezkonfliktowe replikowane typy danych (CRDT) jest w rzeczywistości dość nową rzeczą, której istota została sformułowana dopiero w 2011 roku. W tej prelekcji omówiono, co wydarzyło się od tego czasu w świecie CRDT, jakie są najnowsze osiągnięcia, ogólnie omówiono podejście do tworzenia aplikacji lokalnych oraz korzystanie z biblioteki open source Automatyczne łączenie w szczególności.

W przyszłym tygodniu opublikujemy obszerny wywiad z Martinem na temat Habré, będzie ciekawie.

Pedro Ramalhete - Struktury danych bez oczekiwania i transakcje bez oczekiwania

19 głów hydry. Świetny przegląd programu Pedro pracuje w Cisco i od dziesięciu lat rozwija algorytmy równoległe, w tym mechanizmy synchronizacji, struktury danych bez blokowania i oczekiwania oraz wszystko, co można wymyślić na ten temat. Jego obecne zainteresowania badawcze i inżynieryjne koncentrują się na konstrukcjach uniwersalnych, pamięci transakcyjnej oprogramowania, pamięci trwałej i podobnych technologiach umożliwiających tworzenie poprawnych, skalowalnych i odpornych na błędy aplikacji. A także jest autorem szeroko znanego w wąskich kręgach bloga Maniacy współbieżności.

Większość aplikacji wielowątkowych działa obecnie na równoległych strukturach danych, od korzystania z kolejek komunikatów między aktorami po indeksowane struktury danych w magazynach klucz-wartość. Od wielu lat z powodzeniem działają w Javie JDK i powoli są dodawane do C++.

Najprostszym sposobem implementacji równoległej struktury danych jest implementacja szeregowa (jednowątkowa), w której metody są chronione przez muteksy. Jest to dostępne dla każdego ju, ale ma oczywiste problemy ze skalowaniem i wydajnością. Jednocześnie struktury danych wolne od blokad i oczekiwania nie tylko lepiej radzą sobie z błędami, ale także mają lepszy profil wydajności – jednak ich rozwój wymaga głębokiej wiedzy i dostosowania do konkretnego przypadku użycia. Wystarczy jeden zły wiersz kodu, aby wszystko zepsuć.

Jak sprawić, by nawet nie-ekspert potrafił zaprojektować i wdrożyć takie struktury danych? Wiadomo, że każdy algorytm sekwencyjny może być bezpieczny dla wątków przez którykolwiek z nich uniwersalny projektlub pamięć transakcyjna. Po pierwsze, mogą obniżyć próg wejścia w celu rozwiązania tego problemu. Jednak oba rozwiązania prowadzą do nieefektywnych wdrożeń. Pedro opowie o tym, jak udało im się zwiększyć wydajność tych konstrukcji i jak można je wykorzystać w ich algorytmach.

Heidi Howard- Wyzwolenie rozproszonego konsensusu

19 głów hydry. Świetny przegląd programu Heidi Howard jest, podobnie jak Martin, badaczem systemów rozproszonych na Uniwersytecie Cambridge. Jej specjalizacja to spójność, odporność na awarie, wydajność i rozproszony konsensus. Najbardziej znana jest z uogólnienia algorytmu Paxos, tzw Elastyczny Paxos.

Przypomnijmy, że Paxos - rodzina protokołów do rozwiązywania problemu konsensusu w sieci zawodnych komputerów, które powstały w oparciu o prace Lesliego Lamporta. W ten sposób niektórzy z naszych prelegentów pracują nad zadaniami, które zostały pierwotnie zaproponowane przez naszych innych prelegentów - i to jest wspaniałe.

Możliwość znalezienia konsensusu między wieloma hostami — w celu adresowania, wyboru lidera, blokowania lub koordynacji — jest fundamentalną kwestią we współczesnych systemach rozproszonych. Paxos jest obecnie głównym sposobem rozwiązywania problemów konsensusu i jest wokół niego wiele badań w celu rozszerzenia i optymalizacji algorytmu dla różnych praktycznych potrzeb.

W tym raporcie ponownie przyjrzymy się teoretycznym podstawom Paxos, rozluźniając początkowe wymagania i uogólniając algorytm. Przekonamy się, że Paxos jest w rzeczywistości tylko jedną z opcji spośród ogromnej gamy podejść do konsensusu i że inne punkty w spektrum są również całkiem przydatne do budowania dobrych systemów rozproszonych.

Aleks Pietrow - Zmniejsz koszty pamięci masowej dzięki replikacji przejściowej i tanim kworom

19 głów hydry. Świetny przegląd programu Alex jest specjalistą od baz danych i pamięci masowych, a co ważniejsze, jest osobą zatwierdzającą w Cassandra. Obecnie pracuje z O'Reilly nad książką Database Internals.

Dla systemów z ostateczna spójność (w terminologii rosyjskiej „spójność na końcu”), po upadku węzła lub podziale sieci należy rozstrzygnąć następujący dylemat: albo kontynuować spełnianie żądań, poświęcając spójność, albo odmówić ich wykonania i poświęcić dostępność. W takim systemie kworum, nakładanie się podzbiorów węzłów i zapewnienie, że przynajmniej jeden węzeł zawiera najnowszą wartość, może być dobrym rozwiązaniem brzegowym. Możliwe jest przetrwanie awarii i utraty połączenia z niektórymi węzłami, kontynuując odpowiadanie przy użyciu najnowszych wartości.

Jednak wszystko ma swoją cenę. Schemat replikacji kworum oznacza zwiększony koszt przechowywania: nadmiarowe dane należy przechowywać w wielu węzłach jednocześnie, aby zapewnić dostępność wystarczającej liczby kopii w przypadku wystąpienia problemu. Okazuje się, że nie można przechowywać wszystkich danych na wszystkich replikach. Możesz zmniejszyć obciążenie magazynu, przechowując dane tylko w części węzłów i używając specjalnych węzłów (Replika przejściowa) do obsługi scenariuszy awarii.

W trakcie raportu rozważymy Repliki świadków, schemat replikacji używany w Klucz do nakrętek и Megasklep, oraz implementacja tej koncepcji w Apache Cassandra pod nazwami Przejściowa replikacja i tanie kworum.

Dmitrij Wiukow - Odsłonięte goroutiny

19 głów hydry. Świetny przegląd programu Dmitry jest programistą w Google i pracuje nad dynamicznymi testami C/C++ i Go — Address/Memory/ThreadSanitizer i podobnymi narzędziami dla jądra Linuksa. Wniósł do Go skalowalny harmonogram goroutine, sondę sieciową i współbieżny moduł wyrzucania elementów bezużytecznych. Jest ekspertem w dziedzinie wielowątkowości, autorem kilkunastu nowych algorytmów nieblokujących i właścicielem m.in Czarny pas Intel.

Teraz trochę o samym raporcie. Język Go ma natywną obsługę wielowątkowości w postaci goroutines (lekkie wątki) i kanałów (kolejki FIFO). Dzięki tym mechanizmom pisanie nowoczesnych aplikacji wielowątkowych jest bardzo łatwe i przyjemne dla użytkowników, a wygląda to jak magia. Jak rozumiemy, nie ma tu żadnej magii. W tym raporcie Dmitry zagłębi się w zawiłości harmonogramu Go i pokaże tajniki wdrażania tej „magii”. Najpierw przedstawi przegląd głównych elementów harmonogramu, jak to działa. Następnie przyjrzymy się bliżej niektórym aspektom, takim jak strategia parkowania/odparkowywania oraz obsługa wywołań systemowych blokowania. Na koniec Dmitry opowie trochę o możliwych ulepszeniach harmonogramu.

Dmitrij Bugajczenko - Przyspieszenie analizy grafów rozproszonych za pomocą szkiców probabilistycznych i nie tylko

19 głów hydry. Świetny przegląd programu Dmitry pracuje w outsourcingu od prawie 9 lat, nie tracąc kontaktu z uczelnią i środowiskiem naukowym. Analiza big data w Odnoklassnikach była dla niego wyjątkową szansą na połączenie szkolenia teoretycznego i podstaw naukowych z rozwojem prawdziwych, pożądanych produktów.

Analiza grafów rozproszonych była i pozostaje trudnym zadaniem: gdy konieczne staje się uzyskanie informacji o połączeniach sąsiedniego wierzchołka, dane często muszą być przesyłane między maszynami, co prowadzi do wydłużenia czasu wykonania i obciążenia sieci infrastruktura. W tej prelekcji zobaczymy, jak można uzyskać znaczne przyspieszenie przetwarzania danych przy użyciu probabilistycznych struktur danych lub faktów, takich jak symetria wykresu przyjaźni w sieci społecznościowej. Wszystko to jest zilustrowane przykładami kodu Apache Spark.

Denis Ryscow - Zmniejsz koszty pamięci masowej dzięki replikacji przejściowej i tanim kworom

19 głów hydry. Świetny przegląd programu Denis - deweloper Kosmos DB, ekspert w zakresie walidacji modeli spójności, algorytmów konsensusu i transakcji rozproszonych. Teraz pracuje w Microsoft, a wcześniej zajmował się systemami rozproszonymi w Amazon i Yandex.

W tym raporcie zapoznamy się z wynalezionymi w ciągu ostatnich kilku lat protokołami transakcji rozproszonych, które można zaimplementować po stronie klienta na dowolnym magazynie danych obsługującym aktualizację warunkową (porównaj i ustaw). Najważniejsze jest to, że życie nie kończy się na dwufazowym zatwierdzeniu, transakcje można dodawać na wierzchu dowolnych baz danych - na poziomie aplikacji, ale różne protokoły (2PC, Percolator, RAMP) mają różne kompromisy i nie są nam dane za darmo.

Aleksiej Zinowjew - Nie wszystkie algorytmy ML trafiają do rozproszonego raju

19 głów hydry. Świetny przegląd programu Aleksiej (Zasław) jest naszym wieloletnim prelegentem i członkiem komitetów programowych innych konferencji. Praktykujący trener w EPAM Systems, od 2012 roku zaprzyjaźniony z Hadoop/Spark i innymi bigdatami.

W tej prelekcji Alexey opowie o problemach adaptacji klasycznych algorytmów uczenia maszynowego do wykonywania rozproszonego w oparciu o swoje doświadczenia z Apache Spark ML, Apache Mahout, Apache Flink ML oraz doświadczenie w tworzeniu Apache Ignite ML. Alexey opowie również o implementacji rozproszonych algorytmów ML w tych frameworkach.

I na koniec dwa raporty z Yandex o Yandex Database.

Władysław Kuzniecow — Baza danych Yandex — jak zapewniamy odporność na awarie

19 głów hydry. Świetny przegląd programu Vladislav jest programistą w Yandex w grupie platform rozproszonych. Baza danych Yandex to skalowalny poziomo, rozproszony geograficznie, odporny na błędy system DBMS, który może wytrzymać awarie dysków, serwerów, szaf i centrów danych bez uszczerbku dla spójności. W celu zapewnienia odporności na awarie stosowany jest autorski algorytm rozproszonego konsensusu oraz szereg rozwiązań technicznych, które szczegółowo omówiono w raporcie. Raport może zainteresować zarówno programistów DBMS, jak i twórców rozwiązań aplikacyjnych opartych na DBMS.

Siemion Czeczerinda - Transakcje rozproszone w YDB

19 głów hydry. Świetny przegląd programu Semyon jest programistą w grupie platform rozproszonych w Yandex, pracującym nad możliwością wielodostępnego korzystania z instalacji YDB.

Baza danych Yandex jest przeznaczona do obsługi zapytań OLTP i spełnia wymagania ACID dla systemu transakcyjnego. W raporcie rozważymy algorytm planowania transakcji leżący u podstaw systemu transakcyjnego YDB. Przeanalizujmy, które podmioty uczestniczą w transakcjach, kto nadaje transakcjom globalny porządek, w jaki sposób osiąga się atomowość transakcji, niezawodność i ścisły poziom izolacji. Na przykładzie zwykłego zadania rozważmy realizację transakcji przy użyciu dwufazowego zatwierdzania i transakcji deterministycznych. Omówmy ich różnice.

Co dalej?

Program konferencji wciąż wypełniają nowe doniesienia. W szczególności oczekujemy raportu od Nikita Kowal (ndkowal) z JetBrains i Oleg Anastasjew (umysł) z Odnoklassnik. Nikita pracuje nad algorytmami dla współprogramów w zespole Kotlina, a Oleg rozwija architekturę i rozwiązania dla systemów o dużym obciążeniu na platformie Odnoklassniki. Dodatkowo jest jeszcze 1 warunkowo wolne miejsce, na które czekają kandydaci, nad którymi obecnie pracuje rada programowa.

Konferencja Hydra odbędzie się w dniach 11-12 lipca w Sankt Petersburgu. Bilety mogą być kup na oficjalnej stronie. Zwróć uwagę na dostępność biletów online - jeśli z jakiegoś powodu nie możesz dostać się do Petersburga na żywo w tych dniach.

Do zobaczenia na Hydrze!

Źródło: www.habr.com

Dodaj komentarz