19 гидра баш. Программанын улуу обзору

11-12-июлда Санкт-Петербургда конференция өтөт Hydra, параллелдүү жана бөлүштүрүлгөн системаларды өнүктүрүүгө арналган. Гидранын куулугу – бул илим менен практиканын кесилишинде салкын окумуштууларды (аларды көбүнчө чет элдик илимий конференцияларда гана табууга болот) жана атактуу практик инженерлерди бир чоң программага бириктирет.

Hydra акыркы бир нече жыл ичинде биздин маанилүү жыйындардын бири болуп саналат. Анын алдында абдан олуттуу даярдыктар, докладчыларды жана докладдарды тандоо. Бул тууралуу өткөн аптада хабро интервьюсу чыкты JUG.ru Groupтун директору Алексей Федоров менен (23дерево).

биз уже айтылган үч маанилүү катышуучулар жөнүндө, бөлүштүрүлгөн системалар теориясынын негиздөөчүлөрү - Лесли Лэмпорт, Морис Херлихи жана Майкл Скотт. Бүткүл программа боюнча кененирээк сүйлөшүүгө убакыт жетти!

19 гидра баш. Программанын улуу обзору

жөнүн көрсөтүү

Эгерде сиз программалоо менен алектенсеңиз, анда тигил же бул жол менен сиз көп агымдуу жана бөлүштүрүлгөн эсептөө менен алектенесиз. Тиешелүү тармактардын адистери алар менен түз иштешет, бирок кыйыр түрдө бөлүштүрүү бизди бардык жерден карап турат: ар кандай көп ядролуу компьютерде же бөлүштүрүлгөн сервисте параллелдүү эсептөөлөрдү жүргүзгөн нерсе бар.

Колдонмо программалоонун ар кандай аспектилерин камтыган көптөгөн конференциялар бар. Спектрдин башка тарабында бизде лекция форматында комплекстүү теориянын кеңири көлөмүн ачып берген атайын илимий мектептер бар. Мисалы, Санкт-Петербургда Hydra менен параллелдүү бар SPTDC мектеби. Гидра конференциясында биз катаал практиканы, илимди жана алардын кесилишинде бардыгын чогултууга аракет кылдык.

Бул жөнүндө ойлонуп көр: биз изилдеп жаткан илим жана инженерия тармагынын негиздөөчүлөрү менен көзмө-көз тааныша ала турган укмуштуу мезгилде жашап жатабыз. Физиктер Ньютонго да, Эйнштейнге да жолукпайт - поезд кетти. Бирок биздин жаныбызда дагы эле бөлүштүрүлгөн системалар теориясынын негиздерин түзгөндөр, популярдуу программалоо тилдерин ойлоп табышкандар жана мунун баарын биринчи жолу жумушчу прототиптерде чагылдыргандар жашайт. Бул адамдар жумушун жарым жолдо ташташкан жок, алар азыр дүйнөгө таанымал университеттерде жана компанияларда актуалдуу маселелердин үстүндө иштеп жатышат жана бүгүнкү күндө билимдин жана тажрыйбанын эң чоң булагы болуп саналат.

Башка жагынан алганда, алар менен жолугушуу мүмкүнчүлүгү, адатта, таза теориялык бойдон калууда: биздин бир нече Рочестер университетиндеги коомдук иш-чараларды дайыма көзөмөлдөй алабыз, анан АКШга шашып, Майкл Скотт менен лекция окуй алабыз. Гидранын бардык мүчөлөрүнө зыярат кылуу, текке кеткен убакытты эсепке албаганда, анча чоң эмес байлыкты талап кылат (бирок бул кызыктуу тапшырма сыяктуу).

Башка жагынан алганда, бизде азыр бөлүштүрүлгөн системалардагы актуалдуу көйгөйлөрдүн үстүндө иштеп жаткан көптөгөн мыкты инженерлер бар жана алар сөзсүз айта турган көп нерсеге ээ. Бирок бул жерде көйгөй бар - алар работают, жана алардын убактысы баалуу. Ооба, эгер сиз Microsoft, Google же JetBrains компаниясынын кызматкери болсоңуз, белгилүү спикерлердин бири менен ички иш-чарада жолугушуу ыктымалдыгы кескин жогорулайт, бирок жалпысынан, жок, бул күн сайын боло бербейт.

Ошентип, Гидра конференциясы биздин көпчүлүгүбүз өз алдынча жасай албаган маанилүү милдетти аткарат - бир жерде жана бир убакта ал идеялары же өз ара аракети жашооңузду өзгөртө турган адамдарды чогултат. Мен баарына эле бөлүштүрүлгөн системалар же кандайдыр бир татаал фундаменталдуу нерселер керек эмес экенин моюнга аламын. Сиз өмүрүңүздүн аягына чейин PHPде CRUD программасын программалап, толугу менен бактылуу боло аласыз. Бирок кимге керек болсо, бул сенин мүмкүнчүлүгүң.

Хабре боюнча Гидра конференциясынын биринчи жарыясынан бери бир топ убакыт өттү. Бул убакыттын ичинде көп иштер аткарылды – азыр бизде дээрлик бардык отчеттордун тизмеси бар. Эч кандай жайбаракат алгоритмдер жок, жөн гана таза бөлүштүрүлгөн хардкор! Келгиле, жалпы сөздөр менен бүтүрүп, азыр колубузда эмне бар экенин карап көрөлү.

Негизги сөздөр

Негизги баяндамалар конференциянын күндөрү башталат жана аяктайт. Көбүнчө ачкыч баяндаманын максаты конференциянын жалпы маанайын жана багытын аныктоо болуп саналат. Жыйынтыктоочу баяндама сызык сызып, конференциянын жүрүшүндө алынган билим жана көндүмдөр менен кантип жашай аларыбызды түшүндүрөт. Башталышы жана аягы: эң жакшы эсте калган нерсе, жалпысынан алганда, мааниси жогорулады.

Cliff Click H2O бөлүштүрүлгөн K/V алгоритми

19 гидра баш. Программанын улуу обзору Cliff Java дүйнөсүндөгү легенда болуп саналат. 90-жылдардын аягында ал кандидаттык диссертациясын жазган "Талдоолорду бириктирүү, оптималдаштырууну бириктирүү", бир нече убакыт өткөндөн кийин HotSpot JVM Server Compiler үчүн негиз болуп калды. Эки жылдан кийин, ал буга чейин JVM боюнча Sun Microsystems иштеп жаткан жана JIT бар болууга укугу бар экенин бүт дүйнөгө көрсөттү. Java кандайча эң акылдуу жана эң тез оптималдаштырылган эң тез заманбап иштөө убакыттарынын бири экендиги жөнүндө бул окуянын баары Cliff Clickден келген. Башында, эгер бир нерсе статикалык компилятор үчүн жеткиликтүү болсо, анда сиз аны жыттоого аракет кылуунун да кереги жок деп ишенишкен. Клиффтин жана команданын ишинин аркасында бардык жаңы тилдер демейки боюнча JIT компиляциясынын идеясы менен түзүлө баштады. Албетте, бул бир адамдын иши эмес, бирок Клифф анда абдан маанилүү роль ойногон.

Ачылыш сөзүндө Клифф өзүнүн башка аракети жөнүндө айтып берет - H20, өнөр жай колдонмолору үчүн бөлүштүрүлгөн жана масштабдалуучу машина үйрөнүү үчүн эс тутумдагы платформа. Же тагыраак айтканда, анын ичиндеги ачкыч-нарк жуптарынын бөлүштүрүлгөн сакталышы жөнүндө. Бул көптөгөн кызыктуу касиеттери бар абдан тез сактагыч (так тизмеси сүрөттөмө), чоң маалыматтардын агымынын математикасында окшош чечимдерди колдонууга мүмкүндүк берет.

Клифф бере турган дагы бир отчет - Azul аппараттык транзакциялык эстутум тажрыйбасы. Анын өмүр баянынын дагы бир бөлүгү - он жыл Azulда иштөө, анда ал Azul аппараттык жана технологиялык стекинде көп нерселерди жаңыртып, жакшыртты: JIT компиляторлору, иштөө убактысы, жип модели, каталарды иштетүү, стек менен иштөө, аппараттык үзгүлтүктөр, класс жүктөө жана башкалар - жакшы, сиз аласыз идея.

Эң кызыктуу бөлүгү алар чоң бизнес үчүн жабдыктарды - Java иштетүү үчүн суперкомпьютерди жасаганда башталды. Бул абдан инновациялык нерсе болду, атайын Java үчүн ылайыкташтырылган, анын өзгөчө талаптары бар - аз тыныгуу менен таштандыларды чогултуу үчүн эс тутумдун тоскоолдуктарын окуу, чектерди текшерүүчү массивдер, виртуалдык чалуулар... Эң сонун технологиялардын бири - аппараттык транзакциялык эс. 1 өзөктөрдүн каалаганынын L864 бүтүндөй транзакциялык жазууга катыша алат, бул өзгөчө Java'дагы кулпулар менен иштөө үчүн маанилүү (синхрондоштурулган блоктор эстутумда реалдуу конфликт болбосо, параллелдүү иштей алат). Бирок кооз идеяны катаал чындык талкалады - жана бул баяндамада Cliff сизге эмне үчүн HTM жана STM көп жиптүү эсептөөнүн практикалык муктаждыктарына анча ылайыктуу эместигин айтып берет.

Майкл Скотт - Кош маалымат структуралары

19 гидра баш. Программанын улуу обзору Майкл Скотт - Тагдыр аны менен байланыштырган Рочестер университетинин информатика факультетинин профессору уже 34 жашта, ал эми өзүнүн Висконсин-Мэдисон университетинде беш жыл декан болгон. Ал параллелдүү жана бөлүштүрүлгөн программалоо жана тил дизайнын изилдейт жана студенттерге үйрөтөт.

Окуу китебинин аркасында Майклды бүт дүйнө тааныйт "Программалоо тилинин прагматикасы", анын акыркы басылышы салыштырмалуу жакында жарык көргөн - 2015-жылы. Анын жумушу "Бөлүштүк эстутумдагы мультипроцессорлордо масштабдуу синхрондоштуруу үчүн алгоритмдер" Мен алган Dijkstra сыйлыгы бөлүштүрүлгөн эсептөө чөйрөсүндөгү эң белгилүүлөрдүн бири катары жана ачык калп айтуу Рочестер университетинин онлайн китепканасында. Сиз аны Майкл-Скотт алгоритминин автору катары да билесиз "Жөнөкөй, тез жана практикалык бөгөттөлбөгөн жана бөгөттөөчү бир катардагы кезек алгоритмдери".

Java дүйнөсүнө келсек, бул өзгөчө окуя: Даг Ли менен бирге ал Java китепканалары иштеген блоктолбогон алгоритмдерди жана синхрондук кезектерди иштеп чыккан. Дал ушул "Кош маалымат структуралары" негизги баяндамасы жөнүндө болот - Java SE 6да бул түзүмдөрдүн киргизилиши өндүрүмдүүлүктү 10 эсеге жакшыртты. java.util.concurrent.ThreadPoolExecutor. Эгер сиз бул "Кош маалымат структуралары" деген эмне экенин алдын ала ойлонуп жатсаңыз, анда бул тууралуу маалымат бар байланыштуу иш.

Морис Херлихи - Блокчейндер жана бөлүштүрүлгөн эсептөөлөрдүн келечеги

19 гидра баш. Программанын улуу обзору Морис Херлихи - эки Dijkstra сыйлыктарынын лауреаты. Биринчиси - иштөө үчүн "Күтүүсүз синхрондоштуруу" (Браун университети), экинчиси, акыркысы - "Транзакциялык эс тутум: кулпусуз маалымат структураларына архитектуралык колдоо" (Виржиния технологиялык университети). Dijkstra сыйлыгы мааниси жана таасири кеминде он жыл бою көрүнгөн иштерди тааныйт жана Морис бул тармактагы эң белгилүү эксперттердин бири экени анык. Учурда ал Браун университетинде профессор болуп иштейт жана жетишкендиктеринин бир параграфка созулган тизмеси бар.

Бул жыйынтыктоочу баяндамада Морис бөлүштүрүлгөн эсептөөлөрдүн классиктеринин көз карашынан блокчейн бөлүштүрүлгөн системалардын теориясы жана практикасы жана ага байланыштуу көптөгөн көйгөйлөрдү кантип жөнөкөйлөтөт. Бул конференциянын темасы боюнча гана баяндама - тоо-кен казып алуу жөнүндө такыр эле эмес, тескерисинче, биздин билимибизди ар кандай тапшырмаларга карата укмуштуудай эффективдүү жана туура колдонсо болору жөнүндө.

2017-жылдын июль айында Морис Орусияга SPTDC мектебине катышуу үчүн келген, JUG.ru жолугушуусуна катышкан жана жазууну YouTube'дан көрүүгө болот:

Негизги программа

Андан ары программага камтылган баяндамалардын кыскача баяндамасы болот. Кээ бир отчеттор бул жерде майда-чүйдөсүнө чейин баяндалган, башкалары кыскараак. Узун сүрөттөмөлөр негизинен англис тилиндеги баяндамаларга барып, илимий эмгектерге шилтемелерди, Википедиядагы терминдерди ж.б.у.с. Толук тизме жеткиликтүү конференциянын веб-сайтынан караңыз. Сайттагы тизме жаңыланып, толукталат.

Лесли Лэмпорт - Суроо-жооп

19 гидра баш. Программанын улуу обзору Лесли Лэмпорт бөлүштүрүлгөн эсептөө боюнча негизги эмгектердин автору. "LaTeX" "Lamport TeX" дегенди билдирет. Ал биринчи жолу 1979-жылы концепцияны киргизген ырааттуу ырааттуулук, жана анын макаласы "Көп процесстик программаларды туура аткарган мультипроцессордук компьютерди кантип жасоо керек" Дийкстра сыйлыгын алган.

Бул программанын форматы боюнча эң адаттан тыш бөлүгү, анткени ал жада калса отчет эмес, суроо-жооп сессиясы. Аудиториянын олуттуу бөлүгү «Лампорттун теориясына» негизделген ар кандай чыгармалар, өзүнүн макалалары жана баяндамалары менен мурунтан эле тааныш (же тааныш болушу мүмкүн) болгондо, бардык бош убакытты түз баарлашууга сарптоо маанилүү.

Идея жөнөкөй - YouTube'дан эки репортажды көрөсүз: "Программалоо коддоодон көбүрөөк болушу керек" и "Эгер сиз программа жазбасаңыз, программалоо тилин колдонбоңуз" жана жок дегенде бир суроо даярдап, Лесли жооп берет.

Бул эки видеонун биринчиси бизде бар хабро макаласына айланган. Видеону көрүүгө бир саат убакытыңыз жок болсо, анын баарын текст түрүндө тез окуй аласыз.

Эскертүү: YouTube'да Лесли Лэмпорттун дагы көптөгөн видеолору бар. Мисалы, мыкты бар TLA+ курсу. Бул курстун оффлайн версиясы төмөнкү даректе жеткиликтүү автордун башкы бети, жана ал мобилдик түзмөктөрдө көрүү үчүн аны YouTube'га жүктөдү.

Мартин Клепманн - Бөлүштүрүлгөн кызматташуу үчүн маалыматтарды колдонуучу түзмөктөрүндө шайкештештирүү

19 гидра баш. Программанын улуу обзору Мартин Клеппман - Кембридж университетинин изилдөөчүсү, CRDT жана алгоритмдердин формалдуу текшерүүсү боюнча иштейт. Мартин китеби "Маалыматтарды көп талап кылган колдонмолорду долбоорлоо", 2017-жылы басылып чыккан, абдан ийгиликтүү болуп, маалыматтарды сактоо жана кайра иштетүү жаатындагы бестселлер тизмесине кирди. Кевин Скотт, Microsoft компаниясынын директору, бир жолу айтты: «Бул китеп программалык камсыздоо инженерлери үчүн сөзсүз болушу керек. Бул инфраструктураны жана маалымат системаларын долбоорлоодо жана ишке ашырууда иштеп чыгуучуларга акылдуураак жардам берүү үчүн теория менен практиканы айкалыштырган сейрек ресурс. Кафканын жаратуучусу жана Confluent компаниясынын башкы директору Жей Крепс дагы ушуга окшош нерсени айтты.

Академиялык изилдөөгө өткөнгө чейин Мартин өнөр жайда иштеген жана эки ийгиликтүү стартапты негиздеген:

  • LinkedIn 2012-жылы сатып алган электрондук почтаңыздагы байланыштардын социалдык профилин көрсөтүүгө арналган.
  • Go Test It, RedGate 2009-жылы сатып алган ар кандай браузерлерде веб-сайттарды автоматтык түрдө текшерүү кызматы.

Жалпысынан алганда, Мартин, биздин негизги баяндамачыларга караганда анча белгилүү болсо да, бөлүштүрүлгөн эсептөөлөрдү өнүктүрүүгө жана өнөр жайга кандайдыр бир салым кошо алган.

Бул баяндамада Мартин өзүнүн академиялык изилдөөсүнө жакыныраак тема жөнүндө сөз кылат. Google Docs жана ушуга окшош документти биргелешип түзөтүүчү дивандарда "биргелешип түзөтүү" репликация тапшырмасын билдирет: ар бир колдонуучу бөлүшүлгөн документтин өзүнүн репликасына ээ, андан кийин алар өзгөртөт жана бардык өзгөртүүлөр тармак аркылуу калган бөлүгүнө жөнөтүлөт. катышуучулары. Документтерди оффлайн режиминде өзгөртүү документтин башка катышуучуларга карата убактылуу дал келбестигин алып келет жана кайра синхрондоштуруу чыр-чатакты жөнгө салууну талап кылат. Алар дал ушул үчүн бар Конфликтсиз репликацияланган берилиштердин түрлөрү (CRDT), чындыгында, жаңы нерсе, анын маңызы 2011-жылы гана түзүлгөн. Бул баяндама CRDT дүйнөсүндө андан бери эмне болгонун, эң акыркы жетишкендиктерди, жалпысынан жергиликтүү биринчи тиркемелерди түзүүгө болгон мамилени жана ачык булак китепканасын колдонууну талкуулайт. Автоматташтыруу өзгөчө.

Кийинки жумада биз Мартин менен Habré боюнча узун интервью жарыялайбыз, бул кызыктуу болот.

Педро Рамалхете - Күтүүсүз маалымат структуралары жана күтүлбөгөн транзакциялар

19 гидра баш. Программанын улуу обзору Педро Cisco компаниясында иштейт жана акыркы он жылдан бери параллелдүү алгоритмдерди, анын ичинде синхрондоштуруу механизмдерин, кулпусуз жана күтүүсүз маалымат структураларын жана бул темада сиз элестете турган нерселердин бардыгын иштеп чыгууда. Анын учурдагы изилдөөлөрү жана инженердик кызыкчылыктары универсалдуу конструкцияларга, программалык камсыздоонун транзакциялык эстутумуна, туруктуу эс тутумуна жана туура, масштабдуу жана каталарга чыдамдуу тиркемелерди иштеткен ушул сыяктуу технологияларга багытталган. Ал ошондой эле тар чөйрөдө кеңири белгилүү блогдун автору Concurrency Freaks.

Көп агымдуу тиркемелердин көбү азыр параллелдүү маалымат түзүмдөрүндө иштейт, актёрлордун ортосундагы билдирүү кезектерин колдонуудан баштап, негизги баалуулуктар дүкөндөрүндөгү индекстелген маалымат структураларына чейин. Алар Java JDKда көп жылдар бою ийгиликтүү иштеп келе жатышат жана алар C++ га акырындык менен кошулууда.

Параллелдүү берилиштер структурасын ишке ашыруунун эң жөнөкөй жолу бул ырааттуу (бир жиптүү) ишке ашыруу, мында методдор мутекстер менен корголгон. Бул каалаган июнда жеткиликтүү, бирок масштабда жана аткарууда ачык көйгөйлөр бар. Ошол эле учурда, кулпусу жок жана күтүүсүз маалымат структуралары каталарды жакшыраак жеңип гана тим болбостон, жакшыраак иштөө профилине ээ - бирок аларды иштеп чыгуу терең тажрыйбаны жана белгилүү бир тиркемеге көнүүнү талап кылат. Коддун бир туура эмес сабы баарын бузуу үчүн жетиштүү.

Мындай маалымат структураларын эксперт эмес адам да иштеп чыгып, ишке ашыра алгыдай кылып кантип жасай алабыз? Белгилүү болгондой, ар кандай ырааттуу алгоритмди колдонуу менен жип коопсуз кылса болот универсалдуу дизайн, же транзакциялык эстутум. Биринчиден, алар бул көйгөйдү чечүүгө кирүүдөгү тоскоолдукту төмөндөтө алышат. Бирок, эки чечимдер, адатта, натыйжасыз ишке ашырууга алып келет. Педро алар бул конструкцияларды кантип натыйжалуураак кылганы жана аларды алгоритмдериңиз үчүн кантип колдонсоңуз болору жөнүндө айтып берет.

Хайди Ховард - Бөлүштүрүлгөн консенсусту бошотуу

19 гидра баш. Программанын улуу обзору Хайди Ховард Мартин сыяктуу Кембридж университетинин бөлүштүрүлгөн системалар боюнча изилдөөчүсү. Анын адистиктери ырааттуулук, каталарга сабырдуулук, аткаруу жана бөлүштүрүлгөн консенсус. Ал Паксос алгоритмин жалпылоосу менен белгилүү Ийкемдүү Paxos.

Эскерте кетсек, бул Paxos Лесли Лампорттун эмгегине негизделген ишенимсиз компьютерлер тармагындагы консенсус маселесин чечүү үчүн протоколдордун үй-бүлөсү. Ошентип, биздин кээ бир ораторлорубуз башында биздин башка ораторлор сунуш кылган проблемалардын үстүндө иштеп жатышат — бул эң сонун.

Чечүү, лидерди шайлоо, бөгөт коюу же координациялоо үчүн бир нече хосттордун ортосунда консенсус табуу жөндөмү заманбап бөлүштүрүлгөн системалардын негизги маселеси болуп саналат. Paxos азыр консенсус маселелерин чечүүнүн негизги жолу болуп саналат жана анын тегерегинде ар кандай практикалык муктаждыктар үчүн алгоритмди кеңейтүү жана оптималдаштыруу боюнча көптөгөн изилдөөлөр жүрүп жатат.

Бул баяндамада биз Paxosтун теориялык негизин кайра карап чыгабыз, баштапкы талаптарды жумшартабыз жана алгоритмди жалпылайбыз. Биз Paxos консенсустук ыкмалардын чоң диапазонунун ичинен бир гана вариант экенин жана спектрдеги башка пункттар да жакшы бөлүштүрүлгөн системаларды куруу үчүн абдан пайдалуу экенин көрөбүз.

Алекс Петров — Убактылуу репликация жана арзан кворумдар менен сактоо чыгымдарыңызды азайтыңыз

19 гидра баш. Программанын улуу обзору Алекс - маалымат базасы жана сактоо тутумдары боюнча адис, жана биз үчүн андан да маанилүүсү, бул жерде жооптуу Кассандра. Учурда ал О'Рейли менен бирге "Database Internals" китебинин үстүндө иштеп жатат.

менен системалар үчүн акыркы ырааттуулук (орусча терминологияда – “соңку ырааттуулук”), түйүн бузулуп же тармак бөлүнгөндөн кийин, сиз төмөнкү дилемманы чечишиңиз керек: же ырааттуулукту жоготуп, өтүнүчтөрдү аткарууну улантуу, же аларды аткаруудан баш тартып, жеткиликтүүлүктү курмандыкка чалуу. Мындай системада кворумдар, түйүндөрдүн бири-бирин кайталаган ички топтомдору жана жок дегенде бир түйүн эң акыркы маанини камтыганын камсыз кылуу жакшы четки чечим болушу мүмкүн. Сиз эң акыркы маанилер менен жооп берип жатып, кээ бир түйүндөр менен каталарды жана байланышты жоготуудан аман чыга аласыз.

Бирок, ар бир нерсенин өз баасы болот. Кворумду репликациялоо схемасы сактоо чыгымдарынын көбөйүшүн билдирет: көйгөй пайда болгондо жетиштүү көчүрмөлөр болушун камсыздоо үчүн ашыкча маалыматтар бир эле учурда бир нече түйүндөрдө сакталышы керек. Көрсө, бардык репликаларда бардык маалыматтарды сактоонун кереги жок экен. Эгер сиз маалыматтарды түйүндөрдүн бир бөлүгүндө гана сактасаңыз жана каталарды иштетүү сценарийлери үчүн атайын түйүндөрдү (Transient Replica) колдонсоңуз, сактагычтагы жүктү азайта аласыз.

Докладдын жүрүшүндө биз карап чыгабыз Күбөлөрдүн көчүрмөлөрү, колдонулган репликация схемасы Гайка ачкычы и мега дүкөн, жана Apache Кассандра бул концепцияны ишке ашыруу чакырды Убактылуу репликация жана арзан кворумдар.

Дмитрий Вюков - Горутиндер ачыкка чыкты

19 гидра баш. Программанын улуу обзору Дмитрий - Google'дун иштеп чыгуучусу, C/C++ жана Go - Address/Memory/ThreadSanitizer үчүн динамикалык тестирлөө жана Linux ядросу үчүн ушул сыяктуу инструменттер. Go программасына масштабдуу горутин пландоочусу, тармактык сурамжылоочу жана параллелдүү таштанды жыйноочу кошулду. Ал көп агымдын адиси, ондогон жаңы блоктолбогон алгоритмдердин автору жана Кара кур Intel.

Эми отчеттун өзү жөнүндө бир аз. Go тили goroutines (жеңил жиптер) жана каналдар (FIFO кезектери) түрүндө көп агымдын түпнуска колдоосуна ээ. Бул механизмдер колдонуучулар үчүн заманбап көп жиптүү тиркемелерди жазууну абдан жеңил жана жагымдуу кылат жана бул сыйкырдуу окшойт. Биз түшүнгөндөй, бул жерде эч кандай сыйкыр жок. Бул баяндамада Дмитрий Go пландоочунун татаалдыктарына тереңдеп кирип, бул "сыйкырды" ишке ашыруунун сырларын көрсөтөт. Биринчиден, ал пландоочунун негизги компоненттери жөнүндө жалпы маалымат берет жана анын кантип иштээрин айтып берет. Андан кийин, биз жеке аспектилерди, мисалы, унаа токтотуучу жайларды токтотуу / токтотуу стратегиясы жана бөгөттөө тутумунун чалууларын башкаруу сыяктуу кылдаттык менен карап чыгабыз. Акыр-аягы, Дмитрий пландоочуга мүмкүн болгон жакшыртуулар жөнүндө бир аз айтып берет.

Дмитрий Бугаиченко - Ыктымал эскиздер жана башкалар менен бөлүштүрүлгөн график талдоосун тездетүү

19 гидра баш. Программанын улуу обзору Дмитрий университет жана илимий коомчулук менен байланышын үзбөстөн дээрлик 9 жыл аутсорсингде иштеген. Одноклассникидеги чоң маалыматтарды талдоо ал үчүн теориялык билимди жана илимий негизди реалдуу, суроо-талапка ээ болгон продукцияны иштеп чыгуу менен айкалыштыруу үчүн уникалдуу мүмкүнчүлүк болуп калды.

Бөлүштүрүлгөн графикти талдоо татаал маселе болуп келген жана болуп кала берет: кошуна чокулардын байланыштары жөнүндө маалымат алуу зарылчылыгы келип чыкканда, маалыматтарды көбүнчө машиналар ортосунда өткөрүп берүүгө туура келет, бул аткаруу убактысынын көбөйүшүнө жана тармактык инфраструктурага жүктөмдүн көбөйүшүнө алып келет. Бул баяндамада биз ыктымалдык маалымат структураларын же социалдык тармактагы достук графигинин симметриясы сыяктуу фактыларды колдонуу менен кантип олуттуу иштетүү ылдамдыгын ала аларыңызды көрөбүз. Мунун баары Apache Spark коддуу мисалдары менен сүрөттөлгөн.

Денис Рысцов - Убактылуу репликация жана арзан кворумдар менен сактоо чыгымдарыңызды азайтыңыз

19 гидра баш. Программанын улуу обзору Денис - иштеп чыгуучу Космос DB, ырааттуулук моделдерин, консенсус алгоритмдерин жана бөлүштүрүлгөн транзакцияларды текшерүү боюнча эксперт. Учурда ал Microsoft компаниясында иштейт, ага чейин Amazon жана Yandex компанияларында бөлүштүрүлгөн системаларда иштеген.

Бул баяндамада биз акыркы бир нече жыл ичинде ойлоп табылган бөлүштүрүлгөн транзакция протоколдорун карап чыгабыз, аларды шарттуу жаңыртууну колдогон (салыштыруу жана коюу) каалаган маалымат дүкөнүнүн үстүнө кардар тарабында ишке ашырууга болот. Жыйынтык: жашоо эки фазалуу милдеттенме менен бүтпөйт, транзакцияларды каалаган маалымат базасынын үстүнө кошууга болот - колдонмо деңгээлинде, бирок ар кандай протоколдор (2PC, Percolator, RAMP) ар кандай айырмачылыктарга ээ жана бизге берилбейт. акысыз.

Алексей Зиновьев - Бардык ML алгоритмдери аны бөлүштүрүлгөн асманга жеткире бербейт

19 гидра баш. Программанын улуу обзору Алексей (Залеслав) башка конференцияларда узак убакыт баяндамачы жана программалык комитеттердин мучесу. EPAM Systems компаниясынын машыктыруучусу жана 2012-жылдан бери Hadoop/Spark жана башка чоң маалыматтар менен дос болуп келе жатат.

Бул баяндамада Алексей Apache Spark ML, Apache Mahout, Apache Flink ML менен иштөө тажрыйбасынын жана Apache Ignite ML түзүү тажрыйбасынын негизинде бөлүштүрүлгөн режимде аткаруу үчүн классикалык машина үйрөнүү алгоритмдерин адаптациялоо көйгөйлөрү жөнүндө айтып берет. Алексей ошондой эле бул алкактарда бөлүштүрүлгөн ML алгоритмдерин ишке ашыруу жөнүндө айтып берет.

Акыр-аягы, Яндекс маалымат базасы жөнүндө Яндекстен эки отчет.

Владислав Кузнецов - Яндекс маалымат базасы - биз каталарга сабырдуулукту кантип камсыз кылабыз

19 гидра баш. Программанын улуу обзору Владислав - бөлүштүрүлгөн платформа тобунда Яндекстин иштеп чыгуучусу. Яндекс маалымат базасы – бул горизонталдык масштабда, гео-бөлүштүрүлгөн, каталарга чыдамдуу МББ, ал ырааттуулугун жоготпостон, дисктердин, серверлердин, стеллаждардын жана маалымат борборлорунун иштен чыгышына туруштук бере алат. Күнөөлөргө сабырдуулукту камсыз кылуу үчүн бөлүштүрүлгөн консенсуска жетүү үчүн менчик алгоритми, ошондой эле отчетто кеңири талкууланган бир катар техникалык чечимдер колдонулат. Отчет DBMS иштеп чыгуучулары үчүн да, ДББнын негизиндеги колдонмо чечимдерин иштеп чыгуучулар үчүн да кызыктуу болушу мүмкүн.

Семен Чечеринда - YDBде бөлүштүрүлгөн транзакциялар

19 гидра баш. Программанын улуу обзору Семен Яндекстин бөлүштүрүлгөн платформа тобунун иштеп чыгуучусу, YDB орнотуусун көп ижарачы колдонуу мүмкүнчүлүгүнүн үстүндө иштеп жатат.

Яндекс маалымат базасы OLTP сурамдары үчүн иштелип чыккан жана транзакциялык система үчүн ACID талаптарына жооп берет. Бул отчетто биз YDB транзакция системасынын негизин түзгөн транзакцияларды пландаштыруу алгоритмин карап чыгабыз. Келгиле, транзакцияларга кайсы субъекттер катышаарын, транзакцияларга глобалдык тартипти ким ыйгарарын, транзакциянын атомдуулугуна, ишенимдүүлүгүнө жана изоляциянын катуу деңгээлине кантип жетишерин карап көрөлү. Мисал катары жалпы көйгөйдү колдонуп, эки фазалуу милдеттенмелерди жана детерминисттик транзакцияларды колдонуу менен транзакцияларды ишке ашырууну карап көрөлү. Келгиле, алардын айырмачылыктарын талкуулайлы.

Кийинкиси эмне?

Конференциянын программасы жаңы докладдар менен толукталышын улантууда. Тактап айтканда, бизден отчет күтөбүз Никита Коваль (ndkoval) JetBrains жана Олег Анастасьев (m0nstermind) Одноклассники компаниясынан. Никита Котлин командасында корутиндердин алгоритмдери боюнча иштейт, ал эми Олег Одноклассники платформасында жогорку жүктөмдүү системалар үчүн архитектураны жана чечимдерди иштеп чыгат. Кошумчалай кетсек, дагы 1 шарттуу түрдө бош орун бар, азыр программалык комитет ага талапкерлер менен иштеп жатат.

Гидра конференциясы 11-12-июлда Санкт-Петербургда өтөт. Билеттер бар расмий сайтында сатып алуу. Сураныч, онлайн билеттердин болушуна көңүл буруңуз - эгер кандайдыр бир себептерден улам ушул күндөрү Санкт-Петербургга жете албасаңыз.

Hydraда көрүшкөнчө!

Source: www.habr.com

Комментарий кошуу