"La demande est en retard": Alexey Fedorov à propos d'une nouvelle conférence sur les systèmes distribués

"La demande est en retard": Alexey Fedorov à propos d'une nouvelle conférence sur les systèmes distribués

Il y a eu récemment annoncé deux événements à la fois sur le développement de systèmes multithread et distribués : une conférence Hydra (11-12 juillet) et école SPTDC (8-12 juillet). Les gens proches de ce sujet comprennent que venir en Russie Leslie Lamport, Maurice Herlihy и Michael Scott - l'événement le plus important. Mais d'autres questions se sont posées :

  • Qu’attendre de la conférence : « académique » ou « production » ?
  • Quel est le lien entre l’école et la conférence ? À qui s’adresse ceci et cela ?
  • Pourquoi se chevauchent-ils dans les dates ?
  • Seront-ils utiles à ceux qui n’ont pas consacré toute leur vie aux systèmes distribués ?

Tout cela est bien connu de celui qui a donné vie à Hydra : notre réalisateur Alexeï Fedorov (23derevo). Il a répondu à toutes les questions.

Format

— Une question introductive pour ceux qui sont loin des systèmes distribués : de quoi parlent les deux événements ?

— Le défi mondial réside dans le fait qu'il existe autour de nous des services comportant de grands volumes d'opérations et des tâches informatiques complexes qui ne peuvent pas être effectuées sur un seul ordinateur. Cela signifie qu'il doit y avoir plusieurs voitures. Et puis des questions se posent quant à la façon de synchroniser correctement leur travail et que faire dans des conditions de fiabilité peu élevées (car l'équipement tombe en panne et le réseau tombe).

Plus il y a de machines, plus il y a de points de défaillance. Que faire si différentes machines produisent des résultats différents pour les mêmes calculs ? Que faire si le réseau disparaît pendant un certain temps et qu'une partie des calculs s'isole, comment alors combiner le tout ? En général, cela pose un million de problèmes. Nouvelles solutions - nouveaux problèmes.

Dans ce domaine, il y a des domaines entièrement appliqués, et il y en a d'autres plus scientifiques - quelque chose qui n'est pas encore devenu courant. Je voudrais parler de ce qui se passe à la fois dans la pratique et dans la science, et surtout, à leur jonction. C’est le sujet de la première conférence Hydra.

— J'aimerais comprendre qu'il y a une conférence et qu'il y a une école d'été. Comment se rapportent-ils ? Si une réduction est accordée aux participants des écoles pour assister à la conférence, alors pourquoi les dates se chevauchent-elles, de sorte qu'il est impossible d'assister à tout en même temps sans perte ?

— L'école est un événement de chambre pour 100 à 150 personnes, où des experts de premier plan du monde entier viennent donner des conférences pendant cinq jours. Et une situation se présente lorsque des sommités de classe mondiale se réunissent à Saint-Pétersbourg pendant cinq jours, prêtes à dire quelque chose. Et dans ce cas, la décision est prise d'organiser non seulement une école de chambre, mais aussi une conférence à plus grande échelle.

Il n'est possible d'organiser une telle école qu'en été, en juillet, car parmi ces spécialistes se trouvent des professeurs d'université actuels, et ils ne sont tout simplement pas prêts à un autre moment : ils ont des étudiants, des diplômes, des conférences, etc. Le format scolaire est de cinq jours de semaine. On sait qu'en été, le week-end, les gens aiment aller quelque part. Cela signifie que nous ne pouvons pas organiser de conférence ni le week-end avant l'école, ni le week-end après l'école.

Et si vous le prolongez quelques jours avant ou après le week-end, les cinq jours de séjour des spécialistes à Saint-Pétersbourg se transforment comme par magie en neuf. Et ils ne sont pas prêts pour ça.

La seule solution que nous avons trouvée a donc été de simplement tenir la conférence en parallèle avec l'école. Oui, cela crée des problèmes. Il y a des gens qui veulent aller à l'école et à une conférence, et ils vont devoir manquer quelques cours ici ou là. La bonne nouvelle c'est que tout cela se déroulera dans des salles voisines, vous pourrez faire des allers-retours. Et une autre bonne chose est la disponibilité d'enregistrements vidéo, dans lesquels vous pourrez ensuite regarder sereinement ce que vous avez manqué.

— Lorsque deux événements se déroulent en parallèle, les gens se posent la question « de lequel ai-je le plus besoin ? Que devez-vous exactement attendre de chacun et quelles sont les différences ?

— L'école est un événement purement académique, une école scientifique classique sur plusieurs jours. Quiconque a été impliqué dans la science et a eu quelque chose à voir avec des études supérieures a une idée de ce qu'est une école universitaire.

"La demande est en retard": Alexey Fedorov à propos d'une nouvelle conférence sur les systèmes distribués

Habituellement, ces événements académiques ne sont pas très bien organisés en raison du manque d’expertise événementielle des personnes qui les organisent. Mais nous sommes encore des gars assez expérimentés, nous pouvons donc tout faire avec beaucoup de compétence. Je pense que d'un point de vue organisationnel, le SPTDC sera de la tête et des épaules au-dessus de toute école universitaire ou de recherche que vous ayez jamais vue.

École SPTDC - il s'agit d'un format où chaque grand cours est lu en deux binômes : « une heure et demie - une pause - une heure et demie ». Vous devez comprendre que cela peut ne pas être facile pour un participant qui participe pour la première fois : lorsque cette école a eu lieu pour la première fois il y a deux ans, j'étais moi-même inhabituel, je me suis éteint plusieurs fois environ au milieu d'un double cours, et alors il était difficile de comprendre ce qui se passait. Mais cela dépend beaucoup du conférencier : un bon conférencier parle de manière très intéressante pendant les trois heures.

Conférence Hydra - un événement plus pratique. Plusieurs sommités scientifiques seront venues donner des conférences à l'École : de Leslie Lamport, dont les travaux sous-tendent la théorie même des systèmes multithread et distribués, pour Maurice Herlihy, l'un des auteurs du célèbre manuel sur la concurrence « The Art of Multiprocessor Programming ». Mais lors de la conférence, nous essaierons de parler de la manière dont certains algorithmes sont mis en œuvre dans la réalité, des problèmes auxquels les ingénieurs sont confrontés dans la pratique, de qui réussit et échoue, pourquoi certains algorithmes sont utilisés dans la pratique et d'autres non. Et bien sûr, parlons de l'avenir du développement de systèmes multithread et distribués. Autrement dit, nous donnerons une telle avancée : de quoi parle la science mondiale actuellement, sur quoi tournent les pensées des principaux ingénieurs et comment tout cela s'articule.

— Puisque la conférence est plus appliquée, y aura-t-il non seulement des sommités académiques, mais aussi des intervenants de la « production » ?

- Certainement. Nous essayons de regarder tous les « grands » : Google, Netflix, Yandex, Odnoklassniki, Facebook. Il y a des problèmes spécifiques et amusants. Par exemple, tout le monde dit : « Netflix est un système distribué, représentant près de la moitié du trafic américain, très cool », et lorsque vous commencez à regarder leurs rapports, articles et publications actuels, une légère déception s'installe. Car, bien que ce soit certainement de classe mondiale et qu'il y ait de l'avant-garde, il y en a moins qu'il n'y paraît à première vue.

Un dilemme intéressant se pose : vous pouvez appeler des représentants de grandes entreprises éminentes, ou vous pouvez appeler quelqu'un que nous connaissons déjà. En réalité, l’expertise existe ici et là-bas. Et nous essayons plutôt de faire sortir non pas « des gens de très grandes marques », mais de très grands spécialistes, des gens spécifiques.

Par exemple, il y aura Martin Kleppmann, qui à un moment donné a fait sensation sur LinkedIn et a également publié bon bouquin — peut-être l'un des livres de base dans le domaine des systèmes distribués.

— Si une personne ne travaille pas chez Netflix, mais dans une entreprise plus simple, elle peut se demander : « Dois-je aller à une telle conférence, ou y a-t-il toutes sortes de Netflix qui se parlent, mais je n'ai rien à faire ?

— Je dirai ceci : lorsque je travaillais chez Oracle pendant un peu plus de trois ans, j'entendais les choses les plus étonnantes et les plus intéressantes dans la cuisine et dans les fumoirs, lorsque des collègues s'y réunissaient pour créer certaines parties de la plateforme Java. Il peut s'agir de personnes de la machine virtuelle, du service de test ou de la concurrence de performances - par exemple, Lyosha Shipilev et Seryozha Kuksenko.

Lorsqu’ils commençaient à discuter de quelque chose entre eux, j’écoutais généralement la bouche ouverte. Pour moi, c’étaient des choses étonnantes et inattendues auxquelles je n’avais même pas pensé. Naturellement, au début, je ne comprenais pas 90 % de ce dont ils parlaient. Puis 80 % sont devenus incompréhensibles. Et après avoir fait mes devoirs et lu quelques livres, ce chiffre est tombé à 70 %. Je ne comprends toujours pas grand-chose de ce dont ils parlent entre eux. Mais alors que je m'asseyais dans un coin avec une tasse de café et que j'écoutais aux portes, j'ai commencé à comprendre un peu ce qui se passait.

Par conséquent, lorsque Google, Netflix, LinkedIn, Odnoklassniki et Yandex se parlent, cela ne veut pas dire que c'est quelque chose d'incompréhensible et d'inintéressant. Au contraire, nous devons écouter attentivement, car tel est notre avenir.

Bien sûr, il y a des gens qui n’ont pas besoin de tout cela. Si vous ne souhaitez pas développer ce sujet, vous n’avez pas besoin d’aller à cette conférence, vous y perdrez juste du temps. Mais si le sujet est intéressant, mais que vous n’y comprenez rien ou que vous le regardez simplement, alors vous devriez venir, car vous ne trouverez rien de tel nulle part. De plus, je pense que non seulement en Russie, mais aussi dans le monde. Nous essayons de faire une conférence qui ne sera pas seulement leader sur ce sujet en Russie, mais en général numéro un dans le monde.

Ce n’est pas la tâche la plus facile, mais alors que nous avons une chance aussi incroyable de rassembler des orateurs forts du monde entier, je suis prêt à donner beaucoup pour que cela se réalise. Bien entendu, certains de ceux que nous avons invités à la première Hydra ne pourront pas venir. Mais je dirai ceci : nous n’avons jamais démarré une nouvelle conférence avec une programmation aussi puissante. Sauf peut-être le tout premier JPoint il y a six ans.

— Je voudrais développer les mots « ceci est notre avenir » : le sujet affectera-t-il plus tard ceux qui n'y pensent pas aujourd'hui ?

- Oui, j'en suis sûr. Il me semble donc tout à fait opportun de commencer à en discuter le plus rapidement possible. Par exemple, la théorie du multithreading est apparue il y a assez longtemps (dans les années 70, les travaux étaient déjà publiés à plein régime), mais pendant longtemps, ils étaient le lot de spécialistes restreints, jusqu'à ce que le premier ordinateur dual-core utilisateur apparaisse. au début des années 10. Et maintenant, nous avons tous des serveurs multicœurs, des ordinateurs portables et même des téléphones, et c'est le courant dominant. Il a fallu environ XNUMX ans pour que cela se généralise, pour que l'on comprenne que ce discours n'est pas l'affaire d'un cercle restreint de spécialistes.

Et nous constatons désormais à peu près la même chose avec les systèmes distribués. Parce que des solutions de base telles que la répartition de la charge, la tolérance aux pannes, etc. existent depuis assez longtemps, mais très peu de gens savent ce qu'est, par exemple, le consensus distribué ou Paxos.

L’un des objectifs les plus importants que je me suis fixé pour cet événement est d’immerger toujours plus les ingénieurs dans cette discussion. Vous devez comprendre que lors des conférences, certains sujets et solutions ne sont pas seulement discutés, mais un thésaurus apparaît également - un appareil conceptuel unifié.

Je considère que ma tâche est de créer une plateforme où chacun peut discuter de tout cela, partager ses expériences et ses opinions. Afin que vous et moi ayons une compréhension commune de ce que fait un algorithme, de ce que fait un autre, lequel est le meilleur dans quelles conditions, comment ils sont liés les uns aux autres, etc.

Une chose très intéressante est liée au même multithreading. Lorsque nos amis d'Oracle (principalement Lesha Shipilev et Sergey Kuksenko) ont commencé à parler activement de performances et, en particulier, de multithreading, littéralement deux ou trois ans plus tard, ces questions ont commencé à être posées lors d'entretiens dans les entreprises, les gens ont commencé à en discuter dans chambres fumeurs. Autrement dit, une chose qui était réservée à des spécialistes restreints est soudainement devenue courante.

Et c'est très correct. Il me semble que nous avons aidé ces gars-là à vulgariser toute cette question, qui est vraiment importante, utile et intéressante. Si auparavant personne ne pensait à la manière dont un serveur Java traite les requêtes en parallèle, les gens comprennent désormais au moins dans une certaine mesure comment tout cela fonctionne. Et c'est génial.

La tâche que je vois maintenant est de faire à peu près la même chose avec les systèmes distribués. Pour que chacun comprenne à peu près de quoi il s'agit, d'où cela vient, quelles sont les tâches et les problèmes, afin que cela devienne également courant.

Les entreprises ont une énorme demande de personnes qui comprennent quelque chose à ce sujet, et ces personnes sont peu nombreuses. Plus nous créons autour de ce contenu et avons l’opportunité d’en tirer des leçons, plus nous donnons aux gens la possibilité de poser des questions en suspens, plus nous avons de chances d’avancer d’une manière ou d’une autre dans cette direction.

Préhistoire

— La conférence a lieu pour la première fois, mais ce n'est pas la première fois pour l'école. Comment tout cela est-il né et s’est-il développé ?

- C'est une histoire intéressante. Il y a deux ans, en mai 2017, nous nous sommes assis à Kiev avec Nikita Koval (ndkoval), un expert dans le domaine du multithreading. Et il m'a dit que cela aurait lieu à Saint-Pétersbourg « École d'été en pratique et théorie de l'informatique concurrente ».

Le sujet de la programmation multithread a été incroyablement intéressant au cours des trois dernières années de ma carrière d'ingénieur. Et puis il s'est avéré qu'en été, des personnes très, très célèbres viennent à Saint-Pétersbourg, les mêmes Maurice Herlihy et Nir Shavit, selon cahier de texte que j'ai étudié. Et beaucoup de mes amis ont quelque chose à voir avec cela - par exemple, Roma Elizarov (Élisarov). J'ai réalisé que je ne pouvais tout simplement pas manquer un tel événement.

Lorsqu’il est devenu clair que le programme de l’école pour 2017 serait formidable, l’idée est née que les cours devraient impérativement être enregistrés sur vidéo. Chez JUG.ru Group, nous comprenions parfaitement comment ces conférences devaient être enregistrées. Et nous faisons partie du SPTCC en tant que gars qui ont réalisé une vidéo pour l'école. En conséquence, tous les cours scolaires mentir sur notre chaîne YouTube.

J'ai commencé à communiquer avec Piotr Kuznetsov, qui était le principal idéologue et organisateur de cette école, et avec Vitaly Aksenov, qui a aidé à organiser tout cela à Saint-Pétersbourg. J’ai réalisé que c’était incroyablement cool et intéressant et, probablement, c’est très mauvais que seuls 100 participants puissent toucher à la beauté.

Lorsque Peter a pensé qu'il devait recommencer l'école (en 2018, il n'avait ni énergie ni temps, il a donc décidé de le faire en 2019), il est devenu clair que nous pouvions l'aider en lui supprimant simplement toutes les tâches d'organisation. C'est ce qui se passe actuellement, Peter s'occupe du contenu et nous faisons tout le reste. Et cela semble être le bon schéma : Peter est probablement plus intéressé par le programme que par « où et quand tout le monde déjeunera-t-il ». Et nous sommes doués pour travailler avec des salles, des lieux, etc.

Cette fois, au lieu de SPTCC, l’école s’appelle SPTDC, non pas « informatique concurrente », mais « informatique distribuée ». En conséquence, c'est à peu près la différence : la dernière fois à l'école, ils ne parlaient pas de systèmes distribués, mais cette fois nous en parlerons activement.

— Comme l'école n'a pas lieu pour la première fois, nous pouvons déjà tirer quelques conclusions du passé. Que s'est-il passé la dernière fois ?

— Lors de la création de la première école, il y a deux ans, on s'attendait à ce qu'il y ait un événement académique, intéressant avant tout les étudiants. De plus, des étudiants du monde entier, car l'école est uniquement en anglais et on pensait qu'un nombre important d'étudiants étrangers viendraient.

En fait, il s’est avéré que de nombreux ingénieurs venaient de grandes entreprises russes comme Yandex. Il y avait Andrey Pangin (apangine) d'Odnoklassniki, il y avait des gars de JetBrains qui travaillaient activement sur ce sujet. En général, de nombreux visages familiers de nos entreprises partenaires étaient présents. Je ne suis pas du tout surpris, je comprends parfaitement pourquoi ils sont venus là.

En fait, les organisateurs s'attendaient à ce qu'il y ait des universitaires à l'école, mais tout d'un coup, des gens de l'industrie sont venus, et il m'est alors apparu clairement qu'il y avait une demande dans l'industrie.

Si un événement qui n'a été promu nulle part, a rassemblé au premier clic un public d'adultes, cela signifie qu'il y a réellement un intérêt. Il me semble qu'une demande sur ce sujet est en retard.

"La demande est en retard": Alexey Fedorov à propos d'une nouvelle conférence sur les systèmes distribués
Maurice Herlihy à la réunion JUG.ru

— En plus de l'école, Maurice Herlihy a pris la parole à Saint-Pétersbourg lors de la réunion JUG.ru en 2017, avoir dit sur la mémoire transactionnelle, et c'est un peu plus proche du format de conférence. Qui est venu alors - les mêmes personnes qui viennent habituellement aux rencontres JUG.ru, ou un public différent ?

— C'était intéressant car nous avions compris que Maurice aurait un rapport général, pas spécifique à Java, et nous avons fait une annonce légèrement plus large que ce que nous faisons habituellement pour nos abonnés aux actualités JUG.

Beaucoup de gens que je connais viennent de communautés qui ne s'intéressent pas du tout à Java : du groupe .NET, du groupe JavaScript. Car le thème de la mémoire transactionnelle ne concerne pas une technologie de développement spécifique. Lorsqu’un spécialiste de renommée mondiale vient parler de mémoire transactionnelle, rater l’occasion d’écouter une telle personne et de lui poser des questions est tout simplement un crime. Cela fait simplement une forte impression lorsque la personne dont vous étudiez le livre vient vers vous et vous dit quelque chose. Tout simplement fantastique.

— Et quels ont été les retours en conséquence ? L’approche était-elle trop académique et incompréhensible pour les gens du secteur ?

— Les critiques du rapport de Herlihy étaient bonnes. On a écrit qu'il avait dit très simplement et clairement ce qu'on n'attendait pas d'un professeur universitaire. Mais nous devons comprendre que nous l'avons invité pour une raison, c'est un spécialiste de renommée mondiale avec une vaste expérience en matière d'expression orale et une expérience riche en livres et en articles. Et, probablement, il est devenu célèbre à bien des égards grâce à sa capacité à transmettre du matériel aux gens. Cela n’est donc pas surprenant.

Il parle un anglais normal et compréhensible et, bien sûr, il comprend très bien de quoi il parle. Autrement dit, vous pouvez lui poser absolument toutes les questions. Au fond, on se plaignait du fait qu'on accordait trop peu de temps à Maurice pour son rapport : deux heures ne suffisent pas pour une telle chose, il en faut au moins deux de plus. Eh bien, nous avons réussi à faire ce que nous avons réussi en deux heures.

Motivation

— Le groupe JUG.ru s'occupe généralement d'événements à grande échelle, mais ce sujet semble plus spécialisé. Pourquoi avez-vous décidé de vous lancer ? Existe-t-il une volonté d'organiser un événement plus petit, ou un grand nombre de spectateurs peuvent-ils se rassembler sur un tel sujet ?

— En effet, lorsqu'on organise un événement et qu'on fixe un certain niveau de discussion, la question se pose toujours de savoir quelle est l'ampleur de cette discussion. Combien de personnes – dix, cent ou mille – s’intéressent à cela ? Il y a un compromis entre masse et profondeur. C'est une question tout à fait normale, et chacun la résout différemment.

Dans ce cas, je veux organiser l’événement « pour moi ». Je comprends encore quelque chose sur le multithreading (j'ai donné des conférences sur ce sujet lors de conférences et j'ai dit quelque chose aux étudiants à plusieurs reprises), mais je suis novice en matière de systèmes distribués : j'ai lu quelques articles et vu plusieurs conférences, mais pas même un seul livre à part entière l'a lu.

Nous avons un comité de programme composé d'experts dans le domaine qui peuvent évaluer l'exactitude des rapports. Et pour ma part, j’essaie de faire de cet événement un événement auquel, avec mon manque d’expertise, j’aurais envie d’aller. S’il sera possible d’intéresser le grand public, je ne le sais pas. Ce n’est probablement pas la tâche la plus importante de cet événement à ce stade. Il est désormais plus important de créer le programme le plus solide en peu de temps.

Probablement, j'ai maintenant confié à l'équipe non pas la tâche de « rassembler un millier de personnes du premier coup », mais de « faire apparaître la conférence ». Cela peut paraître peu pragmatique et quelque peu naïf, même si je ne suis pas du tout altruiste. Mais je peux parfois m'accorder quelques libertés.

Il y a des choses plus importantes que l’argent et au-delà de l’argent. Nous organisons déjà un grand nombre d’événements sympas à grande échelle pour un millier de personnes ou plus. Nos conférences Java ont depuis longtemps dépassé le millier de personnes, et maintenant d'autres événements franchissent cette barre. C'est-à-dire que la question selon laquelle nous sommes devenus des organisateurs expérimentés et célèbres n'en vaut plus la peine. Et probablement, ce que nous gagnons grâce à ces événements nous donne l’opportunité de réinvestir dans ce qui nous intéresse, et dans ce cas, pour moi personnellement.

En faisant cet événement, je vais à l'encontre de certains principes de notre organisation. Par exemple, nous essayons généralement de préparer les conférences très à l'avance, mais désormais nous avons des délais très serrés et nous finalisons le programme juste un mois avant l'événement lui-même.

Et cet événement sera à 70-80 % anglophone. Ici aussi, un débat surgit toujours pour savoir si nous devons être plus proches des gens (qui le comprennent mieux lorsque la plupart des rapports sont en russe) ou du monde entier (car le monde technique est anglophone). Nous essayons généralement de faire beaucoup de reportages en russe. Mais pas pour le moment.

De plus, nous demanderons également à certains de nos russophones de s'exprimer en anglais. Il s’agit, en un sens, d’une approche absolument anti-utilisateur et inhumaine. Mais nous devons comprendre qu'il n'existe actuellement aucune littérature en langue russe sur ce sujet et que toute personne qui s'y intéresse est obligée de lire en anglais. Cela signifie qu’il est d’une manière ou d’une autre capable de comprendre l’anglais. Si dans le cas de JavaScript, Java ou .NET, beaucoup de gens ne connaissent pas très bien l'anglais, mais savent en même temps bien programmer, alors, probablement, les systèmes distribués sont un domaine dans lequel il n'y a tout simplement pas d'autre façon d'apprendre maintenant.

J'ai vraiment envie de mener cette expérience : comment un événement à 70-80 % en langue anglaise sera perçu par le public en Russie. Est-ce que ça viendra ou pas ? Nous ne le savons pas à l’avance car nous ne l’avons jamais fait. Mais pourquoi ne pas le faire ? Disons simplement que c'est une grande expérience que je ne peux m'empêcher d'essayer.

Le programme scolaire du SPTDC est déjà publié par entièrement, et dans le cas d'Hydra déjà connu une partie notable, et nous publierons bientôt une analyse de l'ensemble du programme de la conférence.

Source: habr.com

Ajouter un commentaire