19 hidra başı. Programa harika bir genel bakış

11-12 Temmuz'da St. Petersburg'da bir konferans düzenlenecek hidraparalel ve dağıtık sistemlerin geliştirilmesine adanmıştır. Hydra ile ilgili olan şey, (genellikle yalnızca yabancı bilimsel konferanslarda bulunan) en iyi bilim adamlarını ve tanınmış uygulamacı mühendisleri bilim ve uygulamanın kesiştiği noktada büyük bir programda birleştirmesidir.

Hydra, son yıllarda düzenlediğimiz en önemli konferanslardan biridir. Öncesinde çok ciddi bir hazırlık, konuşmacı seçimi ve raporlar vardı. Bu konuda geçen hafta habroröportaj çıktı JUG.ru Group'un direktörü Alexey Fedorov ile (23derevo).

Biz Zaten söylendi yaklaşık üç önemli katılımcı, dağıtılmış sistemler teorisinin kurucuları - Leslie Lamport, Maurice Herlihy ve Michael Scott. Tüm program hakkında daha fazla konuşma zamanı!

19 hidra başı. Programa harika bir genel bakış

Motivasyon

Programlama yapıyorsanız, öyle ya da böyle çok iş parçacıklı ve dağıtılmış bilgi işlemle uğraşıyorsunuz demektir. İlgili alanlardaki uzmanlar onlarla doğrudan çalışır, ancak dolaylı olarak, dağıtım bize her yerden bakar: herhangi bir çok çekirdekli bilgisayarda veya dağıtılmış hizmette, hesaplamaları paralel olarak yapan bir şey vardır.

Uygulama programlamanın belirli yönlerini kapsayan birçok konferans vardır. Spektrumun diğer tarafında, ders formatında, büyük miktarlarda karmaşık teoriyi ortaya koyan özel bilimsel okullarımız var. Örneğin, St. Petersburg'daki Hydra'ya paralel olarak, SPTDC okulu. Hydra konferansında sert uygulama ile bilimi ve bunların kesiştiği her şeyi bir araya getirmeye çalıştık.

Şunu bir düşünün: İçinde bulunduğumuz bilim ve mühendislik alanının kurucularıyla canlı olarak tanışabileceğiniz harika bir zamanda yaşıyoruz. Fizikçiler ne Newton ne de Einstein ile tanışmayacak - tren gitti. Ancak dağıtılmış sistemler teorisinin temellerini oluşturanlar, popüler programlama dillerini icat edenler ve tüm bunları ilk kez çalışan prototiplere dönüştürenler hala yanımızda yaşıyor. Bu insanlar işlerini yarı yolda bırakmamış, şu anda dünyaca ünlü üniversitelerde ve şirketlerde gerçek hayattaki görevleri yapmakta ve günümüzün en büyük bilgi ve deneyim kaynaklarıdır.

Öte yandan, onlarla tanışma fırsatı genellikle tamamen teorik olarak kalır: Çok azımız Rochester Üniversitesi'ndeki halka açık olayları sürekli olarak izleyerek ABD'ye koşabilir ve Michael Scott'ın bir dersine geri dönebiliriz. Genel olarak Hydra'nın tüm üyelerini ziyaret etmek, harcanan zamanın uçurumu dışında küçük bir servet olacaktır (kulağa ilginç bir görev gibi gelse de).

Öte yandan, şu anda dağıtık sistemlerin gerçek sorunları üzerinde çalışan birçok üst düzey mühendisimiz var ve kesinlikle söyleyecekleri bir şeyleri var. Ama sorun şu - onlar çalışmave onların zamanı değerlidir. Evet, Microsoft, Google veya JetBrains çalışanıysanız, tanınmış konuşmacılardan biriyle dahili bir etkinlikte tanışma olasılığı önemli ölçüde artar, ancak genel olarak - hayır, her gün olmaz.

Böylece Hydra konferansı, çoğumuzun tek başımıza yapamayacağı önemli bir görevi tek bir yerde ve aynı anda başarıyor, fikirleri veya iletişimleri hayatınızı değiştirebilecek insanları bir araya getiriyor. Herkesin dağıtılmış sistemlere, bazı karmaşık temel şeylere ihtiyacı olmadığını kabul ediyorum. CRUD'ları PHP'de hayatınızın geri kalanında programlayabilir ve tamamen mutlu olabilirsiniz. Ama kimin ihtiyacı var - bu senin şansın.

Hidra konferansının Habré ile ilgili ilk duyurusundan bu yana oldukça fazla zaman geçti. Bu süre zarfında çok iş yapıldı - ve şimdi neredeyse tüm raporların bir listesine sahibiz. Yavaşlayan tek iş parçacıklı algoritmalar yok, sadece saf dağıtılmış hardcore! Genel kelimelerle bitirelim ve şimdi elimizde neler olduğuna bakalım.

Keynotes

Açılış konuşmaları konferans günlerini başlatır ve bitirir. Genellikle açılış konuşmasının amacı, konferansın genel ruhunu ve yönünü belirlemektir. Kapanış açılış konuşması bir çizgi çiziyor ve konferans günlerinde edinilen bilgi ve becerilerle nasıl yaşayabileceğimizi açıklıyor. Başlangıç ​​ve bitiş: En iyi hatırlanan ve genel olarak artan bir değere sahiptir.

Cliff Click- H2O dağıtılmış K/V algoritması

19 hidra başı. Programa harika bir genel bakış Cliff, Java dünyasında bir efsanedir. 90'ların sonunda, bir doktora tezi için, adında bir makale yazdı. "Analizleri Birleştirmek, Optimizasyonları Birleştirmek", bir süre sonra HotSpot JVM Sunucu Derleyicisinin temeli haline geldi. İki yıl sonra, JVM üzerinde Sun Microsystems'da çalışıyordu ve tüm dünyaya JIT'in var olmaya hakkı olduğunu gösterdi. Java'nın en akıllı ve en hızlı optimizasyonlara sahip en hızlı modern çalışma zamanlarından biri olduğuna dair tüm bu hikaye Cliff Click'ten geldi. En başta, statik bir derleyici için bir şey mevcutsa, onu sallamaya bile çalışamayacağınıza inanılıyordu. Cliff ve ekibinin çalışmaları sayesinde tüm yeni diller varsayılan olarak JIT derlemesi fikriyle oluşturulmaya başlandı. Elbette bu bir kişinin işi değildi ama Cliff bunda çok önemli bir rol oynadı.

Açılış konuşmasında, Cliff diğer girişimi hakkında konuşacak - H20, endüstriyel uygulamalar için dağıtılmış ve ölçeklenebilir makine öğrenimi için bir bellek içi platform. Daha doğrusu, içindeki anahtar/değer çiftlerinin dağıtılmış olarak depolanması hakkında. Bu, birçok ilginç özelliğe sahip çok hızlı bir depolamadır (tam liste Tanım) büyük veri akışının matematiğinde benzer çözümlerin kullanılmasına izin verir.

Cliff'in vereceği bir diğer konuşma ise Azul Donanım İşlemsel Bellek deneyimi. Biyografisinin bir başka kısmı - on yıl Azul'da çalışıyorAzul donanım ve teknoloji yığınındaki pek çok şeyi güncellediği ve geliştirdiği yer: JIT derleyicileri, çalışma zamanı, iş parçacığı modeli, hata işleme, yığın manipülasyonu, donanım kesintileri, sınıf yükleme vb. fikir.

En ilginç kısım, büyük şirketler için donanım yaptıklarında başladı - Java çalıştıracak bir süper bilgisayar. Özel gereksinimleri olan Java için özel olarak tasarlanmış oldukça yenilikçi bir şeydi - düşük duraklamalı çöp toplama için okuma için bellek engelleri, sınır kontrolü olan diziler, sanal aramalar ... En havalı teknolojilerden biri donanım işlem belleğidir. 1 çekirdeğin herhangi birinin tüm L864'i, özellikle Java'da kilitlerle çalışmak için önemli olan işlemsel yazmaya katılabilir (gerçek bellek çakışması olmadığı sürece senkronize bloklar paralel olarak çalışabilir). Ancak bu güzel fikir sert gerçekliğe çarptı - ve bu raporda Cliff size HTM ve STM'nin çok iş parçacıklı bilgi işlemin pratik gereksinimleri için neden pek uygun olmadığını anlatacak.

Michael Scott- Çift veri yapıları

19 hidra başı. Programa harika bir genel bakış Michael Scott - Kaderin kendisine bağladığı Rochester Üniversitesi'nde Bilgisayar Bilimleri Profesörü zaten 34 yıldırve memleketi Wisconsin-Madison Üniversitesi'nde beş yıl dekanlık yaptı. Paralel ve dağıtık programlama ve dil tasarımı alanında araştırma yapmakta ve bunu öğrencilere öğretmektedir.

Ders kitabı sayesinde tüm dünya Michael'ı tanıyor "Programlama Dili Edimbilimi", en son baskısı nispeten yakın zamanda yayınlandı - 2015'te. Onun işi "Paylaşımlı bellek çoklu işlemcilerinde ölçeklenebilir senkronizasyon için algoritmalar" Aldığım Dijkstra Ödülü dağıtılmış bilgi işlem alanında en ünlülerinden biri olarak ve açıkça yalan söylemek Rochester Üniversitesi Çevrimiçi Kitaplığı'nda. Onu aynı Michael-Scott algoritmasının yazarı olarak da tanıyor olabilirsiniz. "Basit, Hızlı ve Pratik Bloklama ve Bloklama Eşzamanlı Kuyruk Algoritmaları".

Java dünyasına gelince, bu özel bir durumdur: Doug Lea ile birlikte, Java kitaplıklarının üzerinde çalıştığı o engellemeyen algoritmaları ve eşzamanlı kuyrukları geliştirdi. "Çift veri yapıları" açılış konuşmasının konusu bu olacak - bu yapıların Java SE 6'da tanıtılması, performansı 10 kat artırmamızı sağladı. java.util.concurrent.ThreadPoolExecutor. Bu “Çift veri yapılarının” ne olduğu ile önceden ilgileniyorsanız, o zaman alakalı iş.

Maurice Herlihy- Blok zincirleri ve dağıtılmış bilgi işlemin geleceği

19 hidra başı. Programa harika bir genel bakış Maurice Herlihy - İki Dijkstra ödülü sahibi. Birincisi iş için "Beklemeden Senkronizasyon" (Brown Üniversitesi) ve ikincisi, daha yeni - "İşlemsel Bellek: Kilitsiz Veri Yapıları için Mimari Destek" (Virginia Teknik Üniversitesi). Dijkstra Ödülü, önemi ve etkisi en az on yıldır fark edilen eserlere veriliyor ve Maurice'in bu alandaki en ünlü uzmanlardan biri olduğu açık. Şu anda Brown Üniversitesi'nde profesör ve paragraf uzunluğunda başarıları var.

Bu kapanış açılış konuşmasında Maurice, dağıtılmış bilgi işlem klasikleri açısından blok zinciri dağıtılmış sistemlerin teorisi ve pratiğinden ve bunun birçok ilgili sorunu nasıl basitleştirdiğinden bahsedecek. Bu rapor yalnızca konferansın konusuyla ilgilidir - kesinlikle madencilik abartısıyla ilgili değildir, daha çok bilgimizin çeşitli görevlerle ilgili olarak nasıl şaşırtıcı derecede etkili ve uygun bir şekilde kullanılabileceği hakkındadır.

Temmuz 2017'de Maurice, SPTDC okuluna Rusya'ya geldi, JUG.ru buluşmasına katıldı ve kayıt YouTube'da izlenebilir:

Ana program

Daha sonra programda yer alan raporların kısa bir incelemesi yapılacaktır. Raporlardan bazıları burada ayrıntılı olarak, bazıları ise daha kısaca açıklanmıştır. Uzun açıklamalar, çoğunlukla bilimsel makalelere, Wikipedia'daki terimlere vb. bağlantılar gerektiren İngilizce raporlara gitti. Tam bir liste olabilir konferans web sitesine bakın. Sitedeki liste güncellenecek ve eklenecektir.

Leslie Lamport- Soru ve Cevap

19 hidra başı. Programa harika bir genel bakış Leslie Lamport, dağıtılmış bilgi işlemin öncü yazarıdır. Lateks "Lampport TeX"in kısaltmasıdır. 1979'da konsepti ilk kez o tanıttı. tutarlı tutarlılıkve makalesi "Çok İşlemli Programları Doğru Yürüten Çok İşlemcili Bilgisayar Nasıl Yapılır" Dijkstra Ödülü'nü aldı.

Bu, programın format açısından en sıra dışı kısmı çünkü bir rapor bile değil, bir soru-cevap oturumu. İzleyicilerin önemli bir kısmı Lamport'un teorisine dayanan her türlü çalışmaya, kendi makalelerine ve raporlarına zaten aşina olduğunda (veya aşina olabileceğinde), mevcut tüm zamanı doğrudan iletişime harcamak daha önemlidir.

Fikir basit - YouTube'da iki rapor izliyorsunuz: "Programlama Kodlamadan Daha Fazlası Olmalıdır" и "Program Yazmıyorsanız, Programlama Dili Kullanmayın" ve en az bir soru hazırlayın ve Leslie yanıtlar.

Zaten sahip olduğumuz bu iki videodan ilki saçmalığa dönüştü. Videoyu izlemek için bir saatiniz yoksa, hepsini metin biçiminde hızlı bir şekilde okuyabilirsiniz.

Not: YouTube'da Leslie Lamport ile çok daha fazla video var. Örneğin, mükemmel bir TLA+ kursu. Bu kursun tamamının çevrimdışı bir sürümü şu adreste mevcuttur: yazarın ana sayfasıve mobil cihazlarda daha rahat görüntüleme için YouTube'a döktü.

Martin Kleppman- Dağıtılmış işbirliği için verileri kullanıcı cihazları arasında senkronize etme

19 hidra başı. Programa harika bir genel bakış Martin Kleppmann, Cambridge Üniversitesi'nde CRDT ve resmi algoritma doğrulaması üzerinde çalışan bir araştırmacıdır. Martin'in kitabı "Veri Yoğun Uygulamalar Tasarlamak"2017 yılında yayınlanan , veri depolama ve işleme alanında çok başarılı olduğunu kanıtladı ve en çok satanlar listelerine girdi. Kevin Scott, Microsoft'ta CTO önceden söylenmiş: “Bu kitap tasarım mühendislerinin olmazsa olmazı olmalı. Bu, geliştiricilerin veri altyapısını ve sistemleri daha akıllı bir şekilde tasarlamasına ve uygulamasına yardımcı olmak için teori ve pratik arasında köprü kuran nadir bir kaynaktır." Benzer bir şey Kafka'nın yaratıcısı ve Confluent CTO'su Jay Kreps tarafından söylendi.

Akademik araştırmaya geçmeden önce, Martin sektörde çalıştı ve iki başarılı girişimin kurucu ortağı oldu:

  • LinkedIn'in 2012'de satın aldığı, e-posta kişilerinizin sosyal profilini görüntülemeye adanmış Rapportive;
  • Go Test It, RedGate'in 2009'da satın aldığı çok tarayıcılı otomatik bir web sitesi denetleyicisi.

Genel olarak, Martin, konuşmacılarımızdan daha az tanınmasına rağmen, dağıtık bilgi işlemin geliştirilmesine ve endüstriye şimdiden bazı katkılarda bulunmayı başardı.

Bu konuşmada Martin, akademik araştırmasına daha yakın bir konudan bahsedecek. Google Dokümanlar'da ve belgeleri birlikte yazmaya yönelik benzer bir kanepede, "birlikte yazma", bir çoğaltma görevi anlamına gelir: her kullanıcının paylaşılan bir belgenin kendi kopyası vardır, daha sonra bu kopyayı değiştirirler ve tüm değişiklikler ağ üzerinden geri kalanına gönderilir katılımcıların Belgelerde yapılan çevrimdışı değişiklikler, diğer katılımcılara göre geçici belge tutarsızlığına neden olur ve yeniden eşitleme, çakışma yönetimi gerektirir. sırf bunun için var Çakışmasız Çoğaltılmış Veri Türleri (CRDT), aslında, özü yalnızca 2011'de formüle edilen oldukça yeni bir şeydir. Bu konuşma, CRDT dünyasında o zamandan beri neler olduğunu, en son gelişmeleri, genel olarak yerel öncelikli uygulamaları oluşturma yaklaşımını ve açık kaynak kitaplığının kullanımını tartışıyor. Otomatik Birleştir özellikle.

Gelecek hafta Martin ile Habré hakkında büyük bir röportaj yayınlayacağız, ilginç olacak.

Pedro Ramalhete- Bekleme gerektirmeyen veri yapıları ve bekleme gerektirmeyen işlemler

19 hidra başı. Programa harika bir genel bakış Pedro, Cisco'da çalışıyor ve son on yıldır senkronizasyon mekanizmaları, kilitsiz ve beklemesiz veri yapıları ve bu konuda aklınıza gelebilecek her şey dahil olmak üzere paralel algoritmalar geliştiriyor. Mevcut araştırma ve mühendislik ilgi alanları, doğru, ölçeklenebilir ve hataya dayanıklı uygulamaları mümkün kılmak için Evrensel Yapılar, Yazılım İşlemsel Bellek, Kalıcı Bellek ve benzer teknolojilere odaklanmıştır. Ayrıca dar çevrelerde yaygın olarak bilinen bir blogun da yazarıdır. Eşzamanlılık Freaks.

Çok iş parçacıklı uygulamaların çoğu artık aktörler arasındaki mesaj sıralarını kullanmaktan anahtar-değer depolarındaki dizine alınmış veri yapılarına kadar paralel veri yapılarında çalışıyor. Uzun yıllardır Java JDK'da başarılı bir şekilde çalışıyorlar ve yavaş yavaş C++'a ekleniyorlar.

Paralel bir veri yapısını uygulamanın en basit yolu, yöntemlerin mutekslerle korunduğu seri (tek iş parçacıklı) bir uygulamadır. Bu, herhangi bir haziran tarafından kullanılabilir, ancak bariz ölçeklendirme ve performans sorunları vardır. Aynı zamanda, kilitsiz ve beklemesiz veri yapıları yalnızca hataları daha iyi işlemekle kalmaz, aynı zamanda daha iyi bir performans profiline sahiptir - ancak bunların geliştirilmesi, derin uzmanlık ve belirli bir kullanım durumuna uyarlanma gerektirir. Bir yanlış kod satırı her şeyi bozmaya yeter.

Uzman olmayan birinin bile bu tür veri yapılarını tasarlayıp uygulayabileceğinden nasıl emin olunur? Herhangi bir sıralı algoritmanın aşağıdaki yöntemlerle iş parçacığı açısından güvenli hale getirilebileceği bilinmektedir. evrensel tasarımveya işlem belleği. Birincisi, bu sorunu çözmek için giriş eşiğini düşürebilirler. Bununla birlikte, her iki çözüm de verimsiz uygulamalara yol açma eğilimindedir. Pedro, bu yapıları nasıl daha verimli hale getirdiklerinden ve algoritmaları için nasıl kullanılabileceğinden bahsedecek.

Heidi Howard- Dağıtılmış mutabakatı özgürleştirmek

19 hidra başı. Programa harika bir genel bakış Heidi Howard, Martin gibi, Cambridge Üniversitesi'nde dağıtık sistem araştırmacısıdır. Uzmanlığı tutarlılık, hata toleransı, performans ve dağıtılmış fikir birliğidir. Paxos algoritmasını genelleştirmesiyle tanınır. Esnek Paxos.

Hatırlanacağı Paxos - Leslie Lamport'un çalışmasına dayanan, güvenilir olmayan bilgisayarlardan oluşan bir ağda fikir birliği sorununu çözmek için bir protokol ailesi. Bu nedenle, konuşmacılarımızdan bazıları, diğer konuşmacılarımız tarafından orijinal olarak önerilen görevler üzerinde çalışıyor - ve bu harika.

Adresleme, lider seçimi, engelleme veya koordinasyon için birden fazla ana bilgisayar arasında fikir birliği bulma yeteneği, günümüzün dağıtılmış sistemlerinde temel bir sorundur. Paxos artık konsensüs problemlerini çözmenin ana yoludur ve çeşitli pratik ihtiyaçlar için algoritmayı genişletmek ve optimize etmek amacıyla bu konuda çok sayıda araştırma yapılmaktadır.

Bu raporda, Paxos'un teorik temelini yeniden gözden geçireceğiz, ilk gereksinimleri gevşeteceğiz ve algoritmayı genelleştireceğiz. Paxos'un mutabakata yönelik çok çeşitli yaklaşımlar arasında aslında seçeneklerden yalnızca biri olduğunu ve yelpazedeki diğer noktaların da iyi dağıtılmış sistemler oluşturmak için oldukça yararlı olduğunu göreceğiz.

Alex Petrov- Geçici Çoğaltma ve Ucuz Çekirdekler ile depolama maliyetlerinizi azaltın

19 hidra başı. Programa harika bir genel bakış Alex bir veri tabanı ve depolama uzmanı ve daha da önemlisi, Kötü olayları önceden haber veren kimse. Şu anda O'Reilly ile Database Internals kitabı üzerinde çalışıyor.

olan sistemler için nihai tutarlılık (Rus terminolojisinde - “sonunda tutarlılık”), bir düğümün düşmesinden veya bir ağ bölünmesinden sonra, aşağıdaki ikilemin çözülmesi gerekir: ya tutarlılıktan ödün vererek istekleri yerine getirmeye devam edin ya da bunları gerçekleştirmeyi reddedip kullanılabilirliği feda edin. Böyle bir sistemde çekirdekler, örtüşen düğüm alt kümeleri ve en az bir düğümün en son değeri içermesini sağlamak iyi bir uç çözüm olabilir. En güncel değerlerle yanıt vermeye devam ederken, bazı düğümlerdeki arızalardan ve bağlantı kaybından kurtulmak mümkündür.

Ancak her şeyin bir bedeli vardır. Yetersayı çoğaltma şeması, depolama maliyetinin artması anlamına gelir: bir sorun oluştuğunda yeterli kopyanın mevcut olduğundan emin olmak için yedekli verileri aynı anda birden çok düğümde depolamanız gerekir. Tüm verileri tüm kopyalarda depolayamayacağınız ortaya çıktı. Verileri yalnızca düğümlerin bir kısmında tutarsanız ve hata işleme senaryoları için özel düğümler (Transient Replica) kullanırsanız, depolama üzerindeki yükü azaltabilirsiniz.

Rapor sürecinde dikkate alacağız Tanık Kopyaları, kullanılan çoğaltma şeması İngiliz anahtarı и mega mağazave bu konseptin Apache Cassandra'da isimleri altında uygulanması Geçici Çoğaltma ve Ucuz Çekirdekler.

Dmitry Vyukov - Maruz kalan gorutinler

19 hidra başı. Programa harika bir genel bakış Dmitry, Google'da C/C++ ve Go dinamik testi - Adres/Bellek/ThreadSanitizer ve Linux çekirdeği için benzer araçlar üzerinde çalışan bir geliştiricidir. Go'ya ölçeklenebilir bir goroutine programlayıcı, bir ağ anketleyicisi ve eşzamanlı bir çöp toplayıcı katkıda bulundu. Çoklu kullanım konusunda uzman, bir düzine yeni engellemeyen algoritmanın yazarı ve sahibidir. Siyah kemer Intel.

Şimdi biraz raporun kendisi hakkında. Go dili, gorutinler (hafif iş parçacıkları) ve kanallar (FIFO kuyrukları) biçiminde çoklu iş parçacığı için yerel desteğe sahiptir. Bu mekanizmalar sayesinde, kullanıcıların modern çok iş parçacıklı uygulamalar yazması çok kolay ve keyifli ve sihir gibi görünüyor. Anladığımız gibi, burada sihir yok. Bu raporda Dmitry, Go zamanlayıcının inceliklerini araştıracak ve bu "sihri" uygulamanın sırlarını gösterecek. İlk olarak, programlayıcının ana bileşenleri ve nasıl çalıştığı hakkında genel bir bakış sunacak. Ardından, park etme / park etme stratejisi ve engelleme sistemi çağrılarını yönetme gibi belirli konulara daha yakından bakacağız. Son olarak, Dmitry biraz programlayıcıdaki olası iyileştirmelerden bahsedecek.

Dmitry Bugaichenko - Olasılık Çizimleri ve Daha Fazlasıyla Dağıtılmış Grafik Analizini Hızlandırma

19 hidra başı. Programa harika bir genel bakış Dmitry, üniversite ve bilimsel toplulukla temasını kaybetmeden yaklaşık 9 yıldır dış kaynak kullanımında çalıştı. Odnoklassniki'deki büyük veri analizi, teorik eğitimi ve bilimsel temeli gerçek, talep gören ürünlerin geliştirilmesiyle birleştirmesi için eşsiz bir fırsattı.

Dağıtılmış grafik analizi zor bir görev olmuştur ve olmaya devam etmektedir: komşu bir tepe noktasının bağlantıları hakkında bilgi edinmek gerektiğinde, verilerin genellikle makineler arasında aktarılması gerekir, bu da yürütme süresinde ve ağda bir yükte artışa yol açar altyapı. Bu konuşmada, olasılıksal veri yapılarını veya bir sosyal ağdaki arkadaşlık grafiğinin simetrisi gibi gerçekleri kullanarak işlemede önemli bir hızı nasıl elde edebileceğinizi göreceğiz. Bütün bunlar Apache Spark kod örnekleriyle gösterilmiştir.

Denis Rystsov- Geçici Çoğaltma ve Ucuz Çekirdekler ile depolama maliyetlerinizi azaltın

19 hidra başı. Programa harika bir genel bakış Denis - geliştirici Cosmos DB'si, tutarlılık modeli doğrulama, fikir birliği algoritmaları ve dağıtılmış işlemlerde uzman. Şimdi Microsoft'ta çalışıyor ve ondan önce Amazon ve Yandex'de dağıtılmış sistemlerle uğraşıyordu.

Bu raporda, koşullu güncellemeyi (karşılaştır ve ayarla) destekleyen herhangi bir veri deposunun üzerinde istemci tarafında uygulanabilen, son birkaç yıldır icat edilen dağıtılmış işlem protokollerini tanıyacağız. Sonuç olarak, hayat iki aşamalı bir taahhütle bitmez, işlemler herhangi bir veri tabanının üzerine uygulama düzeyinde eklenebilir, ancak farklı protokollerin (2PC, Percolator, RAMP) farklı ödünleşimleri vardır ve bize verilmez. bedava

Aleksey Zinovyev - Tüm makine öğrenimi algoritmaları dağıtılmış bir cennette son bulmaz

19 hidra başı. Programa harika bir genel bakış Alexey (zaleslaw) uzun süredir konuşmacımız ve diğer konferanslardaki program komitelerinin üyesidir. EPAM Systems'da uygulamalı bir eğitmen ve 2012'den beri Hadoop / Spark ve diğer bigdata ile arkadaş.

Bu konuşmada Alexey, Apache Spark ML, Apache Mahout, Apache Flink ML ve Apache Ignite ML oluşturma deneyimine dayanarak klasik makine öğrenimi algoritmalarını dağıtılmış yürütmeye uyarlamanın sorunlarından bahsedecek. Alexey ayrıca bu çerçevelerde dağıtılmış makine öğrenimi algoritmalarının uygulanmasından da bahsedecek.

Ve sonuç olarak, Yandex'den Yandex Veritabanı hakkında iki rapor.

Vladislav Kuznetsov — Yandex Veritabanı - hata toleransını nasıl sağlıyoruz

19 hidra başı. Programa harika bir genel bakış Vladislav, Yandex'de dağıtılmış platform grubunda bir geliştiricidir. Yandex Veritabanı, tutarlılıktan ödün vermeden disklerin, sunucuların, rafların ve veri merkezlerinin arızalarına dayanabilen, yatay olarak ölçeklenebilir, coğrafi olarak dağıtılmış, hataya dayanıklı bir DBMS'dir. Hata toleransını sağlamak için, raporda ayrıntılı olarak tartışılan bir dizi teknik çözümün yanı sıra tescilli bir dağıtılmış mutabakat algoritması kullanılır. Rapor, hem DBMS geliştiricilerinin hem de DBMS'ye dayalı uygulamalı çözümlerin geliştiricilerinin ilgisini çekebilir.

Semyon Checherinda - YDB'de dağıtık işlemler

19 hidra başı. Programa harika bir genel bakış Semyon, YDB kurulumunun çok kiracılı kullanım olasılığı üzerinde çalışan Yandex'deki dağıtık platform grubunda bir geliştiricidir.

Yandex Veritabanı, OLTP sorguları için tasarlanmıştır ve bir işlem sistemi için ACID gereksinimlerini karşılar. Raporda, YDB işlem sisteminin altında yatan işlem planlama algoritmasını ele alacağız. İşlemlere hangi varlıkların katıldığını, işlemlere kimlerin küresel bir düzen atadığını, işlem atomitesinin, güvenilirliğin ve katı izolasyon seviyesinin nasıl elde edildiğini analiz edelim. Ortak bir görev örneğini kullanarak, iki aşamalı bir taahhüt ve deterministik işlemler kullanan işlemlerin uygulanmasını ele alalım. Farklılıklarını tartışalım.

Sırada ne var?

Konferans programı yeni raporlarla dolmaya devam ediyor. Özellikle bir rapor bekliyoruz. Nikita Koval (Nkoval) JetBrains'ten ve Oleg Anastasiev (akıl) Odnoklassniki'den. Nikita, Kotlin ekibinde eşyordamlar için algoritmalar üzerinde çalışıyor ve Oleg, Odnoklassniki platformunda yüksek yüklü sistemler için mimari ve çözümler geliştiriyor. Ayrıca, şu anda program komitesinin üzerinde çalıştığı adaylarla birlikte şartlı olarak boş olan 1 kontenjan daha vardır.

Hydra konferansı 11-12 Temmuz tarihlerinde St. Petersburg'da yapılacak. Biletler olabilir resmi web sitesinden satın al. Çevrimiçi biletlerin mevcudiyetine dikkat edin - herhangi bir nedenle bu günlerde St. Petersburg'a canlı olarak gidemezseniz.

Hydra'da görüşmek üzere!

Kaynak: habr.com

Yorum ekle