Pull to refresh
44
0
Вадим Румянцев @vadimr

Разработчик аппаратно-программных комплексов

Send message

Негативное свойство отрицательных чисел

Level of difficulty Easy
Reading time 2 min
Views 4.4K

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

Читать далее
Total votes 9: ↑7 and ↓2 +5
Comments 19

Повышаем быстродействие расчётов на примере медианного фильтра

Level of difficulty Medium
Reading time 6 min
Views 1.4K
Рассмотрим некоторые приёмы повышения быстродействия вычислительных программ на примере алгоритма медианного фильтра.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 1

Операции, функции и специальные формы в императивных языках программирования

Level of difficulty Easy
Reading time 4 min
Views 1.7K

В этой статье мы разъясним довольно тонкий семантический вопрос, который часто остаётся за кадром при изучении программирования на императивных языках.

Если читатель владеет одним из языков семейства Лисп (Common Lisp, Scheme, Clojure и т.д.), а в особенности если читал SICP, то ему излагаемый вопрос не в новинку, и он может пропустить эту статью. Если читатель использует Хаскель или другой язык, основанный на модели ленивых вычислений, то там всё немножко по-другому, и впрямую изложение материала в данной статье к таким языкам не относится, хотя фундаментальные принципы в основе лежат те же.

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 38

Принят новый стандарт Fortran 2023

Level of difficulty Medium
Reading time 5 min
Views 9.4K
В конце 2023 года был принят очередной стандарт языка Фортран, ISO/IEC 1539-1:2023. Programming languages. Fortran (в просторечии – Fortran 2023).
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 21

Настройка распределённого выполнения параллельных программ в кластере

Level of difficulty Medium
Reading time 9 min
Views 1.5K

В предыдущей публикации Фортран: пишем параллельные программы для суперкомпьютера мы рассмотрели общий подход к программированию в массивно-паралллельной архитектуре (MPP) с использованием языка Фортран-2018 и дали пример запуска массивно-параллельной программы на одной машине с многоядерным процессором. В настоящей статье мы рассмотрим запуск массивно-параллельных программ на кластере высокой производительности (HPC) или кластере высокой готовности (HA). Код в данной статье пишется на языке Фортран-2018 с использованием комассивов (coarrays) и преобразуется компилятором Фортрана в вызовы фреймворка MPI.

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

Об одной тестовой задаче

Level of difficulty Medium
Reading time 5 min
Views 8.2K

Недавно Youtube (*сайт, нарушающий закон РФ) порекомендовал мне любопытный с различных сторон видеоролик. В нём рассматривалась задача, которую, по словам автора, задают на собеседовании при приёме на работу в Apple.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 147

Язык PL/I: десять тонн синтаксического сахара

Level of difficulty Easy
Reading time 17 min
Views 14K

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

Читать далее
Total votes 36: ↑35 and ↓1 +34
Comments 53

Фортран: пишем параллельные программы для суперкомпьютера

Level of difficulty Medium
Reading time 10 min
Views 2.9K

В первой части статьи мы рассмотрели написание на современном Фортране простой программы, реализующей клеточный автомат "Жизнь", в виде классического последовательного кода (SISD), матричных операций (SIMD) и параллельных конструкций SMP (SIMD с частью функций MIMD). Сейчас мы будем рассматривать использование конструкций Фортрана для программирования массивно-параллельных архитектур (MPP), к которым, в частности, относятся современные суперкомпьютеры. Такие архитектуры реализуют классическую схему MIMD.

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

Фортран: пишем параллельные программы

Level of difficulty Medium
Reading time 9 min
Views 8.4K

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

Читать далее
Total votes 20: ↑20 and ↓0 +20
Comments 87

К 70-летию Фортрана. Историческая справка. Часть II

Level of difficulty Easy
Reading time 10 min
Views 3.7K

Как отмечалось в первой части, условно эволюцию языка Фортран можно разделить на классический период (Фортран I – Фортран IV), когда ведущую роль в разработке занимала фирма IBM, язык абсолютно доминировал среди программистов (особенно в США) и сохранял значительную преемственность с самой первой версией; и современный период (Фортран 90 – Фортран 2018), когда разработка велась в основном ISO, синтаксис и семантика языка были значительно осовременены, но, несмотря на это, язык был уже вытеснен на периферию инструментальных средств. Версия Фортран 77 занимает промежуточное положение между этими периодами.

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 13

К 70-летию Фортрана. Историческая справка. Часть I

Level of difficulty Easy
Reading time 13 min
Views 7K

В 2023 году исполняется 70 лет с того момента, как Джон Бэкус, сотрудник IBM, убедил начальство утвердить проект первого в мире языка программирования высокого уровня.

Читать далее
Total votes 30: ↑29 and ↓1 +28
Comments 34

SLES 15 и невозможность загрузки ядра Xen

Level of difficulty Easy
Reading time 2 min
Views 1.8K

Пришлось столкнуться с забавной ошибкой, по которой сходу не удалось найти никакой информации в интернете.

Проблема по первичным признакам такая. Грузится SUSE Linux Enterprise Server 15, доходит до меню загрузки GRUB. Далее, если выбрать обычное ядро, всё нормально, а если выбрать ядро для гипервизора Xen, то экран моргает и мы опять возвращаемся в меню. Запустить Xen невозможно никак.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 8

Рекурсивное название небольшой статьи о рекурсии

Level of difficulty Medium
Reading time 7 min
Views 5.2K

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

Читать далее
Total votes 6: ↑3 and ↓3 0
Comments 46

Apple Mac и причудливые устройства. LTO, SAS, Fibre Channel, eSATA

Reading time 11 min
Views 4.5K
Темой настоящей статьи является подключение к Маку внешних устройств по интерфейсам SAS, Fibre Channel (FC), eSATA. Сразу оговоримся, что для решения задачи доступа к таким устройствам существует путь здорового человека: собрать дешёвый PC, воткнуть туда карту контроллера HBA SAS или FC (например, простейший адаптер LSI), подключить к этому контроллеру свои устройства, установить на PC любой линукс и работать с Мака через сеть. Но это банально и неинтересно. Мы пойдём путём хардкора и будем подключать свои устройства непосредственно к Маку.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 10

Севастополь на Байкале и другие чудеса природы

Reading time 6 min
Views 8.5K
Благодаря исключительной любезности ОАО «Т-платформы» и АО «НПО «РусБИТех», нам удалость получить на тестирование опытный образец рабочей станции «Таволга Терминал TP-T22BT» на базе процессора Байкал-Т1 и рабочую версию дистрибутива ОС Astra Linux Special Edition релиза «Севастополь» для неё.
Читать дальше →
Total votes 29: ↑23 and ↓6 +17
Comments 47

К вопросу реализации персистентных процессов в управляющих системах реального времени (часть 3)

Reading time 5 min
Views 1.7K
Окончание статьи.

Перейти к части 1
Перейти к части 2

4. Системные сервисы и операционные среды

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

Читать дальше →
Total votes 2: ↑1 and ↓1 0
Comments 2

К вопросу реализации персистентных процессов в управляющих системах реального времени (часть 2)

Reading time 6 min
Views 3.5K
Продолжение статьи.

Начало: часть 1

3. Аппаратура и встроенные программы

Данный уровень реализации системы управления характеризуется очень большой свободой выбора для разработчика. Поскольку мы выше договорились не рассматривать в данной статье специализированные аппаратные решения, ограничимся серийной аппаратурой общего назначения.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 2

К вопросу реализации персистентных процессов в управляющих системах реального времени (часть 1)

Reading time 6 min
Views 6.6K
В последнее время очередным модным термином в информационных технологиях стала “персистентность”. Много статей публикуется о персистентных данных, dzavalishin разрабатывает целую персистентную операционную систему, поделимся и мы для разнообразия материалами недавно сделанного доклада о персистентных процессах.

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

В статье проводится классификация основных уровней реализации функций отказоустойчивой системы управления, рассмотрение характерных для данных уровней отказов и исследование конкретных технических решений, применяемых на каждом уровне для обеспечения персистентности.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 2

Длительное архивное хранение данных, или Как посмотреть селфи моей прабабушки?

Reading time 7 min
Views 27K
Пожалуй, мало найдётся в вычислительной технике областей, привлекающих всеобщее внимание, и, вместе с тем, окружённых таким количеством мифов и недопонимания, как длительное архивное хранение данных. Как человек, сталкивавшийся в своей профессиональной практике с актуализацией данных многолетней давности и с организацией долговременных архивов, рискну также высказаться на этот счёт.

Краткое резюме для тех, кому лень читать всю статью: серебряной пули нет.

Для тех, кому интересно более детальное обсуждение вопроса, предназначен дальнейший текст.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 78

Опыт обеспечения надёжности вычислительной техники при продолжительной эксплуатации

Reading time 4 min
Views 9.3K
Заканчивается 10-летие эксплуатации малой серии сконструированных под моим руководством компьютеризированных систем, и можно, не претендуя на всеобщность выводов, тем не менее, по случаю юбилея, подвести некоторые итоги в части надёжности работы вычислительной техники на продолжительных интервалах времени.
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 9
1

Information

Rating
5,063-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Specialist
Lead