CLRium # 6: Concurrence et parallélisme. Deux jours: du processeur à l'async / attente


Très prochainement, les 29 et 30 novembre à Saint-Pétersbourg et les 6 et 7 décembre à Moscou, nous lancerons le sixième séminaire .NET. Dans le cadre du séminaire, nous étudions à fond les enjeux du multithreading, qui sont en réalité très, très complexes. Le programme change un peu, mais il s'avère être très hardcore pour vous et excitant pour nous. J'ai étendu la description du niveau OS à trois emplacements: vous pouvez maintenant y apprendre:


  • Quantums de temps, leur durée, le choix de leur longueur, modification des paramètres système pour choisir la durée du quantum de temps
  • Augmenter dynamiquement les priorités des flux et des longueurs quantiques en fonction des différentes conditions: du signe que la fenêtre est au premier plan à la libération des verrous
  • Développer votre propre planificateur de threads UMS

et bien plus. Il y aura beaucoup de café.


Où aura lieu


À Saint-Pétersbourg, le séminaire a changé de lieu et se tiendra presque au centre de la ville: l'espace artistique des tisserands. Nous louons la totalité de l'étage de l'immeuble pour que vous puissiez y loger confortablement, dîner sans quitter l'immeuble et vous amuser - pendant les pauses. Parce que c'est un espace d'art, il y a beaucoup de choses intéressantes en plus du séminaire lui-même.



À Moscou, le séminaire se tiendra à l'hôtel Salute traditionnel. Le choix est simple: l'endroit est bien éprouvé.



Quelques mots sur le programme du séminaire


Programme du premier jour


  • Nous allons commencer par la couche du système d'exploitation. 6 types de processus, les threads, nous mentionnons les fibres (et expliquons pourquoi elles ne sont pas en .NET). Deux gros rapports qui décomposeront tout ce qui se trouve dans le système d'exploitation;
  • Après le système d'exploitation, nous parlerons de la mécanique CLR. Il dispose de nombreux mécanismes sur la base desquels de nombreuses classes BCL fonctionnent;
  • Ensuite, vous irez dîner pour déposer la première couche d'informations ;
  • Après le déjeuner, nous prenons très étroitement la couche BCL. Voici les primitives de synchronisation. Et la complexité et l'importance de la complexité des algorithmes et des contextes de synchronisation. En général, deux rapports sonores. Déjà à ce stade, vous sentirez que vos investissements porteront leurs fruits au moins sur le projet en cours, et à l'avenir - sur toute interview;
  • Le troisième sujet du premier jour est les algorithmes sans verrouillage. C'est une partie essentielle de notre connaissance du multithreading. Algorithmes qui fonctionnent sans verrous. Et à mon humble avis, il vaut mieux ne pas leur enseigner . Ils doivent comprendre comment ils fonctionnent. C'est ce que nous allons faire: d'abord, nous allons trouver comment mettre les savoirs traditionnels par nous-mêmes pour choisir un algorithme basé sur les exigences. Ensuite, nous analyserons le fonctionnement des deux algorithmes et, enfin, nous en développerons un autre de manière indépendante.

Programme du deuxième jour


Lorsque vous dormez suffisamment (cela doit être fait: le cerveau assimile toutes les informations reçues pendant le sommeil) et que vous venez au séminaire, sa deuxième partie commencera:


  • Rapport introductif sur les modèles APM et EAP asynchrones en CLR / BCL. Qui a dit qu'ils étaient périmés? Tout ce qui est nouveau est un ancien bien oublié, ce qui signifie que l'ancien ne doit pas être oublié: la spirale du développement y reviendra plus d'une fois;
  • Une approche fonctionnelle pour développer du code asynchrone. Fonctionnalité - ce n'est pas seulement en F #. Nous comprendrons comment écrire du code de telle manière qu'il puisse être facilement parallélisé et qu'il implique le moins de verrous et d'allocations;
  • Encore une fois, pour réduire la chaleur dans nos têtes, nous nous reposerons au dîner. Parlons, changeons le contexte.
  • Après le déjeuner, nous irons parfaire nos connaissances. Ce seront: PLINQ, async / wait, les mécanismes de leur travail.

Justifier l'employeur


Si vous souhaitez économiser des fonds personnels et contacter votre employeur, mais vous ne savez pas comment faire, ci-dessous, j'ai préparé un court texte qui peut être utilisé en envoyant une lettre à la direction. Pour ceux qui l'ont déjà vu, nous avons caché son contenu sous un spoiler:


Lettre à la direction
Bon après-midi

Yuri Ivanovich, je voudrais vous contacter aujourd'hui pour une petite demande. Un séminaire très important se déroule dans notre ville, auquel j'aimerais participer. Le thème du séminaire est en corrélation avec nos tâches et contribuera grandement à leur solution: c'est le multi-threading et la compétitivité. Comme chaque employé, j'ai de nombreuses tâches au travail et à la maison. Par conséquent, il est très difficile de trouver du temps pour le développement personnel: à la maison, vous voulez toujours faire des tâches de la vie, et au travail - au travail. Par conséquent, la présence d'un tel séminaire est une bonne occasion de trouver le temps d'écouter et d'utiliser le matériel que quelqu'un a mâché pour vous et n'a dit que le plus important.

L'atelier dure deux jours: 29-30 novembre / 06-07 juillet. Mais, d'une part, le matériel qui serait publié en deux jours au cours de l'étude habituelle à partir de diverses sources prendrait au moins un mois, et d'autre part, les dates du séminaire étaient assez bien choisies: toutes les rumeurs du Nouvel An, le cas échéant, commenceraient plus tard. De plus, pendant les vacances du Nouvel An, je pourrai écouter tous les reportages de l'enregistrement, ce qui renforcera mes connaissances.

Il y a son annonce sur Habré: https://habr.com/ru/company/clrium/blog/460635/
Et l'atelier lui-même: CLRium

Il ne restait qu'un tiers de tous les billets. Vous attend!

Source: https://habr.com/ru/post/fr471482/


All Articles