Linux и AMD64

Автор: serg2003 Дата: 08.10.2004 11:14
[www.linux-mag.com]

При сравнении 32 и 64 архитектур мы видим , что в 32-битном регистре может храниться
число 2^32 , в 64-битном - 2^64 . Потребность в больших числах не особенно велика
в текстовых процессорах,веб-броузерах или почтовых серверах , но в таких отраслях ,
как криптования или файловые системы JFS,XFS, скорость при 64-разрядные вычислениях
становится критичной .
Стоит упомянуть о доступной физической памяти . Для 32 - 4 гига , для 64 - уже терабайт.
На атлоне-64 удваивается число регистров . Это увеличение приводит к ускорению работы
программ , поскольку операции в регистре всегда быстрее , чем в памяти . И выполнение
перекомпилированных 64-битных приложений на 64-битной платформе быстрее , чем
выполнение 32-битных приложений на 32-битной ОС .
АМД64 может выполнять параллельно как 32-битные,так и 64-битные программы , аналогично
тому , как интеловские процессоры могут параллельно выполнять как 16-битные , так и 32-битные
программы .
Атлон 64 требует материнскую плату с Socket 754 . Оптероны предназначены для серверных
архитектур и включают варианты с 1 , 2 или 8 мультипроцессорами .
Athlon 64FX идентичен оптерону , но предназначен для рабочих станций . Athlon 64FX и оптероны
используют материнские платы Socket 940 .
Применительно к линуксу , ядро 2.6.4 отдает предпочтение nVidia nForce3 150 , VIA K8T800/ VT8237
Тесты проводились для следующей конфигурации :
Microstar International (MSI) K8T Neo-FSR motherboard (VIA K8T800/VT8237 chipset , Realtek 8110S Gigabit Ethernet chip)
Athlon 64 3000+ CPU
512 MB of Buffalo-brand ECC DDR400 RAM
SiS Xaber 200 (aka SiS 330) video card
Преимущество линукса в том , что относительно легко можно перекомпилировать ядро под 64-битный
процессор .
6 дистрибутивов поддерживают АМД64 :
Fedora Core 1,
Gentoo 2004.0,
Mandrake 9.2,
SuSE 9.0,
Red Hat Enterprise Linux AS,
TurboLinux 8
Автор статьи проверил первые 4 дистрибутива . Наиболее предпочтительно при тестах выглядели
первые два , правда , для установки генту требуются более глубокие знания , чем для федоры .
Биос AMD64 похож на обычный 32-битный , у него такие-же дисковые партиции , но граб-ом лучше
не пользоваться . Такие программы , как bash, XFree86,или KMail , уже по умолчанию имеют
64-битные бинарники , Многие программы остаются в старом 32-битном формате и выполняются так-же ,
как обычно . Можно устанавливать как 32 , так 64 РПМ-ки , которые будут ссылаться на соответствующие
библиотеки , которые в Fedora, Mandrake и SuSE лежат отдельно . А вот в генту при инсталляции
32-битных бинарников нужно быть внимательным , ибо 32-битные библиотеки могут затереть 64-битные .
Тест nbench был откомпилирован с помощью gcc 3.3.2 под 32 и 64 на федоре . Он показал , что
разница в скорости доступа к памяти незначительна , равно как и в операциях с плавающей запятой .
Значительное преимущество наблюдалось при целочисленных вычислениях .
Тесты на архивирование больших файлов дали разницу до 10% , компиляция больших проектов -
менее 10 процентов .
Вообще , появление новой 64 платформы как избавляет от проблем , так и добавляет их .
С одной стороны , если не работает 64-версия программы , можно использовать 32-версию .
С другой стороны , хранить параллельно 2 версии библиотек - тоже проблема .

Re: Linux и AMD64 08.10.2004 11:39Sm@cker
[www.kv.by]
=====
Как, может быть, не всем еще известно, время в языке программирования С, на котором написана известная операционная система UNIX (значение ее невозможно сегодня переоценить, ведь Интернет, в первую очередь, - сеть компьютеров, работающих под управлением UNIX) и все ее модификации, задается типом данных time_t, который является не чем иным, как знаковым длинным целым типом (long int), о чем можно удостовериться, заглянув в /usr/include/bits/types.h и найти определение типа __time_t, из которого потом в time.h и рождается тип time_t. Что же представляют из себя переменные типа time_t, определяющие текущее время? А это не что иное, как количество секунд, прошедшее с 0 часов 0 минут 1 января 1970 года. Не знаю уж, что произошло в тот год, что от него начал отсчет календарь нашей компьютерной эры, но количество этих секунд, как нам бы этого и не хотелось, неизменно увеличивается. Уже сегодня их количество перевалило за 980 миллионов! Вы, наверное, уже догадались, к чему я клоню? Именно. Максимальное значение, которое может представить вышеозначенный тип данных времени, равняется 2,147,483,648 (256 x 256 x 256 x 256 / 2). Несложные расчеты показывают, что переполнение разрядной сетки произойдет на восьмой секунде 14-й минуты 4-го часа 19-го дня января 2038 года. Что произойдет в этот момент - одному, наверное, изобретателю UNIX известно, но, по всей видимости, ничего хорошего не произойдет.
=====
Спасут ли нас 64-битные архитектуры от ошибки 2038 года?
Re: Linux и AMD64 08.10.2004 23:10Bircoph
В самом конце 1969 года, после 5 лет разработок появился
UNICS - прародитель всех современных UNIX'ов. Поэтому за
начало эпохи приняли 1.1.1970, 0:00:00 GMT

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

Re: Linux и AMD64 09.10.2004 01:26Sm@cker
>Не знаю уж, что произошло в тот год
и
>В самом конце 1969 года, после 5 лет разработок появился
UNICS

Ну я-то как раз знаю, но из песни слов не выкинешь. Цитата - она по поределению дословная.

RSS-материал