Ничего нет внутри у людей, вечно выставляющих все наружу

Пограничник с собакой обходит границу. Вдруг в кустах шум. Пограничник: ...

Mozilla развивает собственную систему машинного перевода
Mon, 21 Oct 2019 07:14:55 +0300

Samsung свернул проект "Linux on DeX"
Sun, 20 Oct 2019 22:54:09 +0300

Ubuntu исполнилось 15 лет
Sun, 20 Oct 2019 19:38:18 +0300

Первый выпуск Pwnagotchi, игрушки для взлома WiFi-сетей
Sun, 20 Oct 2019 08:40:38 +0300

Усиление изоляции между сайтами в Chrome
Fri, 18 Oct 2019 10:25:59 +0300

Компания Cloudflare реализовала модуль для поддержки HTTP/3 в NGINX
Thu, 17 Oct 2019 18:51:04 +0300

В Firefox появятся новые индикаторы безопасности и интерфейс about:config
Thu, 17 Oct 2019 10:40:04 +0300

Дистрибутив Trident переходит с BSD-системы TrueOS на Void Linux
Thu, 17 Oct 2019 07:51:57 +0300

WireGuard и andOTP удалены из Google Play из-за ссылок на приём пожертвований
Wed, 16 Oct 2019 21:21:15 +0300

Arch Linux готовится к применению алгоритма сжатия zstd в pacman
Wed, 16 Oct 2019 20:20:58 +0300

Khronos предоставил возможность бесплатной сертификации открытых драйверов
Wed, 16 Oct 2019 09:23:42 +0300

Mozilla прекращает поддержку поисковых дополнений на базе технологии OpenSearch
Wed, 16 Oct 2019 07:42:45 +0300

Язык Perl 6 переименован в Raku
Tue, 15 Oct 2019 20:47:16 +0300

В Debian 11 предлагается по умолчанию задействовать nftables и firewalld
Mon, 14 Oct 2019 21:53:29 +0300

Недоработка в Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии
Sun, 13 Oct 2019 11:02:13 +0300

Новости OPENNET
Новости

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

Для тестирования подготовлена отдельная распараллеливающая ветка GCC, для задания числа потоков в которой предложен новый параметр "--param=num-threads=N". На начальном этапе реализован вынос в отдельные потоки выполнения межпроцедурных оптимизаций, которые циклично вызываются для каждой функции и хорошо поддаются распаралелливанию. В отдельные потоки вынесены операции GIMPLE, отвечающие за независящие от оборудования оптимизации, оценивающие взаимодействие функций между собой.

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

Для оценки изменения производительности подготовлен тестовый набор, осуществляющий сборку файла gimple-match.c, включающего более 100 тысяч строк кода и 1700 функций. Тесты на системе с CPU Intel Core i5-8250U с 4 физическими ядрами и 8 виртуальными (Hyperthreading) показали снижение времени выполнения оптимизаций Intra Procedural GIMPLE с 7 до 4 секунд при запуске 2 потоков и до 3 секунд при запуске 4 потоков, т.е. достигнуто увеличение скорости рассматриваемого этапа сборки в 1.72 и 2.52 раза, соответственно. Тесты также показали, что использование виртуальных ядер при Hyperthreading не приводит к росту производительности.

Общее время сборки сократилось приблизительно на 10%, но по прогнозам распараллеливаие RTL-оптимизаций позволит добиться более ощутимых результатов, так как данная стадия занимает при компиляции существенно больше времени. Ориентировочно после распараллеливания RTL общее время сборки сократится в 1.61 раза. После этого еще на 5-10% можно будет сократить время сборки за счёт распараллеливания оптимизаций IPA.

9.0294 71.1299 0.5886 63.9542

НОВОСТИ: Выпуск MirageOS 3.6, платформы для запуска приложений поверх гип ... Mon, 21 Oct 2019 12:19:11 +0300

Состоялся релиз проекта MirageOS 3.6, позволяющего формировать операционные системы одного приложения, в которых приложение поставляется как самодостаточный "unikernel", способный выполняться без применения операционных систем, отдельного ядра ОС и каких-либо прослоек. Для разработки приложений применяется язык OCaml. Код проекта распространяется под свободной лицензией ISC.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome