Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago
Учел ваши пожелания и собрал все посты по теме многозадачности и производительности в один пост. Приятного чтения, дальше больше, это еще далеко не конец😊
🔹Многозадачность на уровне железа и OS / Kernel Space
1. Многозадачность в OS. Введение.
2. Процессор и его роль в многозадачности
2.1. Про Hyper Threading
3. Процессы. Начало
4. Процессы в Linux
5. Потоки. Начало
6. Потоки в Linux
7. Модели ввода-вывода. Универсальная(блокирующая) модель ввода-вывода
8. Multiplexed IO
9. Asynchronous IO
*🔹Легковесные потоки в User Space / Многозадачность в языках программирования*10. Fibers. Виды многозадачности с примерами в языках программирования.
11. Сравнительный обзор двух видов многозадачности
*🔹Модели памяти*
12. Что такое модель памяти? Sequential Consistency.
Вижу что вам комфортнее всего взаимодействовать с текстом. А подскажите в таком случае, что сейчас стильно / модно / молодежно для бложика использовать? Я последнее что использовал это Jekyll, но наверняка прогресс уже ушел сильно дальше. Поделитесь в комментариях, думаю доберусь и создам свой webpage😊
Перед тем как переходить с уровня ОС на уровень приложения (рантайм, виртуальные машины ЯП) отдельным постом расскажу зачем я посвятил такое количество постов внутренностям с которыми многие редко сталкиваются, а возможно и вообще впервые увидели.
Дело в том что производительность это довольно сложно и складывается она из большого количества факторов. И для того чтобы грамотно бенчмаркать и профилировать очень полезно знать из чего же сложилась итоговая цифра.
К тому же, я посчитал важным показать внутренности на уровне ОС для того чтобы мы перейдя на уровень ЯП могли посмотреть во что именно превращаются красивые инструкции на языке Go / Python / Java или например Elixir / Rust. А учитывая то что мы рассмотрели на примере Linux - всё есть процессы. Нет никакой секретной магии в языках программирования делающей что-то быстрее или лучше. Всё везде одинаково так как языки для взаимодействия с ОС используют одни и теже примитивы - системные вызовы ?
В следующих постах мы как раз поднимемся на уровень выше и посмотрим какие есть примитивы в языках программирования для достижения высокой производительности и есть ли ограничения.
Всем спасибо что читали, до встречи в новых постах!
CPU, Memory Models, Concurrency, Multiprocess, Multithreading и Async. Часть 5. Потоки. Начало. Продолжаем разговор о конкурентности. Сегодня разбираемся с потоками. Начнем с основ и базовых определений. Пото́к выполне́ния (тред; от англ. thread — нить)…
CPU, Memory Models, Concurrency, Multiprocess, Multithreading и Async. Часть 3. Процессы. Начало Сегодня поговорим о процессах операционной системы в контексте многозадачности. Процесс - это экземпляр компьютерной программы. Если компьютерная программа представляет…
Raft - Understandable Distributed Consensus
Последнее время я всё больше и больше погружаюсь в те самые Distributed Systems, которые уже несколько лет на хайпе, о которых говорят на каждом system design интервью и конференции.
Одной из важнейших частей дисциплины является достижение консенсуса - согласованности данных среди участников распределенной системы.
Консенсус достигается с помощью софта реализующего конкретный протокол.
В качестве примеров такого софта можно привести:
Kafka + kraft
ClickHouse + CHKeeper (raft)
Kubernetes + etcd (raft protocol)
Cassandra + Paxos protocol
Ну и само собой куда же без криптовалют и технологии блокчейн использующих протоколы консенсуса для операций.
Как видите примеров много и используются они в довольно популярных технологиях.
Отличный материал для погружения в эту довольно обьёмную тему это Raft - Understandable Distributed Consensus - интерактивный гайд с анимациями, который шаг за шагом посвятит вас в основные этапы работы алгоритма на примерах.
https://thesecretlivesofdata.com/raft/
P.S. Расскажите о своем опыте работы с алгоритмами консенсуса? Неважно по работе или в пет проджектах?
Ребята, это была жесть. В этом году меня в ШАДе не будет?
Слишком сложно для меня, если с программированием я что то смог наковырять то математические задачки мне не поддались. Нужно больше готовиться. Наскоком не получилось.
Что происходит при старте терминала?
В процессе работы над плейбуком из прошлого поста мне волей и не волей пришлось погрузиться глубже в то как именно происходит установка утилит, какие файлы редактируются и какие переменные окружения проставляются.
Да, я знал со времен работы на Windows что есть магическая переменная PATH которая отвечает за поиск по набору директорий любой вводимой команды.
Да, я знал что например в домашней директории на Linux есть файлы занимающиеся настройкой переменных окружения.
Но вот в процессе создания плейбука я заметил что в некоторых случаях эти файлы остаются нетронутыми, но при этом всё работает, магия не правда ли?
Поэтому сегодня я поделюсь с вами заметкой в которой описаны все файлы участвующие при старте терминала помимо тех что лежат в домашней директории (bashrc, bash_profile)?
Советую посмотреть, особенно если при установке утилит ловите себя на мысли что не понимаете зачем просят что либо редактировать (в 99% это именно файлы из статьи)?
Ну и заодно можете пройтись по своей локальной машине и узнать сколько всего интересного делает ОС перед тем как показать заветный терминал.
P.S. Про переменную PATH https://www.ibm.com/docs/fi/aix/7.1?topic=accounts-path-environment-variable
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago