Pull to refresh
3
0.3
Send message

Вы неверно измеряете загрузку процессора

Reading time6 min
Views64K
Та метрика, которую мы называем «загрузкой процессора» на самом деле многими людьми понимается не совсем верно. Что же такое «загрузка процессора»? Это то, насколько занят наш процессор? Нет, это не так. Да-да, я говорю о той самой классической загрузке CPU, которую показывают все утилиты анализа производительности — от диспетчера задач Windows до команды top в Linux.

Вот что может означать «процессор загружен сейчас на 90%»? Возможно, вы думаете, что это выглядит как-то так:



А на самом деле это выглядит вот так:



«Работа вхолостую» означает, что процессор способен выполнить некоторые инструкции, но не делает этого, поскольку ожидает чего-то — например, ввода-вывода данных из оперативной памяти. Процентное соотношение реальной и «холостой» работы на рисунке выше — это то, что я вижу изо дня в день в работе реальных приложений на реальных серверах. Есть существенная вероятность, что и ваша программа проводит своё время примерно так же, а вы об этом и не знаете.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments62

О контра- и ковариантных тензорах

Level of difficultyMedium
Reading time56 min
Views830

Записки «чайника», травмированного тензорным исчислением

Тема, заявленная в названии, пожалуй, самая запутанная в тензорном исчислении. Высокоучёные авторы мудрых книг в большинстве случаев ограничиваются только формальными определениями понятий ко- и контравариантности, не опускаясь до подробного пояснения их геометрической и физической сути. Похоже, в этом вопросе они сознательно или бессознательно воспроизводят ситуацию, характерную для квантовой физики: «Не старайтесь понять, просто считайте!». Но если в квантовой физике подобный подход безальтернативен, то в данном случае – вряд ли.

Подзаголовок даже комплиментарен для меня, поскольку в своём восприятии математики я даже не «чайник», а, скорее, «валенок». По этой причине мне очень хорошо понятны проблемы «чайников», с которыми они сталкиваются в попытках постичь математические абстракции. Поэтому материал предназначен не для «продвинутых», они и без меня разберутся, а для… В общем, для таких же, как я, «задвинутых» в математике (только в ней!). При этом предполагается хотя бы «шапочное» знакомство с тензорным исчислением.

Математика остаётся непонятной для многих потому, что нам её объясняют люди, которые понимают её на интуитивном уровне, или, выражаясь более изящно, «на уровне интуитивных образов» [1-7 ≡ Л.1, с. 7]. Нам же, нематематикам, для того, чтобы что-то понять, надо это «что-то» увидеть не в абстрактном («интуитивном»), а в реальном, физически представимом пространстве (по-научному это – «визуализация») или, ещё лучше, поковырять его пальцем (научный термин пока еще не придумали. Открыт приём предложений).

Читать далее
Total votes 11: ↑11 and ↓0+17
Comments4

Строим прокси цепочку с помощью graftcp

Reading time4 min
Views680

Использование цепочек прокси серверов позволяет обойти различные ограничения при доступе к сетевым ресурсам. Для проксирования обычно используют SOCKS или HTTP прокси. Сетевой протокол сеансового уровня SOCKS позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно (незаметно для них) и таким образом использовать сервисы за межсетевыми экранами.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1

Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio

Level of difficultyMedium
Reading time7 min
Views601

В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуровневых деталей. Другими словами, Акторы посылают сообщения друг другу. А то, что Акторы на самом деле работают на очередях сообщений, нам не важно. Это скрыто 'под капотом'

Во время изучения Tokio, я решил написать свой проект для модели Акторов. Как раз низкоуровневая часть Tokio позволила это сделать. Так появилась библиотека Gabriel2.

Примерно 10 месяцев назад у меня получилась первая версия библиотеки. Первым делом я определил типизированную структуру ссылки на Актора:

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Дитя Земли для солнечных панелей: как и где сегодня применяют теллур

Level of difficultyMedium
Reading time6 min
Views734

Мы продолжаем рассказывать о различных химических элементах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о теллуре. 

Читать далее
Total votes 4: ↑3 and ↓1+3
Comments0

Корпоративная культура

Level of difficultyMedium
Reading time16 min
Views383

Социоло́гия (от лат. socius и др.-греч. λόγος) ― наука о совместной жизни групп и сообществ людей. Социологи по-разному подходят к изучению социальной реальности: одни считают, что она состоит из структур, другие рассматривают её как действия и взаимодействия индивидов. 
О предмете, задачах и методах социологии часто велись и продолжаются по сей день дискуссии.  Социологи проводят количественные и качественные исследования социальных структур, институтов, общностей, организаций и движений, таких областей социальной жизни, как повседневное взаимодействие, семья, образование, религия, массмедиа, наука.

 Одна из задач социологии — способствовать самосознанию человека как социального существа и формировать критическое восприятие действительности и социальных ценностей.
Можно перечислить некоторые из социальных (корпоративных) ценностей.

В список обычно включаются такие социальные ценности:
доверие, солидарность, лояльность, оптимизм, инновации, самостоятельность, скорость, креативность, честность, развитие и др.

Социализация — это процесс и результат диалектического взаимодействия личности и общества, вхождение, «внедрение» индивида в общественные структуры посредством выработки социально необходимых качеств. Основными формами социализации личности являются интериоризация и социальная адаптация. Кратко социализацию обозначил один из комментаторов: детсад, школа, вуз, армия или тюрьма с девизом «не верь, не бойся, не проси»

 Цель публикации в первую очередь образовательная, познавательная, популяризация науки, а также стремление привлечь в ряды исследователей, в науку приток новых
молодых умов, вызвать в таких умах стремление к поиску ответов на возникающие вопросы.  Масштабность темы требует ввести разумные ограничения на излагаемый материал после краткого панорамного её рассмотрения.

Читать далее
Total votes 9: ↑1 and ↓8-5
Comments0

Засады многопоточности

Level of difficultyMedium
Reading time8 min
Views1.2K

В данной статье я опишу свои самые свежие и яркие впечатления от многопоточного программирования. Это мои впечатления, мой опыт  и я буду рад, если он будет полезен другим программистам.

В крайней статье я утверждал, что более серьезные проблемы их поджидают в случае взаимодействующих потоков. Но одно  эти проблемы предполагать или даже предсказывать, а другое - столкнуться с ними непосредственно.

Предсказанное сбылось, как говорится, по полной программе. Думаю, что озвученные далее проблемы для кого-то не станут новостью, но будут и те, кто о них не подозревает, как не подозревал и я. А потому захотелось их зафиксировать и поделиться, с чем пришлось столкнуться.  Ну, и рассказать, как я выкрутился, попав в не совсем привычные для меня ситуации (в автоматном программировании, подчеркну, они не возникли бы в принципе).

Итак, создав ранее тест потоков (о нем подробнее см. [1]), гоняя его многократно и в разных режимах, я заметил, что пусть редко, но выскакивают некорректные результаты. В подобных случаях я грешу обычно на себя. А в данном случае тем более, т.к., что там скрывать, имею весьма небольшой опыт использования потоков.

Но в процессе экспериментов обнажились проблемы, которые сложно списать на недостаток опыты. Что-то при этом удалось преодолеть сразу, с чем-то пришлось повозиться, но были и те проблемы, которые не удалось поправить, даже при наличии достаточно большого опыте в программировании вообще.  О последнем, не об опыте, конечно, а о проблемах, и пойдет далее речь... И даже не о проблемах, а о довольно нежданных и негаданных "засадах", возникших на пути освоения многопоточности.

Читать далее
Total votes 8: ↑0 and ↓8-8
Comments46

Максимально точное увеличение разрешения изображений: билинейная аппроксимация

Level of difficultyMedium
Reading time8 min
Views1K

В этом выпуске: улучшение билинейной интерполяции, второй этап сравнения методов апскейлинга с точки зрения наименьшей ошибки, как применять шейдеры к отдельным изображениям, как уменьшить звон на изображении и многое другое...

Продолжаем увеличивать апскейл...
Total votes 6: ↑6 and ↓0+8
Comments3

Кремниевая фотоника: 3D-принтер на чипе

Reading time14 min
Views877


Современный мир богат на технологии, которые многие годы оставались мечтами ученых и существовали лишь в теоретических изложениях. Несмотря на их практическую реализацию, путь совершенствования, как известно, не имеет видимого конца. Есть устройства, которые при появлении на рынке разлетаются как горячие пирожки. К таким относятся и 3D-принтеры, которые претерпели немало изменений с момента своего появления, однако они до сих полагаются на большие и сложные механические системы. Ученые из Массачусетского технологического института (США) создали новый тип 3D-принтера, использующий реконфигурируемые лучи света, вызывающие затвердевание печатного материала. Какие принципы легли в основу разработки, как именно происходит процесс печати, и насколько новый принтер эффективен? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Total votes 4: ↑4 and ↓0+9
Comments1

«Робокоп 2»: падение стального рыцаря

Level of difficultyEasy
Reading time9 min
Views4.8K


Назвать «Робокоп» Пола Верховена успешным – значит не сказать ничего. Это было рождение классики кинематографа. А где успех, там и сиквелы. Вот только приключениям Алекса Мёрфи они на пользу не пошли. Сегодня обсудим муки рождения «Робокопа 2» и начало конца целой франшизы.
Читать дальше →
Total votes 21: ↑18 and ↓3+22
Comments13

Collapse OS: операционная система судного дня

Level of difficultyEasy
Reading time9 min
Views7.7K


Порыв ветра принёс удушливый запах гари с радиоактивных пустошей — видать, кочевники опять подожгли сухую траву. Сталкер осмотрелся: столб серого дыма лениво тянулся к небу прямо за терриконом, растворяясь в пелене низких облаков. Нужно спешить. Поудобнее перехватив автомат и поправив на поясе флягу с водой, он шагнул в густую тень руин, оставшихся от старого торгового центра. Денёк сегодня выдался неудачным: среди рассыпанного по развалинам хлама отыскалась лишь одна компьютерная плата, да и та оказалась изрядно оплавленной и закопчённой, словно душа грешника, каким-то чудом вырвавшаяся из преисподней…

Нет, автор не перепутал «Хабр» с «Author.Today» (хотя временами, признаться, я пишу и туда). По всей видимости, примерно так представляет себе недалёкое будущее человечества канадский программист Виржиль Дюпра, создавший на голом энтузиазме «операционную систему судного дня»: Collapse OS. По замыслу разработчика, эта операционка должна запускаться на самом слабом железе, которое можно будет отыскать после глобального катаклизма на дымящихся руинах земной цивилизации. Причём в своём нынешнем виде Collapse OS уже вполне работоспособна — на устройствах, оборудованных процессором Z80. Ну, а поскольку я являюсь счастливым обладателем аж целых двух «Спектрумов», я не мог устоять перед соблазном познакомиться с этой системой поближе. Что ж, давайте представим себе, что конец света уже наступил и посмотрим, с каким софтом нам предстоит иметь дело в столь печальных обстоятельствах. Надевайте противогазы, и в путь. Не отставайте!
Читать дальше →
Total votes 30: ↑30 and ↓0+46
Comments33

Илон Маск в Средневековье: мечты на тему «а что если…»

Reading time5 min
Views975

Привет, Хабр!

Бывало с вами такое, что пытаешься уснуть, но в голову навязчиво лезут мысли? Иногда очень странные мысли, из разряда «а что если бы…». Вот со мной такое частенько случается. В большинстве случаев от них удается отмахаться и благополучно уснуть. Но иногда бывает так, что мысль увлекает настолько, что сна как не бывало. На этот раз встрече с Морфеем препятствовал Илон Маск.

Конечно, не сам Илон, а, несомненно, важный в два часа ночи вопрос: «А что если бы в ходе какого-нибудь научного эксперимента (допустим), товарищ Маск оказался на просторах средневековой Европы?». Ну, знаете, такая вот телепортация в пространстве и времени.

Как бы повел себя наш герой, оказавшись в далеком от сколько-нибудь значимого прогресса времени? Смирился бы с отсутствием интернета и гаджетов? Влился бы в местный социум, решив, что принудительный дауншифтинг — это тоже интересно? Или все-таки принялся бы ломать устои и насаждать науку?

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments24

Временные ряды и ARIMA: Как предсказывать будущее без хрустального шара

Level of difficultyEasy
Reading time4 min
Views1.2K

Что такое временной ряд, модель ARIMA и как к ней подбирать параметры.

Простым словами, временной ряд — это просто последовательность событий, которая как-то зависит от времени. Мы для начала будем считать, что ряд самый простецкий и нас просто есть скачущие туда-сюда точки, которые распределены по временной шкале.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments5

Солитоны. Настольные модели и плоские скирмионы

Level of difficultyHard
Reading time35 min
Views872

Трехмерные модели используют сложный математический аппарат: матрицы Паули или поля из унитарных матриц. К тому же их трудно визуализировать и поэтому они довольно абстрактны. Поэтому в данной статье мы теперь рассмотрим аналогичные, но двумерные и одномерные "настольные модели", которые могут быть реализованы материально. Один из примеров более простой 2D модели — модель Скотта, её вполне можно сконструировать из доступных материалов. Другим примером является магнитный скирмион, который можно наблюдать, например, в микроскопе. Третий пример — модель Эластика Эйлера сделанная из проволоки. Используя более простые модели мы можем развить более интуитивное понимание поведения, стабильности, других сложных концепций топологических солитонов. И хотя эти модели не раскрывают все свойства своих 3D аналогов, они представляют собой более доступную отправную точку для изучения топологических солитонов и развития понимания их свойств.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

Большое тестирование видеокарт для машинного обучения

Level of difficultyEasy
Reading time8 min
Views2.4K

Всем привет! Меня зовут Алексей Рудак и я основатель компании Lingvanex, которая занимается решениями в области машинного перевода и транскрипции речи. Для нашей работы мы постоянно тренируем языковые модели. Наша команда использует десятки разных видеокарт, выбранных под разные задачи: где-то нужна мощная станция DGX, а где-то достаточно старой игровой карты типа RTX 2080Ti.  Выбор оптимальной конфигурации GPU сэкономит вам не только время на тренировку, но и деньги.

Интересно то, что в интернете довольно мало статей с тестами GPU именно для скорости тренировки языковых моделей. В основном встречаются только тесты inference. Когда вышел новый чип H100, в отчете NVidia было указано, что при тренировке он быстрее A100 до девяти раз, но для наших задач новая карта оказалась всего на 90% быстрее старой. Для сравнения: у наших облачных провайдеров разница в цене между этими GPU составляла 2 раза, поэтому переходить на новый H100 для экономии денег смысла не было.

В дополнение к этому мы брали на тест станцию DGX, которая состоит из 8 видеокарт A100 80GB и стоит 10 тысяч долларов в месяц. После теста стало ясно что соотношение цена / производительность этой станции нас полностью не устраивает и за эти деньги мы можем взять 66 x RTX 3090, которые в сумме принесут гораздо больше пользы.

Наши языковые модели для перевода имеют до 500 миллионов параметров (в среднем от 100 млн до 300 млн). Возможно, если значительно увеличить кол-во параметров, то соотношение цена / производительность от DGX станет лучше. На данный момент мы не тренируем большие языковые модели, которые могут переводить сразу между всеми языками во всех вариациях, а применяем отдельные языковые модели под каждую языковую пару, например англо-немецкую. Каждая из таких моделей занимает от 120 до 300 Mb.

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments3

Назад в прошлое. Часть 3. Интервью с Кеном Сильверманом, создателем Build. От технических деталей и DN3D до Ion Fury

Level of difficultyHard
Reading time21 min
Views639

Новый день. Новое интервью. Новые 30 вопросов.

Краткая справка об основных действующих лицах:

Ken Silverman - создатель Build, а также ряда иных решений, вроде VOXLAP, на основе которых в последующем были созданы игры в диапазоне от Duke Nukem 3D (1996) и Blood (1997) до Ion Fury (2019), а также Electric Highways (2015) и Voxelstein 3D (2008) в отдельности. Домашняя страница - Ken Silverman's Official Home Page.

Читать далее
Total votes 6: ↑6 and ↓0+7
Comments3

Фазовое состояние мозга и готовность провалиться в неизвестность

Level of difficultyEasy
Reading time3 min
Views2K

Может кто еще помнит сериал «Грань», в котором Дэнетор накачивался ЛСД, держал в лаборатории коров и путешествовал между параллельными вселенными. Так уж сложилось, что реальность предлагает теории, куда более смелые. Новое открытие описывает наше состояние мозга, как «застывшее в точке перехода». Но между какими стадиями находится эта точка?

Читать далее
Total votes 9: ↑0 and ↓9-9
Comments5

Ещё о красоте в простой формуле

Level of difficultyMedium
Reading time7 min
Views3.9K

Обсуждение недавно опубликованной статьи натолкнуло меня на мысль написать свою программу, генерирующую последовательности изображений с анимацией фракталов. Прилагается программа с исходным кодом, примеры изображений и видео, полученное из последовательности изображений.

Читать далее
Total votes 11: ↑11 and ↓0+14
Comments11

Полная ×○□△ — поиск наилучшего прохождения уровня в ритм-игре алгоритмическим путём

Level of difficultyMedium
Reading time23 min
Views2.3K

КДПВ за авторством @uncleinuyasha

У каждого из нас помимо хобби есть ещё и "времяпрепровождение" — как раз для тех случаев, когда времени на руках оказывается слишком много и надо бы его проводить куда подальше.

В моём случае таким занятием ещё со времён актуальности PSP стала ритм-игра под названием "Project DIVA". Базовая концепция максимально простая — на экране появляются мишени, к которым летят иконки клавиш, оные и нужно нажимать в ритм песни.

Вскоре после переезда в Японию я узнал, что есть куда более серьёзная версия этой игры — Project DIVA Arcade. Однако и некоторые игровые механики в ней существенно отличаются от её карманного прородителя. Именно они среди прочего и делают эту игру уникальной — возможно, единственной ритм-игрой "с открытой концовкой".

Давайте же разберём правила игры, создадим имитационную модель игрового процесса и посмотрим, можно ли получить преимущество в игре путём вычислений, или же уже всё посчитано до нас :-)

Читать далее
Total votes 39: ↑39 and ↓0+53
Comments1

Могут ли KAN справляться с задачами компьютерного зрения?

Level of difficultyMedium
Reading time10 min
Views1.4K

Недавняя статья об новой архитектуре нейронных сетей на основе теоремы Колмогорова-Арнольда (KAN Kolmogorov-Arnold Networks) вызвала большой ажиотаж: уже было представлено множество вариаций того, как правильно создавать такие сети, ведутся горячие дебаты, а рабочая схема и имеет ли право на жизнь и многое другое. Цель этой статьи постараться ответить на простой вопрос: могут ли KAN справляться с компьютерным зрением?

Читать далее
Total votes 15: ↑15 and ↓0+21
Comments2
1
23 ...

Information

Rating
1,993-rd
Registered
Activity