Просто еще один рабочий день линуксового админа
И ссылка на скачивание в хорошем разрешении, на случай большого желания распечатать этот постер https://anonfiles.com/n9a7bc27yd/28BFD430-0A24-446C-985B-D41...
На случай недоступности первого линка - http://d.zaix.ru/uX33.png
Приключение Hsil. Попытка понять как работать с библиотеками №2
И как я писал ранее, у меня будет все написано на питоне и начну с асинхронного логирования.
Можно просто направлять данные на elk, так как я установил его сервак.
Да, но нет. Толи я тупой(да), толи еще что-то, но работает это не всегда. Поэтому я буду просто записывать логи в файл, а там далее что-то придумаем.
Питон версии 3.10.4. Качаю нужные библиотеки:
pip install aiologger[aiofiles] aiofile pytz uvloop
Копирую код из документации и...
Не так быстро я хотел переходить на линукс, ну да ладно.
Работает! а теперь попытка добавить немного от себя.
Выглядит сносно, и теперь логи храняться в logs/. Весь код тут
Логи есть, займусь написанием бота.
используемые библиотеки:
pip install ujson aiohttp[speedups]
pip install pip install -U --pre aiogram
Да, я буду использовать бету aiogram 3.x
Копируем код, вставляем свой токен (телеграмм @botfather) и
Работает. Займусь ка регистрацией пользователя в бд... В следуйщий раз.
После одной бутылочки вы ничего не будете помнить, даже своё имя
IBM Power - личное мнение (часть 2а)
спасибо подписчикам за доверие и за терпение. лето, дача, сад и огород были важнее. что поспособствовало обрастанию темы подробностями. интересны ли они только мне, решать читателям.
1. почему IBM Power и чем эти процессоры выделились
2. особености ввода-вывода серверов на основе Power
- 2а. POWER, POWER2
- ...
3. как работают LPar-ы, или в чем преимущества Power Hypervisor + HMC
4. VIOS или не VIOS, вот в чём вопрос...
5. AIX, устаревший UNIX, или неувядающий
хороший процессор всего лишь часть производительной ЭВМ. без хорошей памяти и без быстрого доступа к устройствам ввода-вывода не обойтись. мода в 80е была на микропроцессоры, впихивание всех блоков процессора в одной микросхеме. в погоне за дешевизной уменьшали корпус совмещением адресной шины и шины данных. но основные продукты IBM всегда были сложными, а в погоне за высокой производительностью и дорогими. тем более, что люди, привыкшие к процессорам размером в шкаф и ЭВМ размером в спортивный зал, ограничивать себя в производительности не привыкли. поэтому с целью выжать как можно больше производительности шина наоборот расширяется. вводя одновременное выполнение нескольких комманд, нужно все эти команды загрузить. тем более, что операнды комманд тоже нужно загрузить.
первое поколение IBM POWER позволяло одновременное выполнение одной команды загрузки/сохранения/перехода, одной целочисленной команды и одной команды с плавающей запятой. каждая по 32 бит, значит нужны не менее 96 битов для загрузки трех команд из памяти. поэтому шина доступа к памяти сделали шириной в четыре слова, или 128 битов. на схеме это четыре блока кеша данных (data-cache unit / DCU), 32 битов каждый.
на каждой плате четыре пары 32-битовых планок памяти, что позволяет чередованием достичь более высокой скорости доступа к данным. 64-битовые платы памяти нужно устанавливать попарно.
знакомая хитрость, которой пользовались и пользуются все производители сложных микросхем: часть отбракованных на производстве микросхем можно вернуть в строй, понизив тактовую частоту или выключая неработающие блоки. другие удешевляют, жертвуя параметрами. многим знакомы 16-битовые процессоры Intel 8088/80188 с 8-битовой иной данных, или 32-битовые Motorola 68000 и Intel 80386SX с их 16-битовой шиной. процессоры POWER не исключение, существует упрощенный вариант процессора с выполнительными блоками пониженной тактовой частоты и двумя блоками кеша. в них шина к памяти 64 бит и платы памяти можно устанавливать поштучно.
например из первых моделей POWERserver 320 и POWERserver 520 работали на 20 МГц, включали только 32 килобайт кеша, шина к памяти была 64-битовой и оснащались одной картой памяти на 8 MB. зато модели POWERserver 530 и POWERserver 540 работали на 25 и 30 МГц соответственно, включали 64 килобайт кеша, имели 128-битовую шину, а объем памяти начинался с 16 MB (2х8MB) и 64 MB (2x32MB).
доступ к устройствам ввода-вывода осуществляется через отдельную шину System Input/Output (SIO). о ней очень мало известно, но она 64-битовая. последнее приводило немало людей к заблуждению, что это 64-битовая шина MicroChannel, хотя между ними сидит Input/Output Channel Controller (IOCC). предположительно работала на частоте процессора.
шина MCA позволяет обмен 64-битовыми двойными словами через 32-битовую шину при помощи "мультиплексирования". о последнем тоже мало что известно и даже служители IBM порой пишут невероятные вещи. догадываясь по скудным данным в открытом доступе, "мультиплексирование" проводит обмен второго 32-битового слова через линии адреса. таким образом некоторые платы линейки RS/6000 могли достичь теоретический максимум в 80 MB/s, что в серверах PS/2 ограничено до 40 MB/s. встречал упоминания, что на практике можно было достичь около 77 MB/s при обменах блоками в 4 килобайт. все это при частоте шины в 10 МГц. теоретически при частоте в 20 МГц потолок скорости 160 MB/s, но не знаю был ли когда-либо достигнут. жадность IBM проиграла PCI.
также очень мало известно о Serial Optical Channel Converter (SOCC), что появился годом позже на серверах 500 серии и 900 серии. в открытом доступе есть упоминания, что скорость каждого из двух оптических портов была 220 Мбит/с, что в те времена было вдвое быстрее самого быстрого наличного сетевого стандарта FDDI. устройства поддерживают связь точка-точка между машинами, но IBM указывает, что можно купить коммутатор у партнера. операционная система AIX поддерживает связь по протоколу TCP/IP через Serial Optical Link.
с улучшением технологии изготовления микросхем появляются некоторые улучшения производительности за счет повышения тактовой частоты. за этим можно подозревать связанную с частотой процессора скорость шины SIO, но потверждения тем подозрениям вряд ли удастся найти. процессоры POWER работали на частотах 20 МГц, 25 МГц и 30 МГц. первое улучшение (POWER+) достигло частоты в 25 МГц, 33 МГц и 41 МГц. второе улучшение (POWER++) дало 25 МГц, 33 МГц, 41 МГц, 50 МГц и 62,5 МГц. на таких относительно высоких частотах задержка доступа к памяти уже является основным узким местом. это приводит к замене плат памяти на новых моделях.
машины POWERserver 970 и POWERserver 980 добавляют второй IOCC на шине SIO, что дает вторую шину MicroChannel (2x 80 MB/s) и еще два порта SOCC.
на смену первому поколению приходит второе. для дальнейшего повышения производительности повышается суперскалярность. в процессорах POWER2 уже два АЛУ и два блока вычислении с плавающей запятой. их нужно запитывать и шина к памяти расширяется до 256 бит, а карты памяти лучше добавлять группами по четыре. хотя возможность установить всего лишь две карты памяти предусмотрена, но это сужает шину до 128 бит с потерей производительности.
вторая шина MicroChannel в модели POWERserver 990 уже не добавляется по заказу, а установлена штатно.
(продолжение следует...)
IBM Power - личное мнение (часть 1)
так уж сложилось, что знаю всю линейку серверов IBM Power, от POWER (тогда это было аббревиатурой) до Power9 (уже какбы обыденное имя). более того, знаю многих смежных продуктов, применяемые на эту технику или созданных на основе Power. прочитал пафосный материал, где автор по сути прошелся говнометом по тому, что не знает и не понимает. ниже наброски тезисов, что возможно никогда не увидят развернутого описания, но вдруг...
1. почему IBM Power и чем эти процессоры выделились
2. особености ввода-вывода серверов на основе Power
3. как работают LPar-ы, или в чем преимущества Power Hypervisor + HMC
4. VIOS или не VIOS, вот в чём вопрос...
5. AIX, устаревший UNIX, или неувядающий
те, кто принимаете знания от конкретного к абстрактному, читайте в порядке нарастания (bottom-up build). кто понимает сперва абстракции и потом наполняет их деталями, читайте с конца (top-to-bottom).
1. почему IBM Power и чем эти процессоры выделились
во второй половине 80х инженеры IBM работали над т.наз. суперскалярностью, возможность выполнять одновременно несколько комманд процессора. чужое изобретение наложили на свое, чтобы получить преимущество. в начале 90х выпустили уже сервера с процессорами POWER (Performance Optimized With Enhanced RISC = производительность, улучшенная расширением RISC). это были задатки улучшения конвейера и сейчас многие другие тоже это могут. спорить кто может лучше уже вопрос религии и веры в конкретного производителя. но за 30 лет накоплено много программ, что до сих пор быстрее выполняются на линейке процессоров IBM. для сравнения блаженопочившие сервера HP9000 достигали 64 процессорами производительность 32-процессорного IBM того же года выпуска.
третье поколение процессоров не только ввело 64-битные версии процессоров (первенство за DEC Alpha), но также многопоточность. это возможность одновременного выполнения двух программ, условно называемые "нитями", на одном процессоре. в последующих поколениях его улучшали дальше и до сих пор оказывает влияние на производительность процессоров. да, религиозные войны здесь тоже возможны. у процессоров Sun-Oracle нитей якобы больше, но они по сути не все могут выполняться одновременно (1 из 16, или 2 из 8). у Intel положение до сих пор неутешительное.
четвертое поколение вводит многоядерную архитектуру, распределенный коммутатор для межпроцессорного обмена, возможность подключить к каждому процессору один или больше выделенных каналов к памяти, а также виртуализацию серверов на аппаратном уровне. здесь религиозные войны возможны только в плане количества ядер. конкуренты дойдут до технологии многоканального обмена между процессорами много лет спустя, и до сих пор заметно уступают по уровням задержки и пропускной способности. достойной виртуализацией на аппаратном уровне могли похвастаться только процессоры HP PA-RISC, но их угробили "эффективные менеджеры". ныне линейка Power практически без конкурентов в плане именно аппаратного разделения.
пятое поколение вводит виртуализацию на програмном уровне. заместо громоздкой емуляции древних плат существующими, вводятся с нуля абстрактные виртуальные устройства ввода-вывода. это дает заметный выигрыш в производительности, поскольку меньшее количество инструкции процессора тратятся на абстракцию, чем на емуляцию. религиозные войны скучны: годами позже конкуренты дойдут до этого решения, отставая в качестве, но не сильно.
седьмое поколение вводит масштабируемость системы до очень высоких уровней (65536 восьмиядерных процессоров в рамках одной машины), а восьмое вводит ввод-вывод для сопроцессоров напрямую в междупроцессорную сеть. религиозные войны невозможны, конкурентов тупо нет. подключение одного или двух NVidia GPU через PCI Express невозможно сравнивать с подключением четырех или шести GPU через NVLink наравне с центральным процессором. но про ввод-вывод отдельно...
На фоне постов «какой дебил это делал» тоже вспомнилось...
Дело было лет двенадцать назад. Работал как-то АйТишником в сетевой конторе в небольшом областном городке.
Работы было море и на «енто море» нас был целый отдел. Шеф решил не складывать все яйца в одну корзину и каждому вручил свое направление - плюс еще чье-нибудь для подмены.
В сфере ответственности моего коллеги — Ивана были сервера под никсами. Про один я и хочу рассказать. Вроде бы «5ая скотина». Что там крутилось, я уже и не помню. В целом работы как АйТишника у Ивана практически и не было — сервер привезли с Центра сразу готовым и настроенным. Сеть настроена. Редкие обновления приходили с четкой и подробной инструкцией (из-за хреновых каналов нельзя было накатывать по сети, да и инструкции по безопасности многое запрещали и много чего было просто закрыто для доступа). Ну и, собственно, и я выполнял роль этого самого «специалиста на подхвате». Поскольку я виндузятник, то уровень знания у меня никсов тот еще. Сейчас пытаюсь наверстать упущенное, но речь не об этом.
Собрался Иван в отпуск и передает мне все его «хозяйство».
- Если такая фигня вылезет — вот инструкция. Если вот такая — вот другая инструкция. Если вообще не по инструкции случится - звони в центр. Там есть такой спец — Петров Петр Петрович (имена изменены). Он — шарит, если что поможет. А в ообще системы надежные, стабильные. Будешь курить бамбук.
Курил бамбук я ровно неделю после того, как Иван ушел в отпуск.
Где тонко — там и рвется. Разумеется «выстрелило»!
На выходные вырубало 220 и об этом никто не соизволил сообщить хоть кому-нибудь из нашего отдела. Бесперебойники отработали около 6 часов и вырубились, прихватив с собой сервера. Гром не грянет — мужик не перекрестится. О «павершутах» мы позаботились только после этого случая.
В понедельник приходим — все вырублено нахрен! Стартануло почти все… Кроме одного несчастного сервака.
Ну окай! Инструкция на такой случай и на данную ошибку? Есть! Погнали!
Пункт №1 — есть контакт!
Пункт №2 — нормально!
Пункт №3… Хрен там плавал — ругаться начал многоэтажными матами в несколько строк.
Что делать? Срочно звонить Петру Петровичу.
- Петр Петрович — ЧП! Было отключение электричества — теперь такая ошибка…
Петр Петрович скучным голосом начинает диктовать:
- Делайте пункт один, два, три…
- На три ошибка!
Обреченно вздыхает:
- Давайте по новой…
- Ошибка…
Уже раздраженно:
- Пароль рута дайте!
- [диктую пароль]
Дальше в трубке слышу:
- [щелчки клавиш]… Хм… [снова щелчки клавиш]… чегООО?! ...[щелчки клавиш] Да блядь! Какой мудак это все настраивал?! ...[щелчки клавиш]… Пробуйте!
Делаю все по инструкции и - бинго! Все проходит, последующие пункты так же проскакивают по шаблону и сервак начинает весело мигать приглашением авторизации.
Время идет. Приезжает Иван с отпуска.
Рассказываю ему это все и Ваня начинает ржать!
- Вообще наша площадка была первой и этот сервак настраивал и сюда привозил устанавливать Петр Петрович ЛИЧНО!
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
75 лет Эндрю Таненбауму
Сегодня 75 лет исполняется Эндрю Таненбауму, профессору Амстердамского свободного университета. Большую часть своей жизни он посвятил преподаванию, 5 лет назад прочитал последнюю лекцию в стенах университета и вышел на пенсию.Известен как автор ОС Minix и множества книг по компьютерным наукам, которые многие используют как учебники.