
Récemment, deux événements ont été
annoncés immédiatement sur le développement de systèmes multithreads et distribués: la conférence
Hydra (11-12 juillet) et l'école
SPTDC (8-12 juillet). Les personnes proches de ce sujet comprennent que l'arrivée en Russie de
Leslie Lamport ,
Maurice Herliha et
Michael Scott est un événement majeur. Mais d'autres questions se sont posées:
- Qu'attendre de la conférence: «académique» ou «production»?
- Comment les écoles et les conférences se comparent-elles? Pour qui est-il conçu?
- Pourquoi se croisent-ils sur les dates?
- Seront-ils utiles à ceux qui n'ont pas consacré leur vie entière à des systèmes distribués?
Tout cela est bien connu de la personne grâce à laquelle Hydra est apparue: à notre réalisateur
Alexei 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 est qu'il existe des services autour de nous avec de grands volumes d'opérations et des tâches de calcul complexes qui ne peuvent pas être effectuées sur un seul ordinateur. Donc, il devrait y avoir plusieurs voitures. Et puis des questions se posent sur la façon de synchroniser correctement leur travail et ce qu'il faut faire dans des conditions qui ne sont pas les plus fiables (car l'équipement tombe en panne et le réseau tombe en panne).
Plus il y a de voitures, plus il y a de points de défaillance. Et si différentes machines produisent des résultats différents pour les mêmes calculs? Que faire si pendant un certain temps le réseau a disparu et que certains calculs s'isolent, comment alors tout combiner? Au total, un million de problèmes liés. Nouvelles solutions - nouveaux problèmes.
Dans ce domaine, il y a des domaines assez appliqués, mais il y en a 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 l'objet de la première conférence Hydra.
- Je voudrais comprendre qu'il y a une conférence et une école d'été. Comment se comparent-ils? Si un rabais pour assister à une conférence est accordé aux participants de l'école, alors pourquoi se croisent-ils en fonction des dates, de sorte que vous ne pouvez pas tout visiter sans perte à la fois?- Une école est un événement de chambre pour 100 à 150 personnes, où de grands experts du monde entier viennent donner des conférences pendant cinq jours. Et une situation se présente lorsque des sommités de renommée mondiale se réunissent à Saint-Pétersbourg pendant cinq jours, prêtes à dire quelque chose. Et dans ce cas, la décision se propose d'organiser non seulement une école de chambre, mais aussi une plus grande conférence.
Une telle école ne peut avoir lieu qu'en été, en juillet, car parmi ces spécialistes il y a des professeurs d'université actifs, et ils ne sont tout simplement pas prêts à d'autres moments: ils ont des étudiants, des diplômes, des cours, etc. Le format de l'école est de cinq jours ouvrables. On sait qu'en été le week-end, les gens aiment aller quelque part. Cela signifie que nous ne pouvons pas faire de conférence le week-end avant l'école ou le week-end après l'école.
Et s'il est encore prolongé de quelques jours avant ou après le week-end, comme par magie, les cinq jours que les spécialistes restent à Saint-Pétersbourg se transforment en neuf. Et ils ne sont pas prêts pour cela.
Par conséquent, la seule solution que nous avons trouvée était de tenir simplement une conférence parallèle à l'école. Oui, cela pose quelques problèmes. Il y a des gens qui veulent aller à l'école et à la conférence, et ils devront sauter une partie des cours ici ou là. La bonne nouvelle est que tout cela aura lieu dans les salles voisines, vous pouvez faire des va-et-vient. Et un autre bon côté est la disponibilité de vidéos sur lesquelles vous pourrez plus tard regarder calmement ce que vous avez manqué.
- Lorsque deux événements se déroulent en parallèle, les gens se demandent "lequel ai-je besoin?" Qu'attendre exactement de chacun et quelles sont les différences?- L'école est un événement purement académique, une école scientifique classique pendant plusieurs jours. Quiconque était engagé dans les sciences et avait quelque chose à voir avec les études supérieures représente ce qu'est une école universitaire.

En règle générale, ces événements académiques ne sont pas bien organisés en raison du manque d'expertise des événements chez les personnes qui le font. Mais nous sommes toujours des gars assez expérimentés, nous pouvons donc tout faire avec compétence. Je pense que d'un point de vue organisationnel, le SPTDC sera au-dessus de toute école scientifique ou pratique que vous avez jamais vue.
L'école SPTDC est un tel format où chaque grande conférence est
donnée en deux paires: «une heure et demie - une pause - une heure et demie». Il faut comprendre que pour la première fois, cela peut être difficile pour le participant: 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 au milieu d'une double conférence, puis il était difficile de comprendre ce qui se passait. Mais cela dépend beaucoup du conférencier: un bon conférencier parle très intéressant pendant trois heures.
La conférence Hydra est un événement plus appliqué. Plusieurs sommités de la science seront venues donner des cours à l'École: de
Leslie Lamport , dont les travaux sous-tendent la théorie des systèmes multithreads et distribués, à
Maurice Herlichi , l'un des auteurs du célèbre manuel de concours «The Art of Multiprocessor Programming». Mais lors de la conférence, nous essaierons de parler de la façon dont ces algorithmes sont réalisés dans la réalité, des problèmes auxquels les ingénieurs sont confrontés dans la pratique, qui obtient ce qui se passe et ne fonctionne pas, pourquoi certains algorithmes sont appliqués dans la pratique et d'autres non. Et bien sûr, parlons du développement futur des systèmes multi-threads et distribués. Autrement dit, nous donnerons une telle avant-garde: ce dont la science mondiale parle maintenant, autour de laquelle les pensées des principaux ingénieurs tournent, et comment tout cela s'articule.
- Puisque la conférence est plus appliquée, il y aura donc non seulement des sommités académiques, mais aussi des intervenants «issus de la production»?- Certainement. Nous essayons de regarder tous les «grands»: Google, Netflix, Yandex, Odnoklassniki, Facebook. Il y a des problèmes amusants spécifiques. Par exemple, tout le monde dit: "Netflix est un système distribué, près de la moitié du trafic américain est très cool", et quand vous commencez à regarder leurs vrais rapports, articles et publications, il y a une légère déception. Parce que, bien que ce soit certainement un niveau de classe mondiale et qu'il y ait un egde de coupe, il est moins là qu'il n'y paraît à première vue.
Un dilemme intéressant se pose: vous pouvez faire appel à des représentants de grandes sociétés éminentes, ou vous pouvez faire appel à quelqu'un que nous connaissons déjà. En réalité, il y a une expertise là-bas et là-bas. Et nous essayons plutôt de retirer non pas «des gens de très grandes marques», mais de très grands spécialistes, des personnes spécifiques.
Par exemple, il y aura Martin Kleppman, qui a déjà fait du bruit sur LinkedIn et a également publié un
bon livre - peut-être l'un des livres de base dans le domaine des systèmes distribués.
- Si une personne ne travaille pas dans Netflix, mais dans une entreprise plus facile, elle peut penser: "Dois-je aller à une telle conférence, ou y a-t-il des netflix qui se parlent, mais je n'ai rien à faire?"- Je dirai ceci: lorsque j'ai travaillé avec Oracle pendant plus de trois ans, j'ai entendu les choses les plus étonnantes et intéressantes dans la cuisine et dans les fumoirs lorsque mes collègues se sont réunis là-bas, réalisant certaines pièces de la plate-forme Java. Il peut s'agir de personnes issues d'une machine virtuelle, du service de test ou de la concurrence concurrentielle - par exemple, Lesha Shipilev et Seryozha Kuksenko.
Quand ils ont commencé à discuter de quelque chose entre eux, j'écoutais habituellement la bouche ouverte. Pour moi, ce sont des choses incroyables et inattendues auxquelles je n'ai même pas pensé. Naturellement, au début, je ne comprenais pas 90% de ce dont ils parlaient. Ensuite, il est devenu incompréhensible à 80%. Et après avoir fait mes devoirs et lu plusieurs livres, ce nombre a été réduit à 70%. Je ne comprends toujours pas très bien de quoi ils parlent entre eux. Mais, assis dans un coin avec une tasse de café et des écoutes, j'ai commencé à comprendre un peu ce qui se passait.
Par conséquent, lorsque Google, Netflix, LinkedIn, Classmates et Yandex se parlent, cela ne signifie pas que c'est quelque chose d'incompréhensible et d'inintéressant. Au contraire, nous devons écouter attentivement, car c'est notre avenir.
Bien sûr, il y a des gens qui n’ont pas besoin de tout cela. Si vous ne voulez pas développer ce sujet, vous n’avez pas besoin d’aller à cette conférence, vous y perdrez simplement du temps. Mais si le sujet est intéressant, mais que vous n'y comprenez rien, ou que vous y regardez de près, cela signifie que vous devez venir, car vous ne trouverez rien de semblable ailleurs. Et je pense que non seulement en Russie, mais aussi dans le monde. Nous essayons de faire une conférence qui sera non seulement un leader sur ce sujet en Russie, mais généralement numéro un dans le monde.
Ce n’est pas une tâche facile, mais lorsque nous avons une chance formidable de rassembler des conférenciers forts du monde entier, je suis prêt à donner beaucoup pour y arriver. Bien sûr, certains de ceux que nous avons appelés pour la première Hydre ne pourront pas venir. Mais je dirai ceci: nous n'avons jamais commencé une nouvelle conférence avec une liste aussi puissante. Sauf, peut-être, le tout premier JPoint il y a six ans.
- Je veux développer les mots «c'est notre avenir»: le sujet touchera-t-il plus tard ceux qui n'y pensent pas aujourd'hui?"Oui, j'en suis sûr." Par conséquent, il me semble très juste 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, le travail était déjà en plein essor), mais pendant longtemps, ils étaient le lot de spécialistes, jusqu'à ce que le premier ordinateur dual-core utilisateur apparaisse au début des années 2000. 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 10 ans pour que cela se généralise, pour que les gens comprennent que ce discours n'est pas le lot d'un cercle restreint de spécialistes.
Et à peu près la même chose que nous voyons maintenant avec les systèmes distribués. Parce que les décisions de base comme l'équilibrage de charge, la tolérance aux pannes, etc., ont été prises depuis longtemps, mais très peu de gens savent ce que, par exemple, le consensus distribué ou Paxos.
L'une des tâches les plus importantes que j'ai définies pour cet événement est d'immerger de plus en plus les ingénieurs dans cette discussion. Il faut comprendre que lors des conférences, non seulement certains sujets et solutions sont discutés, mais aussi un thésaurus apparaît - un seul appareil conceptuel.
Je considère comme ma tâche de créer une plate-forme sur laquelle tout le monde peut discuter de tout cela, partager des expériences et des opinions. Pour que vous et moi ayons une compréhension commune de ce que fait un algorithme, de ce que fait l'autre, lequel est 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 (tout d'abord, Lyosha Shipilev et Sergey Kuksenko) ont commencé à parler activement de la performance et, en particulier, du multithreading, littéralement deux ou trois ans plus tard, ces questions ont commencé à être posées lors d'entretiens en entreprise, les gens ont commencé à en discuter dans les fumoirs. Autrement dit, la chose qui était le lot de spécialistes étroits, est soudainement devenue mainstream.
Et c'est très correct. Il me semble que nous avons aidé ces gars à vulgariser toute cette question, qui est vraiment importante, utile et intéressante. Si personne n'avait jamais pensé à la façon dont un serveur Java gère les demandes en parallèle, les gens ont maintenant au moins à un certain niveau une compréhension de la façon dont tout cela fonctionne. Et c'est merveilleux.
La tâche que je vois maintenant est à peu près la même chose à faire avec les systèmes distribués. Pour que tout le monde comprenne à peu près de quoi il s'agit, d'où proviennent les jambes, quelles sont les tâches et les problèmes, de sorte que cela devienne également courant.
Les entreprises ont une énorme demande de personnes qui comprennent quelque chose à ce sujet, mais il y en a peu. Plus nous créons autour de ce contenu et l'occasion d'apprendre cela, plus nous donnons aux gens la possibilité de poser des questions qui sont dans l'air, plus nous avons de chances d'avancer dans cette direction.
Contexte
- La conférence se tient pour la première fois, mais l'école n'est pas la première fois. Comment tout cela s'est-il produit et s'est-il développé?- C'est une histoire intéressante. Il y a deux ans, en mai 2017, nous étions à Kiev avec Nikita
Kovale (
ndkoval ), spécialiste du multithreading. Et il m'a dit que l'
école d'été sur la pratique et la théorie de l'informatique simultanée se tiendra à Saint-Pétersbourg.
Le sujet de la programmation multi-thread au cours des trois dernières années de ma carrière d'ingénieur a été incroyablement intéressant. Et puis il s'est avéré que des gens très, très célèbres viennent à Saint-Pétersbourg en été, les mêmes Maurice Herlihi et Nir Shavit, dont j'ai étudié le
manuel . Et beaucoup de mes amis se sont rapportés à cela - par exemple, Roma Elizarov (
elizarov ). J'ai réalisé que je ne pouvais tout simplement pas manquer un tel événement.
Quand il est devenu clair que le programme de l'école en 2017 sera cool, l'idée est venue que les conférences doivent être enregistrées sur vidéo. Chez JUG.ru Group, nous avions une compréhension complète de la façon dont ces conférences devraient être enregistrées. Et nous faisons partie du SPTCC en tant que gars qui ont fait la vidéo pour l'école. En conséquence, toutes les conférences de l'école
sont sur notre chaîne YouTube.
J'ai commencé à communiquer avec Peter Kuznetsov, qui était le principal idéologue et organisateur de cette école, et avec Vitaly Aksyonov, qui a aidé à organiser tout cela à Saint-Pétersbourg. J'ai réalisé que c'était fantastiquement sain et intéressant et, probablement, très mauvais, que seulement 100 participants pouvaient toucher la beauté.
Lorsque Peter a pensé à la nécessité de reprendre l'école (en 2018, il n'y avait pas de temps et d'efforts, il a donc décidé de le faire en 2019), il est devenu clair que nous pouvons l'aider en lui retirant simplement toutes les choses organisationnelles. Et c'est ainsi maintenant, Peter est engagé dans le contenu, et nous sommes tous les autres. Et cela semble être le bon schéma: Peter est probablement plus intéressé par le programme que «où et quand tout le monde déjeunera». Et nous sommes bons pour travailler avec des salles, des lieux, etc.
Cette fois, au lieu de SPTCC, l'école s'appelle SPTDC, pas «informatique concurrente», mais «informatique distribuée». En conséquence, la différence est à ce sujet: la dernière fois que l'école n'a pas parlé de systèmes distribués, mais nous en parlerons activement.
- L'école n'étant pas la première fois, il est déjà possible de tirer quelques conclusions du passé. Que s'est-il passé la fois précédente?- Lorsque la première école a été construite il y a deux ans, il était prévu qu'il y aurait un événement académique, principalement intéressant pour les étudiants. De plus, des étudiants du monde entier, car l'école n'est qu'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 provenaient de grandes entreprises russes comme le même Yandex. Il y avait Andrei Pangin (
apangin ) d'Odnoklassniki, il y avait des gars de JetBrains qui étaient activement impliqués dans ce sujet. En général, il y avait beaucoup de visages familiers de nos entreprises partenaires. Je ne suis pas du tout surpris, je comprends parfaitement pourquoi ils sont venus là-bas.
En fait, les organisateurs s'attendaient à ce qu'il y ait des universitaires à l'école, et tout à coup, des gens de l'industrie sont venus, et il est devenu clair pour moi qu'il y avait une demande dans l'industrie.
Si l'événement, qui n'a presque jamais été promu nulle part, la première fois qu'un clic des doigts a rassemblé un public d'adultes, alors en fait il y a de l'intérêt. Il me semble qu'une demande sur ce sujet a mûri.
Maurice Herlichi à la réunion JUG.ru- En plus de l'école, Maurice Herlichi a parlé lors de la réunion JUG.ru à Saint-Pétersbourg en 2017, parlant de la mémoire transactionnelle, et c'est un peu plus proche du format de la conférence. Qui est ensuite venu - les mêmes personnes qui viennent habituellement aux réunions JUG.ru, ou un autre public?- C'était intéressant parce que nous avions compris que Maurice aurait un rapport général, et non spécifique à Java, et avons fait une annonce légèrement plus large que celle que nous faisons habituellement pour nos abonnés JUG.
Beaucoup de gens que je connaissais venaient de communautés qui ne parlaient pas du tout de Java: du hangout .NET, du hangout JavaScript. Parce que le sujet de la mémoire transactionnelle n'est pas une technologie de développement spécifique. Lorsqu'un spécialiste de classe mondiale arrive pour 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 juste une forte impression lorsque la personne dont vous étudiez le livre vient à vous et vous dit quelque chose. Tout simplement fantastique.
- Et quels ont été les retours sur la base des résultats? L'approche était-elle trop académique et incompréhensible pour les gens de l'industrie?"Les critiques sur le rapport Herlich étaient bonnes." Les gens ont écrit qu'il énonce très simplement et clairement ce que l'on n'attendait pas d'un professeur d'université. Mais nous devons comprendre que nous ne l'avons pas simplement appelé, c'est un spécialiste de renommée mondiale avec une vaste expérience de la parole et avec une formation d'une pile de livres et d'articles. Et, probablement, il est devenu célèbre à bien des égards en raison de sa capacité à transmettre du matériel aux gens. Ce n'est donc pas surprenant.
Il a un anglais normal et compréhensible, et il, bien sûr, sait beaucoup de quoi il parle. Autrement dit, on peut lui poser absolument toutes les questions. En gros, les gens se sont plaints que nous ayons laissé trop peu de temps à Maurice pour le rapport: deux heures pour cela ne suffisent pas, il nous en faut au moins deux de plus. Eh bien, ils ont réussi en deux heures, puis ils ont réussi.
La motivation
- Habituellement, le groupe JUG.ru est engagé dans des événements à grande échelle, et ce sujet semble plus spécialisé. Pourquoi a-t-il été décidé de le prendre? Y a-t-il une volonté d'organiser un événement plus petit, ou beaucoup de spectateurs peuvent-ils se réunir sur un tel sujet?- En effet, lorsque vous organisez une sorte d'événement et demandez un certain niveau de discussion, la question se pose toujours de l'ampleur de cette discussion. Combien de personnes - dix, cent ou mille - sont intéressantes. Il y a un compromis entre la masse et la profondeur. C'est une question tout à fait normale, et tout le monde la décide différemment.
Dans ce cas, je veux faire l'événement «pour moi». En multithreading, je comprends toujours quelque chose (lors de conférences, j'ai donné des conférences sur ce sujet, j'ai dit quelque chose aux étudiants plusieurs fois), mais dans les systèmes distribués, je suis un profane: j'ai lu quelques articles et vu plusieurs conférences, mais je n'ai même pas un seul livre complet lisez-le.
Nous avons un comité de programme composé d'experts dans ce domaine et capable d'évaluer l'exactitude des rapports. Et pour ma part, j'essaie de rendre cet événement tel que j'aimerais aller à moi avec mon manque d'expertise. Sera-t-il intéressant d'intéresser le public de masse, je ne sais pas. Probablement, à ce stade, ce n'est pas la tâche principale de cet événement. Maintenant, il est plus important de former le programme le plus puissant en peu de temps.
, « », «, ». - , . .
. . Java- , . , , . , , , , , , — .
, . , , , .
70-80% . , ( , ) ( ). . .
, -. . , , , , -. , - . JavaScript, Java .NET , , , , , — , - .
: 70–80% . ? , . ? : , .
SPTDC , Hydra , .