19 kepala hidra. Gambaran keseluruhan program yang hebat

Satu persidangan akan berlangsung pada 11-12 Julai di St. Petersburg Hydra, khusus untuk pembangunan sistem selari dan teragih. Helah Hydra ialah ia menyatukan saintis hebat (yang biasanya hanya boleh ditemui di persidangan saintifik asing) dan jurutera pengamal terkenal ke dalam satu program besar di persimpangan sains dan amalan.

Hydra ialah salah satu persidangan kami yang paling penting dalam beberapa tahun kebelakangan ini. Ia didahului dengan persiapan yang sangat serius, pemilihan penceramah dan laporan. Minggu lepas tentang perkara ini temuduga habro keluar dengan pengarah Kumpulan JUG.ru, Alexey Fedorov (23derevo).

Kami sudah diberitahu kira-kira tiga peserta penting, pengasas teori sistem teragih - Leslie Lamport, Maurice Herlihy dan Michael Scott. Sudah tiba masanya untuk bercakap dengan lebih terperinci tentang keseluruhan program!

19 kepala hidra. Gambaran keseluruhan program yang hebat

Motivasi

Jika anda terlibat dalam pengaturcaraan, maka satu cara atau yang lain anda berurusan dengan multithreading dan pengkomputeran teragih. Pakar dalam bidang yang berkaitan bekerja dengan mereka secara langsung, tetapi secara tersirat, pengedaran melihat kami dari mana-mana: dalam mana-mana komputer berbilang teras atau perkhidmatan teragih terdapat sesuatu yang melakukan pengiraan secara selari.

Terdapat banyak persidangan yang merangkumi pelbagai aspek pengaturcaraan aplikasi. Di sisi lain spektrum, kami mempunyai sekolah saintifik khusus yang mendedahkan sejumlah besar teori kompleks dalam format kuliah. Sebagai contoh, selari dengan Hydra di St Petersburg ada sekolah SPTDC. Pada persidangan Hydra, kami cuba menyatukan amalan keras, sains, dan segala-galanya di persimpangan mereka.

Fikirkan tentang perkara ini: kita hidup dalam masa yang menakjubkan apabila anda dapat bertemu sendiri dengan pengasas bidang sains dan kejuruteraan yang kami pelajari. Ahli fizik tidak akan bertemu sama ada Newton atau Einstein - kereta api telah pergi. Tetapi di sebelah kami masih hidup mereka yang mencipta asas teori sistem teragih, mencipta bahasa pengaturcaraan popular, dan buat pertama kalinya merangkumi semua ini dalam prototaip yang berfungsi. Mereka ini tidak berhenti kerja separuh jalan, mereka kini sedang mengusahakan isu-isu yang mendesak di universiti dan syarikat yang terkenal di dunia, dan merupakan sumber pengetahuan dan pengalaman terhebat hari ini.

Sebaliknya, peluang untuk bertemu mereka biasanya kekal sebagai teori semata-mata: beberapa daripada kita boleh sentiasa memantau acara awam di beberapa Universiti Rochester, dan kemudian bergegas ke Amerika Syarikat dan kembali untuk kuliah dengan Michael Scott. Mengunjungi semua ahli Hydra akan menelan belanja yang kecil, tidak mengira jurang masa yang terbuang (walaupun ia kelihatan seperti pencarian yang menarik).

Sebaliknya, kami mempunyai ramai jurutera terkemuka yang sedang mengusahakan masalah mendesak dalam sistem yang diedarkan sekarang, dan mereka pastinya mempunyai banyak perkara untuk diceritakan. Tetapi inilah masalahnya - mereka sedang bekerja, dan masa mereka sangat berharga. Ya, jika anda seorang pekerja Microsoft, Google atau JetBrains, kemungkinan bertemu salah seorang penceramah terkenal di acara dalaman meningkat dengan mendadak, tetapi secara umum, tidak, ini tidak berlaku setiap hari.

Dengan cara ini, Persidangan Hydra melaksanakan tugas penting yang kebanyakan kita tidak dapat lakukan sendiri - di satu tempat dan pada satu masa, ia menghimpunkan orang yang idea atau interaksinya dengan siapa boleh mengubah hidup anda. Saya mengakui bahawa tidak semua orang memerlukan sistem teragih atau beberapa perkara asas yang kompleks. Anda boleh memprogram CRUD dalam PHP sepanjang hayat anda dan kekal gembira sepenuhnya. Tetapi sesiapa yang memerlukannya, ini adalah peluang anda.

Agak lama telah berlalu sejak pengumuman pertama persidangan Hydra mengenai HabrΓ©. Pada masa ini, banyak kerja telah dilakukan - dan kini kami mempunyai senarai hampir semua laporan. Tiada algoritma berbenang tunggal yang lembap, hanya tegar teragih tulen! Mari kita selesaikan dengan kata-kata umum dan lihat apa yang ada di tangan kita sekarang.

ucaptama

Ucaptama bermula dan berakhir hari persidangan. Biasanya perkara utama pembukaan adalah untuk menetapkan semangat umum dan hala tuju persidangan. Ucaptama penutup menarik garis dan menerangkan bagaimana kita boleh hidup dengan pengetahuan dan kemahiran yang diperoleh semasa persidangan itu. Permulaan dan akhir: apa yang paling diingati, dan secara umum, telah meningkatkan kepentingan.

Klik Cliff Algoritma K/V teragih H2O

19 kepala hidra. Gambaran keseluruhan program yang hebat Cliff adalah legenda di dunia Jawa. Pada penghujung 90-an, untuk tesis PhDnya, dia menulis kertas bertajuk "Menggabungkan Analisis, Menggabungkan Pengoptimuman", yang beberapa ketika kemudian menjadi asas untuk Pengkompil Pelayan JVM HotSpot. Dua tahun kemudian, dia telah pun bekerja di Sun Microsystems pada JVM dan menunjukkan kepada seluruh dunia bahawa JIT mempunyai hak untuk wujud. Keseluruhan cerita ini tentang bagaimana Java ialah salah satu masa jalan moden terpantas dengan pengoptimuman yang paling bijak dan terpantas datang daripada Cliff Click. Pada mulanya, dipercayai bahawa jika sesuatu boleh diakses oleh pengkompil statik, anda tidak perlu mencuba untuk menyusunnya. Terima kasih kepada kerja Cliff dan pasukan, semua bahasa baharu mula dicipta dengan idea kompilasi JIT secara lalai. Sudah tentu, ini bukan kerja seorang, tetapi Cliff memainkan peranan yang sangat penting di dalamnya.

Dalam ucaptama pembukaan, Cliff akan bercakap tentang usahanya yang lain - H20, platform dalam memori untuk pembelajaran mesin teragih dan berskala untuk aplikasi industri. Atau lebih tepat lagi, tentang storan teragih pasangan nilai kunci di dalamnya. Ini adalah storan yang sangat pantas dengan banyak sifat menarik (senarai yang tepat ada dalam penerangan), yang membenarkan penggunaan penyelesaian serupa dalam matematik penstriman data besar.

Satu lagi laporan yang Cliff akan berikan ialah - Pengalaman Azul Hardware Transactional Memory. Satu lagi bahagian biografinya - sepuluh tahun bekerja di Azul, di mana dia mengemas kini dan menambah baik banyak perkara dalam tindanan perkakasan dan teknologi Azul: Penyusun JIT, masa jalan, model benang, pengendalian ralat, pengendalian tindanan, gangguan perkakasan, pemuatan kelas, dan sebagainya dan seterusnya - baik, anda mendapat idea.

Bahagian yang paling menarik bermula apabila mereka membuat perkakasan untuk perniagaan besar - superkomputer untuk menjalankan Java. Ia adalah perkara yang agak inovatif, disesuaikan khusus untuk Java, yang mempunyai keperluan khas - baca halangan memori untuk pengumpulan sampah jeda rendah, tatasusunan dengan semakan sempadan, panggilan maya... Salah satu teknologi paling hebat ialah memori transaksi perkakasan. Keseluruhan L1 daripada mana-mana daripada 864 teras boleh mengambil bahagian dalam penulisan transaksi, yang amat penting untuk bekerja dengan kunci di Jawa (blok disegerakkan boleh berfungsi secara selari selagi tiada konflik memori sebenar). Tetapi idea yang indah itu telah dihancurkan oleh realiti yang keras - dan dalam ceramah ini Cliff akan memberitahu anda mengapa HTM dan STM tidak begitu sesuai untuk keperluan praktikal pengkomputeran berbilang benang.

Michael Scott - Struktur data berganda

19 kepala hidra. Gambaran keseluruhan program yang hebat Michael Scott - Profesor Sains Komputer di Universiti Rochester, dengan siapa nasib menghubungkannya sudah 34 tahun, dan di rumahnya University of Wisconsin–Madison, dia menjadi dekan selama lima tahun. Beliau menyelidik dan mengajar pelajar tentang reka bentuk bahasa dan pengaturcaraan selari dan teragih.

Seluruh dunia mengenali Michael berkat buku teks "Pragmatik Bahasa Pengaturcaraan", edisi terkini yang diterbitkan secara relatifnya baru-baru ini - pada tahun 2015. Kerja dia "Algoritma untuk penyegerakan berskala pada multipemproses memori kongsi" menerima Hadiah Dijkstra sebagai salah satu yang paling terkenal dalam bidang pengkomputeran teragih dan berbohong secara terbuka di Perpustakaan Dalam Talian Universiti Rochester. Anda juga mungkin mengenalinya sebagai pengarang algoritma Michael-Scott dari "Mudah, Pantas dan Praktikal Tidak Menyekat dan Menyekat Algoritma Baris Serentak".

Bagi dunia Java, ini adalah kes istimewa: bersama-sama dengan Doug Lea, beliau membangunkan algoritma tidak menyekat dan baris gilir segerak yang mana perpustakaan Java berfungsi. Inilah yang dimaksudkan dengan ucaptama "Struktur data dwi" - pengenalan struktur ini dalam Java SE 6 telah meningkatkan prestasi sebanyak 10 kali java.util.concurrent.ThreadPoolExecutor. Jika anda tertanya-tanya terlebih dahulu apakah "struktur data dwi" ini, maka terdapat maklumat mengenainya kerja-kerja yang berkaitan.

Maurice Herlihy - Rantaian sekat dan masa depan pengkomputeran teragih

19 kepala hidra. Gambaran keseluruhan program yang hebat Maurice Herlihy - pemenang dua Hadiah Dijkstra. Yang pertama adalah untuk kerja "Penyegerakan Tanpa Tunggu" (Brown University), dan yang kedua, lebih baru - "Memori Transaksi: Sokongan Seni Bina untuk Struktur Data Tanpa Kunci" (Universiti Teknologi Virginia). Hadiah Dijkstra mengiktiraf kerja yang kepentingan dan kesannya telah dapat dilihat selama sekurang-kurangnya sepuluh tahun, dan Maurice jelas merupakan salah seorang pakar paling terkenal dalam bidang itu. Beliau kini bekerja sebagai profesor di Universiti Brown dan mempunyai senarai pencapaian sepanjang perenggan.

Dalam ucaptama penutup ini, Maurice akan bercakap tentang teori dan amalan sistem teragih blockchain dari sudut pandangan klasik pengkomputeran teragih dan bagaimana ia memudahkan banyak masalah berkaitan. Ini adalah laporan secara eksklusif mengenai topik persidangan - sama sekali bukan tentang gembar-gembur perlombongan, tetapi lebih kepada bagaimana pengetahuan kita boleh digunakan dengan berkesan dan sewajarnya secara luar biasa berkaitan dengan pelbagai tugas.

Pada Julai 2017, Maurice sudah datang ke Rusia untuk menghadiri sekolah SPTDC, mengambil bahagian dalam pertemuan JUG.ru, dan rakaman itu boleh ditonton di YouTube:

Program utama

Seterusnya akan terdapat gambaran ringkas mengenai laporan yang disertakan dalam program tersebut. Beberapa laporan diterangkan di sini secara terperinci, yang lain dengan lebih ringkas. Perihalan panjang terutamanya diberikan kepada laporan berbahasa Inggeris yang memerlukan pautan ke kertas saintifik, istilah di Wikipedia dan sebagainya. Senarai penuh tersedia lihat di laman web persidangan. Senarai di laman web akan dikemas kini dan ditambah.

Leslie Laport - Q & A

19 kepala hidra. Gambaran keseluruhan program yang hebat Leslie Lamport ialah pengarang karya mani dalam pengkomputeran teragih. "LaTeX" bermaksud "Lamport TeX". Dialah yang pertama kali, pada tahun 1979, memperkenalkan konsep itu konsistensi yang konsisten, dan artikelnya "Cara Membuat Komputer Berbilang Pemproses yang Melaksanakan Program Berbilang Proses dengan Betul" menerima Hadiah Dijkstra.

Ini adalah bahagian program yang paling luar biasa dari segi format, kerana ia bukan laporan, tetapi sesi soal jawab. Apabila sebahagian besar penonton sudah biasa (atau boleh menjadi biasa) dengan semua jenis karya berdasarkan "teori Lamport", artikel dan laporannya sendiri, adalah lebih penting untuk menghabiskan semua masa yang ada untuk komunikasi langsung.

Ideanya mudah - anda menonton dua laporan di YouTube: "Pengaturcaraan Harus Lebih Daripada Pengekodan" ΠΈ "Jika Anda Tidak Menulis Program, Jangan Gunakan Bahasa Pengaturcaraan" dan sediakan sekurang-kurangnya satu soalan, dan Leslie menjawab.

Yang pertama daripada dua video ini sudah pun kami ada bertukar jadi pasal habro. Jika anda tidak mempunyai masa sejam untuk menonton video, anda boleh membaca semuanya dengan cepat dalam bentuk teks.

Nota: Terdapat banyak lagi video Leslie Lamport di YouTube. Sebagai contoh, ada yang hebat Kursus TLA+. Versi luar talian bagi keseluruhan kursus ini tersedia di halaman utama pengarang, dan dia memuat naiknya ke YouTube untuk tontonan yang lebih mudah pada peranti mudah alih.

Martin Kleppmann - Menyegerakkan data merentas peranti pengguna untuk kerjasama teragih

19 kepala hidra. Gambaran keseluruhan program yang hebat Martin Kleppmann ialah seorang penyelidik di Universiti Cambridge yang bekerja pada CRDT dan pengesahan rasmi algoritma. Buku Martin "Merancang Aplikasi Intensif Data", yang diterbitkan pada 2017, terbukti sangat berjaya dan menjadikannya dalam senarai terlaris dalam bidang penyimpanan dan pemprosesan data. Kevin Scott, CTO di Microsoft, pernah berkata: β€œBuku ini harus dimiliki oleh jurutera perisian. Ini adalah sumber yang jarang ditemui yang menggabungkan teori dan amalan untuk membantu pembangun lebih bijak dalam mereka bentuk dan melaksanakan infrastruktur dan sistem data.” Pencipta Kafka dan CTO Confluent, Jay Kreps, mengatakan sesuatu yang serupa.

Sebelum beralih ke penyelidikan akademik, Martin bekerja dalam industri dan mengasaskan dua syarikat permulaan yang berjaya:

  • Rapportive, khusus untuk memaparkan profil sosial kenalan daripada e-mel anda, yang dibeli oleh LinkedIn pada tahun 2012;
  • Go Test It, perkhidmatan untuk menguji tapak web secara automatik dalam pelbagai pelayar, yang dibeli oleh RedGate pada tahun 2009.

Secara amnya, Martin, walaupun kurang terkenal daripada ucaptama kami, telah dapat memberikan sedikit sumbangan kepada pembangunan pengkomputeran teragih dan kepada industri.

Dalam ceramah ini, Martin akan bercakap tentang topik yang lebih dekat dengan penyelidikan akademiknya. Dalam Dokumen Google dan sofa pengeditan bersama dokumen yang serupa, "pengeditan kolaboratif" merujuk kepada tugas replikasi: setiap pengguna mempunyai replika dokumen kongsi mereka sendiri, yang kemudiannya mereka ubah suai dan semua perubahan dihantar merentasi rangkaian ke seluruh peserta. Perubahan pada dokumen luar talian membawa kepada ketidakkonsistenan sementara dokumen berhubung dengan peserta lain dan penyegerakan semula memerlukan pengendalian konflik. Itulah sebabnya mereka wujud Jenis Data Replika Tanpa Konflik (CRDT), sebenarnya, adalah perkara yang agak baru, intipatinya hanya dirumuskan pada tahun 2011. Ceramah ini membincangkan perkara yang telah berlaku sejak itu dalam dunia CRDT, apakah kemajuan terkini, pendekatan untuk mencipta aplikasi tempatan pertama secara umum dan penggunaan perpustakaan sumber terbuka Autocantum khususnya.

Minggu depan kami akan menerbitkan wawancara panjang dengan Martin di HabrΓ©, ia akan menjadi menarik.

Pedro Ramalhete - Struktur data tanpa menunggu dan transaksi tanpa menunggu

19 kepala hidra. Gambaran keseluruhan program yang hebat Pedro bekerja di Cisco dan telah membangunkan algoritma selari selama sepuluh tahun yang lalu atau lebih, termasuk mekanisme penyegerakan, struktur data tanpa kunci dan tanpa menunggu dan semua yang anda boleh bayangkan mengenai topik ini. Kepentingan penyelidikan dan kejuruteraan semasa beliau tertumpu pada Pembinaan Universal, Memori Transaksi Perisian, Memori Berterusan dan teknologi serupa yang membolehkan aplikasi yang betul, berskala dan tahan terhadap kesalahan. Beliau juga merupakan pengarang blog yang dikenali ramai dalam kalangan sempit Concurrency Freaks.

Kebanyakan aplikasi berbilang benang kini berjalan pada struktur data selari, daripada penggunaan baris gilir mesej antara aktor kepada struktur data diindeks dalam stor nilai kunci. Mereka telah berjaya bekerja dalam Java JDK selama bertahun-tahun, dan mereka perlahan-lahan ditambahkan ke C++.

Cara paling mudah untuk melaksanakan struktur data selari ialah pelaksanaan berurutan (benang tunggal) di mana kaedah dilindungi oleh mutex. Ini boleh diakses pada mana-mana bulan Jun, tetapi mempunyai masalah yang jelas dengan penskalaan dan prestasi. Pada masa yang sama, struktur data tanpa kunci dan tanpa menunggu bukan sahaja mengatasi ralat dengan lebih baik, tetapi juga mempunyai profil prestasi yang lebih baik - namun, pembangunannya memerlukan kepakaran dan penyesuaian yang mendalam kepada aplikasi tertentu. Satu baris kod yang salah sudah cukup untuk memecahkan segala-galanya.

Bagaimanakah kita boleh membuatnya supaya walaupun bukan pakar boleh mereka bentuk dan melaksanakan struktur data sedemikian? Adalah diketahui bahawa mana-mana algoritma berjujukan boleh dijadikan benang selamat menggunakan sama ada reka bentuk sejagat, atau ingatan transaksi. Untuk satu perkara, mereka boleh mengurangkan halangan untuk masuk ke dalam menyelesaikan masalah ini. Walau bagaimanapun, kedua-dua penyelesaian biasanya membawa kepada pelaksanaan yang tidak berkesan. Pedro akan bercakap tentang cara mereka berjaya menjadikan reka bentuk ini lebih cekap dan cara anda boleh menggunakannya untuk algoritma anda.

Heidi Howard - Membebaskan konsensus yang diedarkan

19 kepala hidra. Gambaran keseluruhan program yang hebat Heidi Howard, seperti Martin, seorang penyelidik sistem teragih di Universiti Cambridge. Keistimewaannya ialah konsisten, toleransi kesalahan, prestasi dan konsensus yang diedarkan. Dia terkenal dengan generalisasi algoritma Paxos yang dipanggil Paxos yang fleksibel.

Ingat bahawa Paxos ialah keluarga protokol untuk menyelesaikan masalah konsensus dalam rangkaian komputer yang tidak boleh dipercayai, berdasarkan kerja Leslie Lamport. Oleh itu, beberapa penceramah kami sedang mengusahakan masalah yang pada asalnya dicadangkan oleh pembesar suara kami yang lain - dan ini bagus.

Keupayaan untuk mencari konsensus di kalangan berbilang hosβ€”untuk menangani, pemilihan pemimpin, penyekatan atau penyelarasanβ€”adalah isu asas dalam sistem pengedaran moden. Paxos kini merupakan cara utama untuk menyelesaikan masalah konsensus, dan terdapat banyak penyelidikan yang dijalankan di sekelilingnya untuk mengembangkan dan mengoptimumkan algoritma untuk pelbagai keperluan praktikal.

Dalam perbincangan ini, kami akan menyemak semula asas teori Paxos, melonggarkan keperluan asal dan menyamaratakan algoritma. Kita akan melihat bahawa Paxos pada asasnya hanyalah satu pilihan antara pelbagai besar pendekatan konsensus, dan titik lain pada spektrum juga sangat berguna untuk membina sistem teragih yang baik.

Alex Petrov β€” Kurangkan kos penyimpanan anda dengan Replikasi Sementara dan Kuorum Murah

19 kepala hidra. Gambaran keseluruhan program yang hebat Alex ialah pakar pangkalan data dan sistem storan, dan yang lebih penting bagi kami, seorang pengkomit Cassandra. Beliau kini sedang mengerjakan sebuah buku, Database Internals, dengan O'Reilly.

Untuk sistem dengan konsisten akhirnya (dalam terminologi Rusia - "konsistensi muktamad"), selepas nod ranap atau perpecahan rangkaian, anda perlu menyelesaikan dilema berikut: sama ada terus melaksanakan permintaan, mengorbankan konsistensi, atau enggan melaksanakannya dan mengorbankan ketersediaan. Dalam sistem sedemikian, kuorum, subset nod yang bertindih dan memastikan bahawa sekurang-kurangnya satu nod mengandungi nilai terkini, boleh menjadi penyelesaian kelebihan yang baik. Anda boleh bertahan daripada kegagalan dan kehilangan sambungan ke beberapa nod sambil tetap bertindak balas dengan nilai terkini.

Namun, semuanya ada harganya. Skim replikasi kuorum bermakna peningkatan kos storan: data berlebihan mesti disimpan pada berbilang nod sekaligus untuk memastikan terdapat salinan yang mencukupi apabila masalah berlaku. Ternyata anda tidak perlu menyimpan semua data pada semua replika. Anda boleh mengurangkan beban pada storan jika anda menyimpan data hanya pada sebahagian daripada nod dan menggunakan nod khas (Transient Replica) untuk senario pengendalian kegagalan.

Semasa menjalankan laporan kami akan mempertimbangkan Replika Saksi, skema replikasi yang digunakan dalam Spanner ΠΈ kedai mega, dan pelaksanaan konsep ini dalam Apache Cassandra dipanggil Replikasi Sementara & Kuorum Murah.

Dmitry Vyukov - Goroutines terdedah

19 kepala hidra. Gambaran keseluruhan program yang hebat Dmitry ialah pembangun di Google yang menjalankan ujian dinamik untuk C/C++ dan Go - Address/Memory/ThreadSanitizer, dan alatan serupa untuk kernel Linux. Menyumbang kepada Go penjadual goroutine berskala, pengumpul sampah rangkaian dan pengumpul sampah selari. Beliau adalah pakar dalam multithreading, pengarang sedozen algoritma bukan sekatan baharu dan merupakan pemilik Tali pinggang hitam Intel.

Sekarang sedikit tentang laporan itu sendiri. Bahasa Go mempunyai sokongan asli untuk multithreading dalam bentuk goroutine (benang ringan) dan saluran (baris gilir FIFO). Mekanisme ini menjadikannya sangat mudah dan menyeronokkan untuk pengguna menulis aplikasi berbilang benang moden, dan ia kelihatan seperti sihir. Seperti yang kita faham, tiada sihir di sini. Dalam ceramah ini, Dmitry akan menyelidiki selok-belok penjadual Go dan menunjukkan rahsia melaksanakan "sihir" ini. Pertama, dia akan memberikan gambaran keseluruhan komponen utama penjadual dan memberitahu anda cara ia berfungsi. Seterusnya, kami akan melihat dengan lebih dekat aspek individu seperti strategi meletak kereta/menyahparkir dan mengendalikan panggilan sistem menyekat. Akhirnya, Dmitry akan bercakap sedikit tentang kemungkinan penambahbaikan pada penjadual.

Dmitry Bugaichenko - Mempercepatkan analisis graf teragih dengan lakaran kebarangkalian dan banyak lagi

19 kepala hidra. Gambaran keseluruhan program yang hebat Dmitry bekerja dalam penyumberan luar selama hampir 9 tahun tanpa kehilangan hubungan dengan universiti dan komuniti saintifik. Analisis data besar dalam Odnoklassniki menjadi baginya peluang unik untuk menggabungkan latihan teori dan asas saintifik dengan pembangunan produk sebenar yang dalam permintaan.

Analisis graf yang diedarkan telah dan masih menjadi tugas yang sukar: apabila ia menjadi perlu untuk mendapatkan maklumat tentang sambungan bucu jiran, data selalunya perlu dipindahkan antara mesin, yang membawa kepada peningkatan masa pelaksanaan dan beban pada infrastruktur rangkaian. Dalam perbincangan ini, kita akan melihat cara anda boleh mendapatkan kelajuan pemprosesan yang ketara dengan menggunakan struktur data atau fakta kebarangkalian seperti simetri graf persahabatan dalam rangkaian sosial. Semua ini digambarkan dengan contoh kod dalam Apache Spark.

Denis Rystsov - Kurangkan kos penyimpanan anda dengan Replikasi Sementara dan Kuorum Murah

19 kepala hidra. Gambaran keseluruhan program yang hebat Denis - pemaju Cosmos DB, pakar dalam menyemak model ketekalan, algoritma konsensus dan transaksi teragih. Dia kini bekerja di Microsoft, dan sebelum itu dia bekerja pada sistem yang diedarkan di Amazon dan Yandex.

Dalam perbincangan ini, kita akan melihat protokol urus niaga yang diedarkan yang telah dicipta sejak beberapa tahun kebelakangan ini, yang boleh dilaksanakan pada bahagian pelanggan di atas mana-mana stor data yang menyokong kemas kini bersyarat (bandingkan dan tetapkan). Intinya ialah kehidupan tidak berakhir dengan komit dua fasa, transaksi boleh ditambah di atas mana-mana pangkalan data - di peringkat aplikasi, tetapi protokol yang berbeza (2PC, Percolator, RAMP) mempunyai pertukaran yang berbeza dan tidak diberikan kepada kami secara percuma.

Alexey Zinoviev - Tidak semua algoritma ML berjaya mencapai syurga teragih

19 kepala hidra. Gambaran keseluruhan program yang hebat Alexei (zaleslaw) adalah penceramah lama dan ahli jawatankuasa program di persidangan lain. Mengamalkan jurulatih di EPAM Systems, dan telah berkawan dengan Hadoop/Spark dan data besar yang lain sejak 2012.

Dalam ceramah ini, Alexey akan bercakap tentang masalah menyesuaikan algoritma pembelajaran mesin klasik untuk pelaksanaan dalam mod teragih berdasarkan pengalamannya bekerja dengan Apache Spark ML, Apache Mahout, Apache Flink ML dan pengalaman mencipta Apache Ignite ML. Alexey juga akan bercakap tentang pelaksanaan algoritma ML yang diedarkan dalam rangka kerja ini.

Dan akhirnya, dua laporan dari Yandex tentang Pangkalan Data Yandex.

Vladislav Kuznetsov - Pangkalan Data Yandex - bagaimana kami memastikan toleransi kesalahan

19 kepala hidra. Gambaran keseluruhan program yang hebat Vladislav ialah pembangun di Yandex dalam kumpulan platform yang diedarkan. Pangkalan Data Yandex ialah DBMS berskala mendatar, teragih geo, tahan kerosakan yang boleh menahan kegagalan cakera, pelayan, rak dan pusat data tanpa kehilangan konsistensi. Untuk memastikan toleransi kesalahan, algoritma proprietari untuk mencapai konsensus teragih digunakan, serta beberapa penyelesaian teknikal, yang dibincangkan secara terperinci dalam laporan. Laporan itu mungkin menarik minat pembangun DBMS dan pembangun penyelesaian aplikasi berdasarkan DBMS.

Semyon Checherinda - Urus niaga yang diedarkan dalam YDB

19 kepala hidra. Gambaran keseluruhan program yang hebat Semyon ialah pembangun dalam kumpulan platform teragih di Yandex, mengusahakan kemungkinan penggunaan berbilang penyewa bagi pemasangan YDB.

Pangkalan Data Yandex direka untuk pertanyaan OLTP dan mematuhi keperluan ACID untuk sistem transaksi. Dalam laporan ini, kami akan mempertimbangkan algoritma penjadualan transaksi yang mendasari sistem transaksi YDB. Mari lihat entiti mana yang mengambil bahagian dalam urus niaga, siapa yang memperuntukkan pesanan global kepada urus niaga, cara atomisitas transaksi, kebolehpercayaan dan tahap pengasingan yang ketat dicapai. Menggunakan masalah biasa sebagai contoh, mari kita lihat pelaksanaan transaksi menggunakan komitmen dua fasa dan transaksi deterministik. Mari kita bincangkan perbezaan mereka.

Apa seterusnya?

Program persidangan terus diisi dengan laporan baru. Khususnya, kami mengharapkan laporan daripada Nikita Koval (ndkoval) daripada JetBrains dan Oleg Anastasyev (m0nstermind) daripada syarikat Odnoklassniki. Nikita bekerja pada algoritma untuk coroutine dalam pasukan Kotlin, dan Oleg membangunkan seni bina dan penyelesaian untuk sistem beban tinggi dalam platform Odnoklassniki. Selain itu, terdapat satu lagi slot kosong bersyarat, jawatankuasa program sedang bekerjasama dengan calon untuknya sekarang.

Persidangan Hydra akan berlangsung pada 11-12 Julai di St. Petersburg. Tiket boleh didapati pembelian di laman web rasmi. Sila beri perhatian kepada ketersediaan tiket dalam talian - jika atas sebab tertentu anda tidak boleh sampai ke St. Petersburg hari ini.

Jumpa anda di Hydra!

Sumber: www.habr.com

Tambah komen