A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

Подробности об использовании Linux ядра в Google

Подробности об использовании Linux ядра в Google


Рубрика: Новости Linux
Метки: |
Просмотров: 5923

На проходившем в октябре саммите разработчиков Linux ядра сотрудником Google был сделан отчёт 17 о том, как Linux используется в этой компании. В Google поддерживается собственное ответвление от Linux ядра, на базе которого каждые 6 месяцев выпускается релизы для внутреннего использования, а раз в 17 месяцев производится синхронизирование со стандартной "ванильной" веткой Linux ядра.

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

Прежде в Google использовалось ядро 2.4.18, в него было добавлено приблизительно 500 тыс. строк кода и бэкпортирована поддержка IPv6. Из-за необходимости качественной поддержки SATA было решено мигрировать на версию 2.6.11. В сегодняшнее время базовым Linux ядром в Google является 2.6.18 и ведется приготовления к внедрению ядра, основанного на версии 2.6.26, в которое добавлено 1208 патчей насчитывающих 300 тыс. строк кода. Приблизительно 25% от объема патчей составляют бэкпортированные новые возможности, 3/4 всех изменений связаны с работой основных подсистем ядра и лишь незначительная доля изменений касается драйверов и поддержки оборудования.

Для Google превыше составление плана процессорного времени, т.к. команда запускает приблизительно 5000 потоков на системах с 16-32 ядрами. Инженеры компании портировали старый блок планирования задач O(1) для запуска с использованием ядра 2.6.26. А для управления виртуальной памятью в указанных процессах применяется методика "Numa-Aware VFS LRU", которая ориентирована на конкретные узлы NUMA и призвана сделать работу с последними максимальной эффективной.

Середи планов развития ядра Google на 2010 год:

* Создание приоритетного доступа к задачам, чувствительным к задержкам, с сохранением тех задач, которые требуются системе;

* RPC-aware CPU scheduling (контроль входящего RPC-трафика для определения того, какой процесс будет "просыпаться" в ответ и нужно ли ему это совершать);

* Idle cycle injection (улучшение управления питанием с целью добавления возможности запуска машин на пороговых значениях, но не за их пределами);

* Улучшение подсистемы управления памятью, в том числе подсчет использования памяти ядром;

* Уменьшение накладных расходов системных вызовов для обеспечения кэширования в ядре и решение ряда других проблем.