19 kepala hydra. Ikhtisar bagus tentang program ini

Sebuah konferensi akan diadakan pada 11-12 Juli di St. Petersburg Ular naga, didedikasikan untuk pengembangan sistem paralel dan terdistribusi. Trik Hydra adalah ia menyatukan ilmuwan-ilmuwan keren (yang biasanya hanya dapat ditemukan di konferensi ilmiah asing) dan para insinyur praktik terkenal ke dalam satu program besar di persimpangan antara sains dan praktik.

Hydra adalah salah satu konferensi terpenting kami dalam beberapa tahun terakhir. Didahului dengan persiapan yang sangat serius, pemilihan pembicara dan laporan. Minggu lalu tentang ini wawancara habro keluar dengan direktur JUG.ru Group, Alexei Fedorov (23derevo).

Kita sudah diberitahu tentang tiga peserta penting, pendiri teori sistem terdistribusi - Leslie Lamport, Maurice Herlihy dan Michael Scott. Saatnya berbicara lebih detail tentang keseluruhan program!

19 kepala hydra. Ikhtisar bagus tentang program ini

Motivasi

Jika Anda terlibat dalam pemrograman, maka Anda berurusan dengan multithreading dan komputasi terdistribusi. Para ahli di bidang yang relevan bekerja dengan mereka secara langsung, tetapi secara implisit, distribusi mengawasi kita dari mana saja: di komputer multi-core atau layanan terdistribusi mana pun, ada sesuatu yang melakukan perhitungan secara paralel.

Ada banyak konferensi yang mencakup berbagai aspek pemrograman aplikasi. Di sisi lain, kita memiliki sekolah ilmiah khusus yang mengungkapkan sejumlah besar teori kompleks dalam format kuliah. Misalnya, paralel dengan Hydra di St. Petersburg ada sekolah SPTDC. Pada konferensi Hydra, kami mencoba menyatukan praktik keras, sains, dan segala sesuatu yang saling bersinggungan.

Coba pikirkan: kita hidup di masa yang menakjubkan ketika Anda bisa bertemu langsung dengan para pendiri bidang sains dan teknik yang kita pelajari. Fisikawan tidak akan bertemu Newton atau Einstein - kereta telah berangkat. Namun di samping kita masih ada orang-orang yang menciptakan dasar-dasar teori sistem terdistribusi, menemukan bahasa pemrograman populer, dan untuk pertama kalinya mewujudkan semua ini dalam prototipe yang berfungsi. Orang-orang ini tidak berhenti dari pekerjaannya di tengah jalan, mereka saat ini bekerja pada isu-isu mendesak di universitas-universitas dan perusahaan-perusahaan terkenal di dunia, dan merupakan sumber pengetahuan dan pengalaman terbesar saat ini.

Di sisi lain, kesempatan untuk bertemu dengan mereka biasanya hanya bersifat teoritis: hanya sedikit dari kita yang terus-menerus memantau acara-acara publik di Universitas Rochester, dan kemudian bergegas ke AS dan kembali untuk kuliah bersama Michael Scott. Mengunjungi semua anggota Hydra akan memakan biaya yang tidak sedikit, belum termasuk jurang waktu yang terbuang (meskipun kedengarannya seperti sebuah pencarian yang menarik).

Di sisi lain, kami memiliki banyak insinyur terkemuka yang saat ini sedang menangani masalah mendesak dalam sistem terdistribusi, dan banyak hal yang ingin mereka sampaikan. Tapi inilah masalahnya - mereka работают, dan waktu mereka sangat berharga. Ya, jika Anda adalah karyawan Microsoft, Google, atau JetBrains, kemungkinan bertemu dengan salah satu pembicara terkenal di acara internal meningkat tajam, tetapi secara umum, tidak, hal ini tidak terjadi setiap hari.

Dengan cara ini, Konferensi Hydra menyelesaikan tugas penting yang sebagian besar dari kita tidak dapat melakukannya sendiri - di satu tempat dan pada satu waktu, konferensi ini mempertemukan orang-orang yang ide atau interaksinya dapat mengubah hidup Anda. Saya akui tidak semua orang membutuhkan sistem terdistribusi atau beberapa hal mendasar yang kompleks. Anda dapat memprogram CRUD dalam PHP selama sisa hidup Anda dan tetap bahagia. Tapi siapa pun yang membutuhkannya, inilah kesempatan Anda.

Cukup lama telah berlalu sejak pengumuman pertama konferensi Hydra tentang Habré. Selama ini, banyak pekerjaan yang telah dilakukan - dan sekarang kami memiliki daftar hampir semua laporan. Tidak ada algoritma single-thread yang lamban, hanya algoritma terdistribusi murni! Mari kita akhiri dengan kata-kata umum dan lihat apa yang kita miliki sekarang.

Ceramah

Ceramah memulai dan mengakhiri hari-hari konferensi. Biasanya inti dari keynote pembuka adalah untuk menetapkan semangat dan arah umum konferensi. Pembicara penutup memberikan garis batas dan menjelaskan bagaimana kita dapat hidup dengan pengetahuan dan keterampilan yang diperoleh selama konferensi. Awal dan akhir: apa yang paling diingat, dan secara umum, semakin penting.

Klik Tebing Algoritma K/V terdistribusi H2O

19 kepala hydra. Ikhtisar bagus tentang program ini Tebing merupakan legenda di dunia Jawa. Pada akhir tahun 90an, untuk tesis PhD-nya, ia menulis makalah berjudul "Menggabungkan Analisis, Menggabungkan Optimasi", yang beberapa waktu kemudian menjadi dasar HotSpot JVM Server Compiler. Dua tahun kemudian, dia sudah bekerja di Sun Microsystems di JVM dan menunjukkan kepada seluruh dunia bahwa JIT mempunyai hak untuk hidup. Seluruh cerita tentang bagaimana Java menjadi salah satu runtime modern tercepat dengan pengoptimalan paling cerdas dan tercepat datang dari Cliff Click. Pada awalnya, diyakini bahwa jika sesuatu dapat diakses oleh kompiler statis, Anda bahkan tidak perlu mencoba melakukan jit. Berkat kerja Cliff dan tim, semua bahasa baru mulai diciptakan dengan ide kompilasi JIT secara default. Tentu saja, ini bukan pekerjaan satu orang, tapi Cliff memainkan peran yang sangat penting di dalamnya.

Dalam keynote pembuka, Cliff akan berbicara tentang usahanya yang lain - H20, platform dalam memori untuk pembelajaran mesin yang terdistribusi dan dapat diskalakan untuk aplikasi industri. Atau lebih tepatnya, tentang penyimpanan terdistribusi dari pasangan nilai kunci di dalamnya. Ini adalah penyimpanan yang sangat cepat dengan banyak properti menarik (daftar persisnya ada di keterangan), yang memungkinkan penggunaan solusi serupa dalam matematika streaming data besar.

Laporan lain yang akan diberikan Cliff adalah - Pengalaman Memori Transaksional Perangkat Keras Azul. Bagian lain dari biografinya - sepuluh tahun bekerja di Azul, di mana dia memperbarui dan meningkatkan banyak hal dalam tumpukan perangkat keras dan teknologi Azul: kompiler JIT, runtime, model thread, penanganan kesalahan, penanganan tumpukan, interupsi perangkat keras, pemuatan kelas, dan seterusnya dan seterusnya - ya, Anda mendapatkan ide.

Bagian yang paling menarik dimulai ketika mereka membuat perangkat keras untuk bisnis besar – superkomputer untuk menjalankan Java. Itu adalah hal yang cukup inovatif, dirancang khusus untuk Java, yang memiliki persyaratan khusus - membaca hambatan memori untuk pengumpulan sampah dengan jeda rendah, array dengan pemeriksaan batas, panggilan virtual... Salah satu teknologi paling keren adalah memori transaksional perangkat keras. Seluruh L1 dari 864 inti mana pun dapat berpartisipasi dalam penulisan transaksional, yang sangat penting untuk bekerja dengan kunci di Java (blok yang disinkronkan dapat bekerja secara paralel selama tidak ada konflik memori yang nyata). Namun ide indah itu dihancurkan oleh kenyataan pahit - dan dalam pembicaraan ini Cliff akan memberi tahu Anda mengapa HTM dan STM tidak terlalu cocok untuk kebutuhan praktis komputasi multi-thread.

Michael Scott- Struktur data ganda

19 kepala hydra. Ikhtisar bagus tentang program ini Michael Scott - Profesor Ilmu Komputer di Universitas Rochester, yang dengannya takdir menghubungkannya sudah berusia 34 tahun, dan di rumahnya di Universitas Wisconsin–Madison, dia menjadi dekan selama lima tahun. Dia meneliti dan mengajar siswa tentang pemrograman paralel dan terdistribusi serta desain bahasa.

Seluruh dunia mengenal Michael berkat buku teksnya "Pragmatika Bahasa Pemrograman", edisi terbaru yang diterbitkan relatif baru - pada tahun 2015. Pekerjaannya "Algoritma untuk sinkronisasi terukur pada multiprosesor memori bersama" diterima Hadiah Dijkstra sebagai salah satu yang paling terkenal di bidang komputasi terdistribusi dan berbohong secara terbuka di Perpustakaan Online Universitas Rochester. Anda mungkin juga mengenalnya sebagai penulis algoritma Michael-Scott "Algoritma Antrian Serentak Non-Pemblokiran dan Pemblokiran Sederhana, Cepat, dan Praktis".

Sedangkan untuk dunia Java, ini adalah kasus khusus: bersama dengan Doug Lea, ia mengembangkan algoritma non-pemblokiran dan antrian sinkron tempat perpustakaan Java bekerja. Inilah inti dari “Struktur data ganda” - pengenalan struktur ini di Java SE 6 telah meningkatkan kinerja sebanyak 10 kali lipat java.util.concurrent.ThreadPoolExecutor. Jika Anda bertanya-tanya sebelumnya apa itu “Struktur data ganda”, maka ada informasi tentangnya pekerjaan yang berhubungan.

Maurice Herlihy- Blockchain dan masa depan komputasi terdistribusi

19 kepala hydra. Ikhtisar bagus tentang program ini Maurice Herlihy - pemenang dua Hadiah Dijkstra. Yang pertama adalah untuk dikerjakan "Sinkronisasi Tanpa Tunggu" (Brown University), dan yang kedua, yang lebih baru - "Memori Transaksional: Dukungan Arsitektur untuk Struktur Data Bebas Kunci" (Universitas Teknologi Virginia). Hadiah Dijkstra mengakui karya yang signifikansi dan dampaknya telah terlihat setidaknya selama sepuluh tahun, dan Maurice jelas merupakan salah satu pakar paling terkenal di bidangnya. Dia saat ini bekerja sebagai profesor di Brown University dan memiliki daftar pencapaian sepanjang satu paragraf.

Dalam keynote penutup ini, Maurice akan berbicara tentang teori dan praktik sistem terdistribusi blockchain dari sudut pandang komputasi terdistribusi klasik dan bagaimana hal itu menyederhanakan banyak masalah terkait. Laporan ini khusus membahas topik konferensi - sama sekali bukan tentang sensasi penambangan, melainkan tentang bagaimana pengetahuan kita dapat digunakan dengan sangat efektif dan tepat dalam kaitannya dengan berbagai tugas.

Pada Juli 2017, Maurice sudah datang ke Rusia untuk bersekolah di sekolah SPTDC, mengikuti pertemuan JUG.ru, dan rekamannya dapat dilihat di YouTube:

Program utama

Selanjutnya akan ada gambaran singkat tentang laporan-laporan yang disertakan dalam program. Beberapa laporan dijelaskan di sini secara rinci, yang lainnya dijelaskan secara singkat. Deskripsi panjang terutama ditujukan pada laporan berbahasa Inggris yang memerlukan link ke makalah ilmiah, istilah di Wikipedia, dan sebagainya. Daftar lengkap tersedia lihat di situs web konferensi. Daftar di situs web akan diperbarui dan ditambah.

Leslie Lamport - Tanya Jawab

19 kepala hydra. Ikhtisar bagus tentang program ini Leslie Lamport adalah penulis karya penting dalam komputasi terdistribusi. "Getah" singkatan dari "Lamport TeX". Dialah yang pertama kali, pada tahun 1979, memperkenalkan konsep tersebut konsistensi berurutan, dan artikelnya "Cara Membuat Komputer Multiprosesor yang Menjalankan Program Multiproses dengan Benar" menerima Hadiah Dijkstra.

Ini adalah bagian program yang paling tidak biasa dari segi format, karena ini bahkan bukan laporan, melainkan sesi tanya jawab. Ketika sebagian besar audiens sudah familiar (atau mungkin akrab) dengan semua jenis karya berdasarkan “teori Lamport”, artikel dan laporannya sendiri, maka lebih penting untuk menghabiskan seluruh waktu yang tersedia untuk komunikasi langsung.

Idenya sederhana - Anda menonton dua laporan di YouTube: "Pemrograman Harus Lebih Dari Sekadar Coding" и "Jika Anda Tidak Sedang Menulis Program, Jangan Gunakan Bahasa Pemrograman" dan menyiapkan setidaknya satu pertanyaan, dan Leslie menjawab.

Yang pertama dari dua video ini sudah kami miliki berubah menjadi artikel habro. Jika Anda tidak punya waktu satu jam untuk menonton video, Anda dapat dengan cepat membaca semuanya dalam bentuk teks.

Catatan: Masih banyak lagi video Leslie Lamport di YouTube. Misalnya ada yang bagus kursus TLA+. Versi offline dari keseluruhan kursus ini tersedia di halaman utama penulis, dan dia mengunggahnya ke YouTube agar lebih mudah dilihat di perangkat seluler.

Martin Kleppmann- Menyinkronkan data di seluruh perangkat pengguna untuk kolaborasi terdistribusi

19 kepala hydra. Ikhtisar bagus tentang program ini Martin Kleppmann adalah peneliti di Universitas Cambridge yang mengerjakan CRDT dan verifikasi formal algoritma. buku Martin "Merancang Aplikasi Intensif Data", terbitan tahun 2017, terbukti sangat sukses dan masuk dalam daftar buku terlaris di bidang penyimpanan dan pemrosesan data. Kevin Scott, CTO di Microsoft, pernah berkata: “Buku ini harus dimiliki oleh para insinyur perangkat lunak. Ini adalah sumber daya langka yang menggabungkan teori dan praktik untuk membantu pengembang lebih cerdas dalam merancang dan mengimplementasikan infrastruktur dan sistem data.” Pencipta Kafka dan CTO Confluent, Jay Kreps, mengatakan hal serupa.

Sebelum beralih ke penelitian akademis, Martin bekerja di industri dan ikut mendirikan dua perusahaan rintisan yang sukses:

  • Rapportif, didedikasikan untuk menampilkan profil sosial kontak dari email Anda, yang dibeli LinkedIn pada tahun 2012;
  • Go Test It, layanan untuk menguji situs web secara otomatis di berbagai browser, yang dibeli RedGate pada tahun 2009.

Secara umum, Martin, meskipun kurang terkenal dibandingkan ceramah kami, telah mampu memberikan kontribusi terhadap pengembangan komputasi terdistribusi dan industri.

Dalam ceramah kali ini, Martin akan membahas topik yang lebih dekat dengan penelitian akademisnya. Di Google Dokumen dan sofa pengeditan bersama dokumen serupa, "pengeditan kolaboratif" mengacu pada tugas replikasi: setiap pengguna memiliki replika dokumen bersama mereka sendiri, yang kemudian mereka modifikasi, dan semua perubahan dikirim melalui jaringan ke seluruh jaringan. peserta. Perubahan pada dokumen secara offline menyebabkan ketidakkonsistenan sementara dokumen dibandingkan dengan peserta lain, dan sinkronisasi ulang memerlukan penanganan konflik. Untuk itulah mereka ada Tipe Data Replikasi Bebas Konflik (CRDT) sebenarnya merupakan hal yang cukup baru, yang intinya baru dirumuskan pada tahun 2011. Pembicaraan ini membahas apa yang telah terjadi sejak saat itu di dunia CRDT, apa saja kemajuan terkini, pendekatan untuk membuat aplikasi lokal-pertama secara umum dan penggunaan perpustakaan sumber terbuka Penggabungan otomatis khususnya.

Minggu depan kami akan mempublikasikan wawancara panjang dengan Martin di Habré, ini akan menarik.

Pedro Ramalhete- Struktur data tanpa menunggu dan transaksi tanpa menunggu

19 kepala hydra. Ikhtisar bagus tentang program ini Pedro bekerja di Cisco dan telah mengembangkan algoritma paralel selama sekitar sepuluh tahun terakhir, termasuk mekanisme sinkronisasi, struktur data bebas kunci dan bebas tunggu, dan segala sesuatu yang dapat Anda bayangkan tentang topik ini. Minat penelitian dan tekniknya saat ini berfokus pada Konstruksi Universal, Memori Transaksional Perangkat Lunak, Memori Persisten, dan teknologi serupa yang memungkinkan aplikasi yang benar, dapat diskalakan, dan toleran terhadap kesalahan. Ia juga penulis blog yang dikenal luas di kalangan sempit Orang Aneh Konkurensi.

Sebagian besar aplikasi multithread sekarang berjalan pada struktur data paralel, mulai dari penggunaan antrian pesan antar aktor hingga struktur data yang diindeks di penyimpanan nilai kunci. Mereka telah berhasil bekerja di Java JDK selama bertahun-tahun, dan perlahan-lahan ditambahkan ke C++.

Cara paling sederhana untuk mengimplementasikan struktur data paralel adalah implementasi sekuensial (single-threaded) di mana metode dilindungi oleh mutex. Ini dapat diakses pada bulan Juni apa pun, tetapi jelas memiliki masalah dengan penskalaan dan kinerja. Pada saat yang sama, struktur data bebas kunci dan bebas tunggu tidak hanya mengatasi kesalahan dengan lebih baik, namun juga memiliki profil kinerja yang lebih baik - namun, pengembangannya memerlukan keahlian mendalam dan adaptasi terhadap aplikasi tertentu. Satu baris kode yang salah sudah cukup untuk menghancurkan segalanya.

Bagaimana kita bisa memastikan bahwa bahkan orang yang bukan ahli pun dapat merancang dan mengimplementasikan struktur data seperti itu? Diketahui bahwa algoritme sekuensial apa pun dapat dibuat aman untuk thread menggunakan keduanya desain universal, atau memori transaksional. Salah satu alasannya adalah mereka dapat menurunkan hambatan untuk memecahkan masalah ini. Namun, kedua solusi tersebut biasanya menyebabkan implementasi yang tidak efektif. Pedro akan berbicara tentang bagaimana mereka berhasil membuat desain ini lebih efisien dan bagaimana Anda dapat menggunakannya untuk algoritme Anda.

Heidi Howard- Membebaskan konsensus yang terdistribusi

19 kepala hydra. Ikhtisar bagus tentang program ini Heidi Howard, seperti Martin, adalah peneliti sistem terdistribusi di Universitas Cambridge. Spesialisasinya adalah konsistensi, toleransi kesalahan, kinerja, dan konsensus terdistribusi. Dia terkenal karena generalisasinya terhadap algoritma Paxos yang disebut Paxos yang fleksibel.

Ingat bahwa Paxos adalah sekumpulan protokol untuk memecahkan masalah konsensus dalam jaringan komputer yang tidak dapat diandalkan, berdasarkan karya Leslie Lamport. Jadi, beberapa pembicara kami sedang mengerjakan masalah yang awalnya diajukan oleh pembicara kami yang lain - dan ini luar biasa.

Kemampuan untuk menemukan konsensus di antara banyak host—untuk penanganan, pemilihan pemimpin, pemblokiran, atau koordinasi—adalah masalah mendasar dalam sistem terdistribusi modern. Paxos sekarang menjadi cara utama untuk memecahkan masalah konsensus, dan ada banyak penelitian yang dilakukan untuk memperluas dan mengoptimalkan algoritme untuk berbagai kebutuhan praktis.

Dalam pembicaraan ini, kita akan meninjau kembali dasar teori Paxos, melonggarkan persyaratan awal dan menggeneralisasi algoritme. Kita akan melihat bahwa Paxos pada dasarnya hanyalah salah satu opsi di antara sejumlah besar pendekatan konsensus, dan poin-poin lain dalam spektrum tersebut juga sangat berguna untuk membangun sistem terdistribusi yang baik.

Alex Petrov— Kurangi biaya penyimpanan Anda dengan Replikasi Sementara dan Kuorum Murah

19 kepala hydra. Ikhtisar bagus tentang program ini Alex adalah spesialis basis data dan sistem penyimpanan, dan yang lebih penting bagi kami, seorang pembuat komitmen Cassandra. Dia saat ini sedang mengerjakan sebuah buku, Database Internals, dengan O'Reilly.

Untuk sistem dengan konsistensi akhirnya (dalam terminologi Rusia - "konsistensi tertinggi"), setelah sebuah node mogok atau jaringan terpecah, Anda perlu menyelesaikan dilema berikut: terus menjalankan permintaan, mengorbankan konsistensi, atau menolak untuk mengeksekusinya dan mengorbankan ketersediaan. Dalam sistem seperti itu, kuorum, subkumpulan node yang tumpang tindih dan memastikan bahwa setidaknya satu node berisi nilai terbaru, dapat menjadi solusi edge yang baik. Anda dapat bertahan dari kegagalan dan hilangnya konektivitas ke beberapa node sambil tetap merespons dengan nilai-nilai terbaru.

Namun, segala sesuatu ada harganya. Skema replikasi kuorum berarti peningkatan biaya penyimpanan: data yang berlebihan harus disimpan di beberapa node sekaligus untuk memastikan bahwa ada cukup salinan yang tersedia ketika terjadi masalah. Ternyata Anda tidak harus menyimpan semua data di semua replika. Anda dapat mengurangi beban penyimpanan jika Anda menyimpan data hanya pada sebagian node, dan menggunakan node khusus (Replika Sementara) untuk skenario penanganan kegagalan.

Selama laporan ini kami akan mempertimbangkannya Replika Saksi, skema replikasi yang digunakan dalam kunci pas и toko mega, dan implementasi konsep ini di Apache Cassandra disebut Replikasi Sementara & Kuorum Murah.

Dmitry Vyukov- Goroutine terekspos

19 kepala hydra. Ikhtisar bagus tentang program ini Dmitry adalah pengembang di Google yang mengerjakan pengujian dinamis untuk C/C++ dan Go - Address/Memory/ThreadSanitizer, dan alat serupa untuk kernel Linux. Berkontribusi pada Go penjadwal goroutine yang dapat diskalakan, poller jaringan, dan pengumpul sampah paralel. Dia ahli dalam multithreading, penulis selusin algoritma non-pemblokiran baru dan merupakan pemiliknya Sabuk hitam Intel.

Sekarang sedikit tentang laporan itu sendiri. Bahasa Go memiliki dukungan asli untuk multithreading dalam bentuk goroutine (light thread) dan saluran (antrian FIFO). Mekanisme ini membuatnya sangat mudah dan menyenangkan bagi pengguna untuk menulis aplikasi multi-thread modern, dan ini tampak seperti keajaiban. Seperti yang kita pahami, tidak ada keajaiban di sini. Dalam pembicaraan ini, Dmitry akan mempelajari seluk-beluk penjadwal Go dan menunjukkan rahasia penerapan “keajaiban” ini. Pertama, dia akan memberikan gambaran umum tentang komponen utama penjadwal dan memberi tahu Anda cara kerjanya. Selanjutnya, kita akan melihat lebih dekat aspek-aspek individual seperti strategi parkir/tidak parkir dan penanganan panggilan sistem pemblokiran. Terakhir, Dmitry akan berbicara sedikit tentang kemungkinan perbaikan pada penjadwal.

Dmitry Bugaichenko- Mempercepat analisis grafik terdistribusi dengan sketsa probabilistik dan banyak lagi

19 kepala hydra. Ikhtisar bagus tentang program ini Dmitry bekerja di bidang outsourcing selama hampir 9 tahun tanpa kehilangan kontak dengan universitas dan komunitas ilmiah. Analisis data besar di Odnoklassniki baginya merupakan peluang unik untuk menggabungkan pelatihan teoretis dan landasan ilmiah dengan pengembangan produk nyata dan sesuai permintaan.

Analisis grafik terdistribusi telah dan tetap menjadi tugas yang sulit: ketika diperlukan untuk memperoleh informasi tentang koneksi dari simpul yang berdekatan, data sering kali harus ditransfer antar mesin, yang menyebabkan peningkatan waktu eksekusi dan beban pada infrastruktur jaringan. Dalam pembahasan ini, kita akan melihat bagaimana Anda bisa mendapatkan kecepatan pemrosesan yang signifikan dengan menggunakan struktur data probabilistik atau fakta seperti simetri grafik pertemanan di jejaring sosial. Semua ini diilustrasikan dengan contoh kode di Apache Spark.

Denis Rystsov- Kurangi biaya penyimpanan Anda dengan Replikasi Sementara dan Kuorum Murah

19 kepala hydra. Ikhtisar bagus tentang program ini Denis - pengembang Kosmos DB, ahli dalam memeriksa model konsistensi, algoritma konsensus, dan transaksi terdistribusi. Dia saat ini bekerja di Microsoft, dan sebelumnya dia bekerja pada sistem terdistribusi di Amazon dan Yandex.

Dalam pembicaraan ini, kita akan melihat protokol transaksi terdistribusi yang telah ditemukan selama beberapa tahun terakhir, yang dapat diimplementasikan di sisi klien di atas penyimpanan data apa pun yang mendukung pembaruan bersyarat (bandingkan dan setel). Intinya adalah bahwa kehidupan tidak berakhir dengan komitmen dua fase, transaksi dapat ditambahkan di atas database apa pun - di tingkat aplikasi, tetapi protokol yang berbeda (2PC, Percolator, RAMP) memiliki pengorbanan yang berbeda dan tidak diberikan kepada kami gratis.

Alexei Zinoviev - Tidak semua algoritma ML berhasil mencapai surga terdistribusi

19 kepala hydra. Ikhtisar bagus tentang program ini Alexei (zaleslaw) adalah pembicara lama dan anggota komite program di konferensi lain. Berpraktik sebagai pelatih di EPAM Systems, dan berteman dengan Hadoop/Spark dan data besar lainnya sejak 2012.

Dalam pembicaraan ini, Alexei akan membahas masalah adaptasi algoritma pembelajaran mesin klasik untuk dieksekusi dalam mode terdistribusi berdasarkan pengalamannya bekerja dengan Apache Spark ML, Apache Mahout, Apache Flink ML dan pengalaman membuat Apache Ignite ML. Alexei juga akan berbicara tentang penerapan algoritma ML terdistribusi dalam kerangka kerja ini.

Dan terakhir, dua laporan dari Yandex tentang Database Yandex.

Vladislav Kuznetsov- Basis Data Yandex - cara kami memastikan toleransi kesalahan

19 kepala hydra. Ikhtisar bagus tentang program ini Vladislav adalah pengembang di Yandex dalam grup platform terdistribusi. Basis Data Yandex adalah DBMS yang dapat diskalakan secara horizontal, terdistribusi secara geografis, dan toleran terhadap kesalahan yang dapat menahan kegagalan disk, server, rak, dan pusat data tanpa kehilangan konsistensi. Untuk memastikan toleransi kesalahan, algoritma kepemilikan untuk mencapai konsensus terdistribusi digunakan, serta sejumlah solusi teknis, yang dibahas secara rinci dalam laporan. Laporan ini mungkin menarik bagi pengembang DBMS dan pengembang solusi aplikasi berdasarkan DBMS.

Semyon Checherinda- Transaksi terdistribusi di YDB

19 kepala hydra. Ikhtisar bagus tentang program ini Semyon adalah pengembang di grup platform terdistribusi di Yandex, yang sedang mengerjakan kemungkinan penggunaan instalasi YDB oleh multi-penyewa.

Basis Data Yandex dirancang untuk kueri OLTP dan mematuhi persyaratan ACID untuk sistem transaksional. Dalam laporan ini, kami akan mempertimbangkan algoritma penjadwalan transaksi yang mendasari sistem transaksi YDB. Mari kita lihat entitas mana yang berpartisipasi dalam transaksi, siapa yang menetapkan tatanan global pada transaksi, bagaimana atomisitas transaksi, keandalan, dan tingkat isolasi yang ketat dapat dicapai. Dengan menggunakan contoh masalah umum, mari kita lihat implementasi transaksi menggunakan komitmen dua fase dan transaksi deterministik. Mari kita bahas perbedaannya.

Apa selanjutnya?

Program konferensi terus diisi dengan laporan-laporan baru. Secara khusus, kami mengharapkan laporan dari Nikita Koval (ndkoval) dari JetBrains dan Oleg Anastasyev (pikiran buruk) dari perusahaan Odnoklassniki. Nikita mengerjakan algoritme untuk coroutine di tim Kotlin, dan Oleg mengembangkan arsitektur dan solusi untuk sistem beban tinggi di platform Odnoklassniki. Selain itu, masih ada 1 slot lagi yang kosong bersyarat, panitia program sedang bekerja sama dengan calonnya saat ini.

Konferensi Hydra akan berlangsung pada 11-12 Juli di St. Petersburg. Tiket tersedia pembelian di situs resmi. Harap perhatikan ketersediaan tiket Online - jika karena alasan tertentu Anda tidak dapat pergi ke St. Petersburg hari ini.

Sampai jumpa di Hydra!

Sumber: www.habr.com

Tambah komentar