CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
21.11.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки

Все против всех.
64 vs 32, Intel vs AMD, tmpfs vs ext3

CITKIT.ru

Страницы: 1 :: 2 :: 3 :: ... :: 6 :: следующая

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

Введение с поросячьим подтекстом

От автора: слабонервным рекомендуется введение пропустить.

История начинается с того, что у широких масс прогрессивных трудящихся всего мира появилась настоятельная потребность в 64-битных процессорах, каковая немедленно была удовлетворена производителями. Первой на это поле вышла AMD, назвав свою технологию добавления к стандартному набору команд i386 (или, иначе говоря, x86) 64-битных инструкций незамысловато — AMD64.

Правда, Intel уже давно имела собственный 64-битный процессор (IA-64, в девичестве Merced), не способный, однако, выполнять программы, написанные в расчете на i386 (а собственных программ под него почти не писали). И потому распространения за пределами серверного сегмента этот процессор не получил. Однако, дабы не отстать от конкурента, Intel тоже создала свой x86-совместимый 64-битный процессор, прикрутив к нему AMD'ешный набор инструкций, и назвав эту технологию собственным именем — EM64T или x86_64 (для отличия от истинно 64-битного Merced'а, IA-64).

Как уже было сказано, 64-битные настольные процессоры возникли как реакция на потребность пользователей, каковую, по теории профессора Выбегаллы, следует определить как материальную. И, опять же в подтверждение блестящего тезиса Амвросий Амбруазовича, стоило пользователям свою матпотребность в 64-битном компьютере удовлетворить, как у них в соответствии развилась потребность духовная — в 64-битных операционных системах. Ибо что еще с компьютером можно делать, кроме как устанавливать на него разные операционки?

На духпотребность пользователей разработчики софта откликнулись незамедлительно — выпуском 64-битных версий Windows, Net- и OpenBSD (говорят, что процесс портирования NetBSD на архитектуру AMD64 — в силу исторического приоритета будем называть её так, — занял около суток), несколько позднее FreeBSD.

Разумеется, и Linux не остался "на обочине культурного процесса": каждый уважающий себя дистрибутив этой ОС из числа распространённых счёл своим долгом обзавестись 64-битной версией. А некоторые сделали себе имя на портировании 32-битной системы на 64-битную архитектуру. Лишь немногие дистрибутивы (в первую очередь Slackware и большинство ее клонов) проявили консерватизм и нежелание считаться с духпотребностями пользователей, упрямо сохраняя верность классической 32-разрядности.

Однако так ли они были неправы в своей приверженности старине в эпоху, когда 32-битные процессоры были сметены с прилавков магазинов маркетинговым ураганом? Это и есть первый вопрос, на который призваны ответить мои заметки.

Матпотребности простого настольного юзера не ограничились 64-битными вычислениями — не менее необходима была для него и многопроцессорность, особенно реализованная в виде двух (и более) ядер в едином корпусе. И здесь первопроходцем оказалась компания AMD, выпустив двухяъдерные (и к тому же 64-битные) процессоры AMD64 X2. Компания Intel не замедлила нанести ответный удар, представив собственные "камни" о двух ядрах, Intel Core 2 Duo.

Дальше — больше, в дело вступила четырехствольная артиллерия, сначала от Intel — Core 2 Quad, а затем и от AMD — под скромным именем Phenom, причем последний процессор существует даже в "трехголовом" варианте.

Конечно, многопроцессорные машины существовали очень давно, но использовались они исключительно как сервера и специализированные рабочие станции, не в последнюю очередь — вследствие своей вполне неприличной цены. AMD64 X2 же и многоядерные вариации от Intel'а сделали многопроцессорность доступной (в том числе и финансово) для тех самых юзерских масс, о благе которых столь неустанно пекутся все гиганты IT-индустрии.

Удовлетворение очередной лузпотребности не вызвало у осестроителей чрезмерного напряжения сил: практически все операционки из категории "всамделишних" в той или иной мере поддерживают симметричную многопроцессорность (SMP) с незапамятных времен. Немало существует и приложений, способных использовать более чем два процессора. Правда, в основном они относятся к категории так называемых профессиональных, но в последнее время пишут и "полулюбительские" программы, извлекающие выгоду из двух "камней".

Так что вторая линия противостояния вырисовывается четко — между продукцией Intel и AMD.

В противостоянии что 32-битных и 64-битных систем, что двухядерных процессоров от разных производителей сравнительное быстродействие определяется посредством тестов. А поскольку в обоих случаях измеряется быстродействие в первую очередь процессоров (точнее, подсистемы процессор плюс память), резонно было бы максимально снизить влияние привходящих обстоятельств. В данном случае в качестве таковых выступают операции, связанные с чтением с дисков и записью на них. И от этих операций желательно избавиться — тем более, что при современных объемах памяти это совсем несложно: достаточно выполнять чисто процессорные тесты во временной файловой системе в оперативной памяти, которая в Linux носит название tmpfs.

"Но живем ведь, говорю, не на облаке". И в реальной жизни есть очень немного задач, которые можно было бы выполнить, не прибегая к дисковым операциям. Поэтому интересно было бы померить, каким образом последние влияют на результаты процессорных тестов. Таким образом, в сюжете наших заметок появляется третья линия противостояния — между операциями в tmpfs и на реальных block device based файловых системах.

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

Участники тестирования

В качестве предметов для издевательства выступало две машины — одна на процессоре AMD64 X2, и вторая — на процессоре Intel Core 2 Duo. Конфигурация первой была подробно описана в прошлогодней заметке о двух умах. Особенности второй составили предмет только что размещенной заметки «Две головы от Intel». Поэтому лишь вкратце напомню их характеристики, существенные для нашей темы.

Итак, цвета AMD защищала машина следующей конфигурации:

  • материнская плата ASUS M2NPV-VM на чипсете GF6150+430 MCP от Nvidia;
  • процессор AMD64 X2 6000+ (сокет AM2), с мегабайтным кэшем L2 на каждое ядро, реальная тактовая частота — 3 Ггц;
  • память DDR2, PC-6400, Samsung Original, две планки по 1 Гбайт каждая, установлены для работы в двухканальном режиме;
  • два винчестера SATA от Samsung, 7400 об./мин., 160 и 120 Мбайт, оба с кэшем 8 Мбайт.

Под флагом Intel в борьбу вступила такая "тачка":

  • материнская плата ASUS P5E-VM SE, на Intel'овском же чипсете G35, юный мост ICH9;
  • процессор Intel Core 2 Duo E8400 (сокет LGA775), ядро Wolfdale (45 нм), суммарный кэш 6 Мбайт, тактовая частота — 3 ГГц;
  • память DDR2, PC-6400, Corsair XMS2 С5, две планки по 2 Гбайт каждая, установлены для работы в двухканальном режиме;
  • два винчестера SATA от Samsung, 7400 об./мин., первый — 500 Гбайт, 16 Мбайт кэша; второй — 160 Мбайт, кэш 8 Мбайт (тот же самый, что ранее стоял в первой машине).

На машине с процессором AMD были установлены Zenwalk 5.2 current (то есть текущая стабильная версия) — первой системой, и Slamd64 12.1 — второй, обе — на первом, сташестидесятигигабайтном, винчестере. На котором, кроме того, имелся раздел 4 Гбайт, специально предназначенный для тестирования. Он нес на себе файловую систему Ext3fs, смонтированную в режиме ordered с опциями noauto,user. Эта файловая система монтировалась в процессе тестирования (из тестового сценария) в каталог ~/ptest.

Прочее (120 Гбайт) дисковое пространство первого "харда" вместе со вторым винчестером было объединено в программный RAID нулевого уровня, с файловой системой ReiserFS, смонтированной в каталог /home/data. Как будет видно из дальнейшего, RAID-массив в тестировании не участвовал.

На машине с процессором Intel первой системой был установлен Zenwalk 5.2 current, обновленный посредством

$ netpkg upgrade

до состояния snapshot, то есть разрабатываемой версии.

Поскольку винчестер в 160 Гбайт был перенесен с первой машины без изменений, Slamd64 на второй машине также имел место быть, став второй системой на Intel-машине.

Кроме block device based, на обеих машинах в тестировании задействовалась файловая система в оперативной памяти, подмонтируемая при старте такой строкой в файле /etc/fstab:

tmpfs	/tmp	tmpfs	noatime		0	0

Поскольку на машинах — участницах тестирования, было установлено разное количество оперативной памяти, для уравнения шансов Intel-машина запускалась с параметром ядра mem=2016M. Почему именно столько? Потому что на AMD-машине 32 Мбайт системной памяти было отведено под буфер видеокарты. На Intel-машине под это дело выкроилось аж 256 Мбайт, однако очевидно, что они лежали за пределами доступной для ОС памяти.

Возникает вопрос — насколько правомерно сравнительное тестирование, проведенное для разных дистрибутивов на не вполне идентичном "железе"? Отвечаю: по моему скромному мнению, вполне правомерно. Ибо Zenwalk являет собой достаточно точный клон Slackware, а Slamd64 — просто результат портирования последней на машины с процессорами, поддерживающими 64-битные инструкции.

Впрочем, о близости систем (с учетом различия процессоров) можно судить по выводу команды

$ uname -a

для всех программно-аппаратных комбинаций:

Slamd64 12.1, AMD64x2 6000
Linux alv 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64 x86_64 x86_64 GNU/Linux

Zenwalk 5.2, AMD64x2 6000 Linux alv 2.6.24.5 #1 SMP Sun May 4 16:51:34 BST 2008 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux

Zenwalk 5.2, Intel(R) Core(TM)2 Duo, 3.00GHz Linux zenwalk 2.6.25.10 #1 SMP PREEMPT Fri Jul 11 20:25:26 CEST 2008 i686 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz GenuineIntel GNU/Linux

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

Условия тестирования

Для тестирования мной были применены программы и данные, используемые уже несколько лет, начиная с первых моих экспериментов в этой области (см. http://posix.ru/system/, раздел Тесты). Правда, с некоторыми коррективами, не меняющими качественной картины, но не дающей возможности прямого количественного сравнения с ранее проыеденными измерениями.

Тестовый набор включал:

  • разворачивание архива дерева портежей Gentoo — файл portage-20080706.tar.bz2 объемом 31,1 Мбайт, — посредством команды

    tar xjf portage-20080706.tar.bz2

  • обратное архивирование полученного дерева с компрессией bzip2:

    tar cjf portage.tar.bz2 path2/portage

  • обратное архивирование того же дерева с компрессией gzip:

    tar czf portage.tar.gz path2/portage

  • кодирование пяти wav-файлов общим объемом 231 Мбайт в формат flac командой

    flac -best path2/*.wav

  • кодирование тех же пяти wav-файлов в формат ogg командой

    oggenc path2/*.wav -q 10

Тестирование выполнялось в "голой" консоли, после старта системы с runlevel 3 — в Slackware и её клонах это загрузка полнофункциональной системы без Иксов.

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

  1. создание каталога /tmp/test и переход в него;
  2. копирование архива и wav-файлов из места их постоянного хранения в /tmp/test;
  3. развертывание и декомпрессия архива tar.bz2;
  4. архивирование и компрессия посредством tar+bzip2;
  5. архивирование и компрессия посредством tar+gzip;
  6. кодирование wav-файлов командой flac;
    для пунктов 3-6 время начала и окончания действия, замеряемое командой date до и после операции, перенаправлялось в результирующий файл командой cat ... >> ...
  7. удаление всех промежуточных продуктов тестирования командой rm -Rf /tmp/test.

Второй этап — определение скорости выполнения тех же операций на реальной файловой системе, — осуществлялся точно также. С тем лишь отличием, что каждый блок действий начинался монтированием тестового раздела в каталог ~/ptest, а завершался — его отмонтированием. Как следует из приведенной выше опции монтирования в файле /etc/fstab, все тесты проводились с правами пользователя.

Каждый блок операций выполнялся три раза, между которыми происходила очистка тестового каталога в tmpfs или размонтирование тестовой файловой системы ext3fs. Собственно, сначала я разогнался и начал делать по пять замеров для каждого блока, но быстро понял, что это бессмысленно ввиду почти полной идентичности результатов, после чего перешел на "трехразовое питание". Чтобы в этом убедиться, достаточно заглянуть в таблицу.

Таблица 1
Тест ## Сек.
untar 1 15
2 14
3 15
4 15
5 14
Среднее 14,5
tar+bzip2 1 52
2 53
3 53
4 52
5 53
Среднее 52,5
tar+gzip 1 9
2 9
3 9
4 9
5 9
Среднее 9,0

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

Далее будут рассмотрены собственно результаты тестирования. Они сгруппированы в соответствии с тремя линиями противостояния:

Далее мы рассмотрим все три линии противостояния в свете результатов тестирования, проведенного по описанной выше методике:

после чего обсудим результаты.



Страницы: 1 :: 2 :: 3 :: ... :: 6 :: следующая

Комментарии

Страницы комментариев: 1 :: 2 :: 3 :: ... :: 6 :: следующая

аноним, Fri Dec 18 20:00:14 2009:
Дистр. openSUSE11.x

Это сраная бета проприетаршины! Как же дух свободы и свободного секса? Продались Novell'у ?
САЕшник, Fri Dec 18 19:41:41 2009:
Дистр. openSUSE11.x
аноним, Sat Sep 12 12:22:26 2009:
Ребята, у меня ноут PentiumIII 500мгц.
ОЗУ 160мб, ХДД 7гб.
Стоит ВинХР. Работает, музыку, видео крутит. В интернет ходит. Но антивирусники уже не поставить...
Подскажите ПЛЗ, что сюда можно из линуксов впаять, чтобы работало не хуже но чтобы:
корректно работал тачпад (полосы прокрутки) спецклавиши (под виндой стоит прога MKey) + можно было общаться с мобилой по ИК порту (Сименс и Нокия) (а при необходимости GPRS Internet) + ADSL интернет через модем Zyxel который висит на USB порту и этот же модем еще у меня работает как хаб в локальной сети. Т.е. ноут по USB соединен с модемом, с этим же модемом соединен стационарный комп по Ethernet образуя таким образом локальную сеть + интернет-шлюз.
Есть какие-нибудь идеи?
аноним, Sat Sep 12 09:37:19 2009:
>для пунктов 3-6 время начала и окончания действия, замеряемое командой date до и после операции, перенаправлялось в результирующий файл команд....

зачем date? для этого надо пользоваться time
аноним, Fri Sep 11 21:01:26 2009:
аноним, пятница, 11 сентября 2009 г. 20:51:19:
Винда - параша! Победа будет наша!

+10000000000000000000000000000000000000000000
аноним, Fri Sep 11 20:51:19 2009:
аноним, пятница, 11 сентября 2009 г. 20:46:25:
энтузиазм трех мушкетеров греет

Один за всех! Все за одного!
Винда - параша! Победа будет наша!
аноним, Fri Sep 11 20:46:25 2009:
аноним, пятница, 11 сентября 2009 г. 20:33:35:
А вот и не немножко, хуле, пятница! И тогда без разницы - AMD, Intel, по большому счету. Nemiroff vs Tinkoff намного актуальнее!


малыш, энтузиазм трех мушкетеров греет таких как ты.
аноним, Fri Sep 11 20:33:35 2009:
аноним, пятница, 11 сентября 2009 г. 19:21:40:
- немножко, для аппетита ))

А вот и не немножко, хуле, пятница! И тогда без разницы - AMD, Intel, по большому счету. Nemiroff vs Tinkoff намного актуальнее!
аноним, Fri Sep 11 19:25:05 2009:
аноним, пятница, 11 сентября 2009 г. 19:21:40:
>>> и холодной водкой

Точно! Бля, а как я сам не допёр!
аноним, Fri Sep 11 19:21:40 2009:
аноним, пятница, 11 сентября 2009 г. 19:15:30:
А кто круче: Спайдермен или Бэтмен?
Джейсон или Фредди Крюгер?
Жареная картоха с грибами или отварная с солёными огурцами?

конечно отварная, с селедочкой, маслицем, репчатым лучком и холодной водкой - немножко, для аппетита ))

Страницы комментариев: 1 :: 2 :: 3 :: ... :: 6 :: следующая

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds