„Искането е просрочено“: Алексей Федоров за нова конференция за разпределени системи

„Искането е просрочено“: Алексей Федоров за нова конференция за разпределени системи

Наскоро имаше обяви две събития едновременно за разработването на многонишкови и разпределени системи: конференция хидра (11-12 юли) и училище SPTDC (8-12 юли). Хората, които са близо до тази тема, разбират, че идват в Русия Лесли Лампорт, Морис Херлихи и Майкъл Скот - най-важното събитие. Но възникнаха други въпроси:

  • Какво да очакваме от конференцията: „академична“ или „производствена“?
  • Как са свързани училището и конференцията? Към кого е насочено това и онова?
  • Защо се припокриват по дати?
  • Ще бъдат ли полезни на тези, които не са посветили целия си живот на разпределените системи?

Всичко това е добре известно на човека, който съживи Hydra: нашия директор Алексей Федоров (23дерево). Той отговори на всички въпроси.

Формат

— Уводен въпрос за тези, които са далеч от разпределените системи: за какво става дума и в двете събития?

— Глобалното предизвикателство е, че около нас има услуги с голям обем операции и сложни изчислителни задачи, които не могат да бъдат изпълнени на един компютър. Това означава, че трябва да има няколко коли. И тогава възникват въпроси, свързани с това как правилно да синхронизират работата си и какво да правят в условия на не най-висока надеждност (тъй като оборудването се повреди и мрежата пада).

Колкото повече машини има, толкова повече точки на повреда има. Какво да направите, ако различните машини дават различни резултати за едни и същи изчисления? Какво да направите, ако мрежата изчезне за известно време и част от изчисленията се изолират, как можете след това да комбинирате всичко? Като цяло има милион проблеми, свързани с това. Нови решения - нови проблеми.

В тази област има изцяло приложни направления, има и по-научни – нещо, което все още не е станало масово. Бих искал да говоря за това, което се случва както на практика, така и в науката, и най-важното, на тяхното кръстовище. Това ще бъде темата на първата конференция на Hydra.

— Бих искал да разбера факта, че има конференция и има лятно училище. Как се отнасят? Ако се прави отстъпка за участниците в училище за участие в конференцията, тогава защо те се припокриват в датите, така че да е невъзможно да присъствате на всичко наведнъж без загуба?

— Училището е камерно събитие за 100–150 души, където водещи експерти от цял ​​свят идват и изнасят лекции в продължение на пет дни. И възниква ситуация, когато светила от световна величина се събират в Санкт Петербург за пет дни, готови да разкажат нещо. И в този случай възниква решението да се организира не само камерна школа, но и по-мащабна конференция.

Възможно е да се проведе такова училище само през лятото, през юли, защото сред тези специалисти има настоящи университетски преподаватели и те просто не са готови в друго време: имат студенти, дипломи, лекции и т.н. Училищният формат е пет делничен. Известно е, че през уикендите през лятото хората обичат да ходят някъде. Това означава, че не можем да проведем конференция нито през уикенда преди училище, нито през уикенда след училище.

И ако го удължите още няколко дни преди или след уикенда, тогава магически петте дни престой на специалистите в Санкт Петербург се превръщат в девет. И те не са готови за това.

Затова единственото решение, което намерихме, беше просто да проведем конференцията паралелно с училището. Да, това създава някои проблеми. Има хора, които искат да отидат на училище и на конференция, и ще трябва да пропуснат някои лекции тук или там. Добрата новина е, че всичко това ще се случва в съседни зали, можете да тичате напред-назад. И още едно хубаво нещо е наличието на видеозаписи, в които по-късно можете спокойно да гледате какво сте пропуснали.

— Когато две събития протичат паралелно, хората си задават въпроса „кое ми трябва повече?“ Какво точно трябва да очаквате от всеки и какви са разликите?

— Училището е чисто академично събитие, класическа научна школа за няколко дни. Всеки, който се е занимавал с наука и е имал нещо общо с висшето училище, има представа какво е академично училище.

„Искането е просрочено“: Алексей Федоров за нова конференция за разпределени системи

Обикновено такива академични събития не са много добре организирани поради липсата на експертен опит сред хората, които ги правят. Но ние все още сме доста опитни момчета, така че можем да направим всичко доста компетентно. Мисля, че от организационна гледна точка SPTDC ще бъде главата и раменете над всяко академично или базирано на научни изследвания училище, което някога сте виждали.

SPTDC училище - това е формат, при който всяка голяма лекция се чете в две двойки: „час и половина - почивка - час и половина.“ Трябва да разберете, че може да не е лесно за участник за първи път: когато това училище се проведе за първи път преди две години, аз самият бях необичаен, изключвах няколко пъти приблизително по средата на двойна лекция и тогава беше трудно да се разбере какво се случва. Но това много зависи от лектора: добрият лектор говори много интересно през всичките три часа.

Конференция на Хидра - по-практично събитие. Ще има няколко светила на науката, дошли да изнесат лекции в Школата: от Лесли Лампорт, чиято работа е в основата на самата теория на многонишковите и разпределени системи, до Морис Херлихи, един от авторите на известния учебник по паралелност „Изкуството на многопроцесорното програмиране“. Но на конференцията ще се опитаме да говорим за това как определени алгоритми се прилагат в реалността, какви проблеми срещат инженерите на практика, кой успява и кой се проваля, защо някои алгоритми се използват на практика, а други не. И разбира се, нека поговорим за бъдещето на развитието на многонишкови и разпределени системи. Тоест, ние ще дадем такова острие: за какво говори световната наука сега, около какво се въртят мислите на водещите инженери и как всичко това се съчетава.

— Тъй като конференцията е по-приложна, ще има ли не само академични светила, но и лектори от „производството“?

- Определено. Опитваме се да разгледаме всички „големи“: Google, Netflix, Yandex, Odnoklassniki, Facebook. Има специфични смешни проблеми. Например, всеки казва: „Netflix е разпределена система, почти половината от трафика в САЩ, много готино“ и когато започнете да разглеждате техните действителни доклади, статии и публикации, настъпва леко разочарование. Защото, въпреки че това със сигурност е от световна класа и има режещи ръбове, има по-малко от тях, отколкото изглежда на пръв поглед.

Възниква интересна дилема: можете да се обадите на представители на големи известни компании или да се обадите на някой, който вече ни е познат. В действителност експертизата съществува и тук, и там. И по-скоро се опитваме да изтеглим не „хора от много големи марки“, а много големи специалисти, конкретни хора.

Например, ще бъде Мартин Клепман, който навремето направи фурор в LinkedIn и също пусна добра книга — може би една от основните книги в областта на разпределените системи.

— Ако човек работи не в Netflix, а в по-проста компания, той може да се чуди: „Трябва ли да отида на такава конференция или има всякакви видове Netflix, които говорят помежду си, но аз нямам какво да правя?“

— Ще кажа следното: когато работих в Oracle малко повече от три години, чух най-невероятните и интересни неща в кухнята и в стаите за пушене, когато колеги се събираха там, правейки определени части от платформата Java. Това могат да бъдат хора от виртуалната машина, или от отдела за тестване, или от паралелността на изпълнението - например Лиоша Шипилев и Серьожа Куксенко.

Когато започнаха да обсъждат нещо помежду си, обикновено просто слушах с отворена уста. За мен това бяха невероятни и неочаквани неща, за които дори не бях мислил. Естествено, в началото не разбрах 90% от това, за което говорят. Тогава 80% станаха неразбираеми. И след като си написах домашното и прочетох няколко книги, този брой спадна до 70%. Все още не разбирам много от това, което говорят помежду си. Но докато седях в ъгъла с чаша кафе и подслушвах, започнах малко да разбирам какво се случва.

Следователно, когато Google, Netflix, LinkedIn, Odnoklassniki и Yandex говорят помежду си, това не означава, че това е нещо неразбираемо и безинтересно. Напротив, трябва да слушаме внимателно, защото това е нашето бъдеще.

Разбира се, има хора, които нямат нужда от всичко това. Ако не искате да се развивате в тази тема, не е нужно да ходите на тази конференция, просто ще загубите време там. Но ако темата е интересна, но не разбирате нищо от нея или просто я разглеждате, тогава трябва да дойдете, защото никъде няма да намерите нищо подобно. Освен това мисля, че не само в Русия, но и в света. Опитваме се да направим конференция, която да бъде не само водеща по тази тема в Русия, но като цяло номер едно в света.

Това не е най-лесната задача, но когато имаме такъв невероятен шанс да съберем силни оратори от цял ​​свят, съм готов да дам много, за да се случи. Разбира се, някои от тези, които поканихме на първата Хидра, няма да могат да дойдат. Но ще кажа следното: никога не сме започвали нова конференция с толкова мощен състав. С изключение може би на първия JPoint преди шест години.

— Бих искал да разширя думите „това е нашето бъдеще“: темата ще засегне ли по-късно онези, които днес не мислят за нея?

- Да, сигурен съм в това. Затова ми се струва много правилно да започнем да го обсъждаме възможно най-бързо. Например, теорията за многонишковостта се появи доста отдавна (през 70-те години работата вече беше публикувана с пълна сила), но дълго време те бяха много тесни специалисти, докато не се появи първият потребителски двуядрен компютър в началото на 10-те години. И сега всички имаме многоядрени сървъри, лаптопи и дори телефони и това е мейнстрийма. Бяха нужни около XNUMX години, за да се разпространи това, за да разберат, че това изказване не е достояние на тесен кръг от специалисти.

И сега виждаме приблизително същото нещо с разпределените системи. Тъй като основни решения като разпределение на натоварването, устойчивост на грешки и други подобни се правят от доста време, но много малко хора знаят какво е, например, разпределен консенсус или Paxos.

Една от най-важните цели, които си поставих за това събитие, е да потапям инженерите все повече и повече в тази дискусия. Трябва да разберете, че на конференциите не просто се обсъждат някои теми и решения, но възниква и тезаурус - единен концептуален апарат.

Виждам като своя задача да създам платформа, където всеки да може да обсъжда всичко това, да споделя опит и мнения. Така че вие ​​и аз имаме общо разбиране какво прави един алгоритъм, какво прави друг, кой е по-добър при какви условия, как са свързани един с друг и т.н.

Много интересно нещо е свързано със същата многопоточност. Когато нашите приятели от Oracle (предимно Леша Шипилев и Сергей Куксенко) започнаха активно да говорят за производителността и по-специално за многонишковостта, буквално две или три години по-късно тези въпроси започнаха да се задават на интервюта в компании, хората започнаха да го обсъждат в стаи за пушачи. Тоест нещо, което беше притежание на тесни специалисти, изведнъж стана мейнстрийм.

И това е много правилно. Струва ми се, че ние помогнахме на тези момчета да популяризират цялата тази тема, която е наистина важна, полезна и интересна. Ако по-рано никой не се замисляше как Java сървър обработва заявки паралелно, сега хората имат поне на някакво ниво разбиране за това как работи всичко. И това е чудесно.

Задачата, която виждам сега, е да направя приблизително същото с разпределените системи. За да разбере всеки приблизително какво е това, откъде идва, какви задачи и проблеми има, за да стане и това мейнстрийм.

Компаниите имат огромно търсене на хора, които разбират нещо от това, а такива хора са малко. Колкото повече създаваме около това съдържание и възможността да се учим от него, колкото повече даваме възможности на хората да задават въпроси, които витаят във въздуха, толкова по-вероятно е по някакъв начин да се движим в тази посока.

праистория

— Конференцията се провежда за първи път, но не и за училището. Как възникна и се разви всичко това?

- Това е интересна история. Преди две години, през май 2017 г., седяхме в Киев с Никита Ковал (ndkoval), експерт в областта на многопоточността. И той ми каза, че ще се проведе в Санкт Петербург „Лятно училище по практика и теория на паралелните изчисления“.

Темата за многопоточното програмиране беше фантастично интересна през последните три години от моята инженерна кариера. И тогава се оказа, че през лятото много, много известни хора идват в Санкт Петербург, същите Морис Херлихи и Нир Шавит, според учебник които съм учил. И много от моите приятели имаха нещо общо с това - например Рома Елизаров (елизаров). Разбрах, че просто не мога да пропусна такова събитие.

Когато стана ясно, че програмата на училището за 2017 г. ще бъде страхотна, се появи идеята лекциите задължително да се записват на видео. Ние от JUG.ru Group имахме пълно разбиране как трябва да се записват такива лекции. И ние се вписваме в SPTCC като момчетата, които направиха видеоклип за училището. В резултат на това всички лекции в училище лъжа в нашия YouTube канал.

Започнах да общувам с Пьотър Кузнецов, който беше главният идеолог и организатор на това училище, и с Виталий Аксенов, който помогна да се организира всичко това в Санкт Петербург. Разбрах, че това е фантастично готино и интересно и вероятно е много лошо, че само 100 участници могат да се докоснат до красотата.

Когато Петър си помисли, че трябва да започне отново училище (през 2018 г. нямаше сили и време, затова реши да го направи през 2019 г.), стана ясно, че можем да му помогнем, като просто премахнем всички организационни неща от него. Това се случва сега, Петър се занимава със съдържанието, а ние правим всичко останало. И това изглежда като правилната схема: Питър вероятно се интересува повече от програмата, отколкото от „къде и кога всеки ще обядва“. И ние сме добри в работата със зали, места и т.н.

Този път, вместо SPTCC, училището се нарича SPTDC, не „едновременно изчисление“, а „разпределено изчисление“. Съответно, това е приблизително разликата: последния път в училище не говориха за разпределени системи, но този път ще говорим активно за тях.

— Тъй като училището не се провежда за първи път, вече можем да си направим някои изводи от миналото. Какво се случи последния път?

— Когато преди две години беше създадено първото училище, се очакваше да има академично събитие, което да представлява интерес предимно за учениците. При това ученици от цял ​​свят, защото училището е само на английски и се смяташе, че ще дойдат значителен брой чуждестранни студенти.

Всъщност се оказа, че много инженери идват от големи руски компании като Yandex. Имаше Андрей Пангин (апангин) от Odnoklassniki, имаше момчета от JetBrains, които активно работят по тази тема. Като цяло там имаше много познати лица от нашите партньорски фирми. Изобщо не съм изненадан, разбирам напълно защо са дошли там.

Всъщност организаторите имаха очаквания, че в училището ще има академични хора, но изведнъж дойдоха хора от индустрията и тогава ми стана ясно, че има търсене в индустрията.

Ако събитие, което почти не е рекламирано никъде, с първото натискане на пръста е събрало публика от възрастни, това означава, че наистина има интерес. Струва ми се, че едно искане по тази тема е закъсняло.

„Искането е просрочено“: Алексей Федоров за нова конференция за разпределени системи
Морис Херлихи на срещата на JUG.ru

— Освен в училище, Морис Херлихи говори в Санкт Петербург на срещата на JUG.ru през 2017 г., като казах относно транзакционната памет и това е малко по-близо до формата на конференцията. Кой дойде тогава - същите хора, които обикновено идват на срещите на JUG.ru, или различна публика?

— Беше интересно, защото разбрахме, че Морис ще има общ доклад, а не специфичен за Java, и направихме малко по-обширно съобщение, отколкото обикновено правим за нашите абонати на новини в JUG.

Много хора, които познавам, идват от общности, които изобщо не се занимават с Java: от тълпата на .NET, от тълпата на JavaScript. Тъй като темата за транзакционната памет не е свързана с конкретна технология за разработка. Когато специалист от световна класа дойде да говори за транзакционната памет, пропускането на възможността да изслушате такъв човек и да му зададете въпроси е просто престъпление. Просто прави силно впечатление, когато човекът, по чиято книга учиш, дойде при теб и ти каже нещо. Просто фантастично.

— И каква беше обратната връзка в резултат? Беше ли подходът твърде академичен и неразбираем за хората в бранша?

— Отзивите за доклада на Херлихи бяха добри. Хората писаха, че той е казал много просто и ясно какво не се очаква от един академичен професор. Но трябва да разберем, че го поканихме с причина, той е световноизвестен специалист с богат опит в говоренето и опит от куп книги и статии. И вероятно той стана известен по много начини благодарение на способността си да предава материал на хората. Следователно това не е изненадващо.

Той говори нормален, разбираем английски и, разбира се, разбира много добре какво говори. Тоест можете да му задавате абсолютно всякакви въпроси. По принцип хората се оплакваха, че сме дали на Морис твърде малко време за доклада му: два часа не са достатъчни за такова нещо, трябват поне още два. Е, успяхме да направим каквото успяхме за два часа.

Мотивиране

— Обикновено JUG.ru Group се занимава с мащабни събития, но тази тема изглежда по-строго специализирана. Защо решихте да се заемете с него? Има ли желание да се направи по-малко събитие или може да се съберат много зрители на такава тема?

— Наистина, когато провеждате събитие и задавате определено ниво на дискусия, винаги възниква въпросът доколко е разпространена тази дискусия. Колко души - десет, сто или хиляда - се интересуват от това? Има компромис между маса и дълбочина. Това е съвсем нормален въпрос и всеки го решава по различен начин.

В този случай искам да направя събитието „за себе си“. Все още разбирам нещо за многопоточността (изнесох лекции по тази тема на конференции и казах нещо на студентите няколко пъти), но съм новак, когато става дума за разпределени системи: прочетох някои статии и видях няколко лекции, но не дори една пълноценна книга го прочете.

Имаме програмен комитет, съставен от експерти в областта, които могат да оценят точността на докладите. И от своя страна, аз се опитвам да направя това събитие такова, на което аз, поради моята липса на опит, бих искал да отида. Дали ще бъде възможно да се заинтересува масовата публика, не знам. Това вероятно не е най-важната задача на това събитие на този етап. Сега е по-важно да се създаде най-силната програма за кратко време.

Вероятно сега поставям на екипа задачата не „да събера хиляда души за първи път“, а „да направя конференцията да се появи“. Това може да не звучи много делово и някак наивно, въпреки че изобщо не съм алтруист. Но понякога мога да си позволя някои волности.

Има неща, които са по-важни от парите и отвъд тях. Вече правим голям брой готини мащабни събития за хиляда души или повече. Нашите Java конференции отдавна са надхвърлили хиляда души, а сега други събития прескачат тази летва. Тоест въпросът, че сме станали опитни и известни организатори, вече не си струва. И вероятно това, което печелим от тези събития, ни дава възможност да реинвестираме в това, което е интересно за нас, а в случая и за мен лично.

Правейки това събитие, аз съм против някои от принципите на нашата организация. Например, обикновено се опитваме да подготвим конференции много предварително, но сега имаме много кратки срокове и финализираме програмата само месец преди самото събитие.

И това събитие ще бъде 70-80% на английски език. И тук винаги възниква дискусия дали трябва да сме по-близо до хората (които разбират по-добре, когато повечето доклади са на руски) или до целия свят (защото техническият свят е англоезичен). Обикновено се опитваме да правим много репортажи на руски. Но не и в този момент.

Освен това ще помолим някои от нашите рускоговорящи да говорят на английски. Това в известен смисъл е абсолютно анти-потребителски и нехуманен подход. Но трябва да разберем, че в момента няма рускоезична литература по тази тема и всеки човек, който изобщо се интересува от това, е принуден да чете на английски. Това означава, че той по някакъв начин разбира английски. Ако в случая с JavaScript, Java или .NET има много хора, които не знаят много добре английски, но в същото време могат да програмират добре, тогава вероятно разпределените системи са област, в която просто няма друга начин да научите сега.

Наистина искам да проведа този експеримент: как 70–80% англоезично събитие ще бъде възприето от публиката в Русия. Ще влезе ли или не? Ние не знаем това предварително, защото никога не сме правили това. Но защо да не го направим? Нека просто кажем, че това е един голям експеримент, който просто не мога да не опитам.

Училищната програма на SPTDC е вече публикувано изцяло, а в случая с Hydra вече известен забележима част, а скоро ще публикуваме анализ на цялата програма на конференцията.

Източник: www.habr.com

Добавяне на нов коментар