LINUX.ORG.RU

Тестирование системы на «Эльбрус-2С+»


4

6

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

★★

Да прогнать любой бенчмарк, тот же NBench, хорошо бы в режиме эмуляции x86 и в «родном» режиме.

P.S. у тебя по работе не будет неприятностей из-за этого?

tailgunner ★★★★★
()

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

Ygor ★★★★★
()
Последнее исправление: Ygor (всего исправлений: 1)

После образцово-показательного калометания в этой ветке

Будет безобразное в этой. Видел тред сами знаете где :)

slackwarrior ★★★★★
()
Ответ на: комментарий от tailgunner

У меня точно не будет. Все вопросы к SMD.

cache ★★
() автор топика
Ответ на: комментарий от b_a

е3м - это самый первый

Э-S - второе поколение,

Эльбрус-2С+ - это два ядра второго поколения (Эльбрус-S) + кластер из 4 DSP «Мультикор» (фирмы Элвис)

uin ★★★
()
Ответ на: комментарий от Ygor

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

Он сказал, что через пару месяцев у него будет доступ к E3M.

tailgunner ★★★★★
()

Да, я любезно предложил свои услуги.
Есть проблема: старый древний софт, отсутствие интернетов и головная боль с удоволетворением зависимостей. То есть, тесты, которые, скажем, тянут qt/php(хотя его как-то худо-бедно, но портанули) я запустить не смогу.
Доступ есть к новому спарковому эльбрусу, эльбрусу-с. При везении, будет доступ к пачке других штук. Видел, что перед новым годом они завезли в МЦСТ серваки для терминальных клиентов, там то ли 4 проца, то ли 8, подробностей не знаю, но это выглядит как шкаф и гудит.

Deleted
()
Ответ на: комментарий от tailgunner

На первый взгляд годится. На выходных накачу виртуалку с дебианом5, найду кросс-компилер и попробую собрать.
Вроде проблем не будет. Как-то говорил с начальству и объяснял ему, что народ-то хочет знать, что кует сумеречный отечественный гений. Начальство вроде затею одобрило, но с условием полного тестирования(тестирования различных подсистем и всей системы в целом), но потом спустило на тормозах эту затею. Если сейчас придумать тесты, накомпилять их, то, думаю, они даже довольны будут.

Deleted
()
Ответ на: комментарий от b_a

О, а это, кстати, хорошая идея. Нас как раз спрашивали насчет возможности на базе эльбрусов строить сетевое оборудование и насколько оно будет жизнеспособным.

Deleted
()
Ответ на: комментарий от slackwarrior

Будет безобразное в этой. Видел тред сами знаете где :)

предлагаю в данном треде воздержаться от калометания заняться в первую очередь удовлетворением technical curiosity — ибо будь даже эльбрус 10 раз неконкурентоспобен, но его технические решения все же интересны

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Deleted

есть taubench есть linpack

+ протестировать с разными реализациями MPI, по опыту они шибко различны в производительности

Slackware_user ★★★★★
()
Ответ на: комментарий от Deleted

у меня куча вопросов, для начала даже не связанных с производительностью — мне очень интересна не-интеловская epic/wliv архитектура (даже если в настоящий момент она сливает х86 — это не важно)

кроме того, отнюдь не все меряется скоростью — есть еще и надежность — скажем, защита от срыва стека

и главное — бенчмарки мало что могут сказать, если неизвестно, насколько хорошо нынешний компилятор умеет пользоваться плюшками архитектуры

0. кто может достать и выложить *какую-то* инфу об эльбрусах (в основном интересны те, кто не спарк)? я так понимаю это SMD, cache, Orlusha, Xintrea — я всех перечислил?

1. где можно прочитать про архитектуру чуть подробнее, чем в http://www.osp.ru/os/2011/07/13010501/ ?

2. где взять описание ISA?

3. имеются ли команды, которые компилятор может генерировать, чтобы выяснить, сколько времени займет вычисление следующей команды? скажем «загрузи в регистр R5 число 3, если все операнды следующей команды лежат в L1, число 9, если они в L1 или L2, и число 100, кто-то из них в оперативке»

4. поподробнее об организации спекулятивного исполнения команд своими руками

5. умеет ли делать п.4 нынешний компилятор?

6. можно ли организовать *предсказание* перехода, пусть даже своими руками? т.е. запустить исполняться (в дополнение к вычислению адреса перехода) не 2 потока команд, а только 1 — наиболее вероятный

7. умеет ли делать п.6 нынешний компилятор?

8. какой щас там компилятор? (gcc c патчами, свой с попытками поддержать расширения gcc, ...)

9. поподробнее насчет тегирования (я, конечно, могу заглянуть в книжку Эль-76, но думаю модель могла поменяться)

10. сферический в вакууме компилятор стандартного си/с++ может легко и 100% надежно пользоваться тегированием для защиты от срыва_стека_методом_ выхода_за_границы_массива, или требуется изобретать новый язык для полноценного использования этого механизма?

11. умеет ли делать п.10 нынешний компилятор?

www_linux_org_ru ★★★★★
()
Последнее исправление: www_linux_org_ru (всего исправлений: 3)
Ответ на: комментарий от Deleted

Сеть насколько я понимаю построена на марвеловском чипе ?
Еще интересным будет сравнить быстродействие iperf на встроенной сетевой и на сетевой вставленной в pci-e. Для тестов взять что нибудь из серии интеловских серверных плат.

b_a
()
Ответ на: комментарий от www_linux_org_ru

бенчмарки мало что могут сказать, если неизвестно, насколько хорошо нынешний компилятор умеет пользоваться плюшками архитектуры

Будем считать, что это бенчмарк не конкретного процессора архитектуры E3M, а программно-аппаратного комплекса из процессора и компилятора.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

если там явно неоптимальный компилятор, для приведения которого в чувство достаточно скажем $500К, то результаты даже и неинтересны

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от tailgunner

с другой стороны, можно набраться наглости и сказать, что если за $5М невозможно сделать ответы на все мои вопросы «да», то результаты опять неинтересны

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

www_linux_org_ru ★★★★★
()
Последнее исправление: www_linux_org_ru (всего исправлений: 1)
Ответ на: комментарий от www_linux_org_ru

0. кто может достать и выложить *какую-то* инфу об эльбрусах (в основном интересны те, кто не спарк)? я так понимаю это SMD, cache, Orlusha, Xintrea — я всех перечислил?

Думаю, из всех перечисленных что-то определённое может сказать только SMD.

cache ★★
() автор топика
Ответ на: комментарий от www_linux_org_ru

У меня есть доступ к железкам, но я почти не обладаю знаниями об архитектуре эльбруса и его компиляторе(впрочем, это распространяется не только на эльбрусы), поэтому на большинство вопросов я не смогу ответить. Постараюсь задать их кому-то сведущему, когда в следующий раз окажусь в МЦСТ.
Насчет пункта 8: если мне не изменяет память, они у кого-то купили бекенд компилятора и написали свой фронтенд, который по большей части совместим с гцц. И, опять же, если не изменяет память, был разговор о том, что некоторый код компилятором генерируется из рук вон плохо, вот специалисты МЦСТ и ищут, в чем проблема.
У меня есть кросс-компилер для всех трех платформ, шарить его я думаю, не стоит, но если тут опишут, что хотят в нем посмотреть и выяснить, то я это смогу сделать.

Deleted
()
Ответ на: комментарий от Deleted

а вот чисто десктопные задачи можно ли какнить померить?

фотки большого размера в RAW вот (или хотябы), + что нибудь большое с альфаканалом типа этого - с перегонкой в другие форматы [JPEG/JPEG2000/TIFF/PNG/etc] и редактированием (найти обложку побольше и подогнать под нее рамку - как пример)

рипнуть блурейку (c какимнить стандартным Hight Profile без накручивания опций), отлично подойдут смешарики (там стрим поделен - взять какойнить один эпизод типа «Основной Инстинкт» 00044.m2ts)

сделать «захват экрана» и попробовать в чем нибудь поработать, открыть в hex-редакторе любой бинарник на 3,5гб отредактировать (занулить/укоротить/расширить) и сохранить

/короче основательно помучить и поиздеваться, интересно узнать как сильно его нагнет. Вот например мой Сore2Quad большие TIFF -ки и JPEG -шки крутит довольно шустро, но та же самая картинка в PNG - уже печальнее, а если в текстовым или hex редактором в 32-битном режиме большие файлы открывать - это привет и досвиданье...

uin ★★★
()
Ответ на: комментарий от tailgunner

sparcV8/sparcV9/e2k(вроде оно сейчас так называется у них)

Deleted
()
Ответ на: комментарий от tailgunner

Ну чисто грубо - согласно википедии титаник на 800Mhz - 3.2 GFLOPS. Грубо масштабируя на 500Mhz - порядка 2 GFLOPS.
Согласно МЦСТ Е2С+ - это 8 гигафлопов при двух ядрах и 4 дсп. Ну я думаю, что в пересчете на процессорное ядро должны иметь порядка 2 гигафлоп пиковой. Посмотрим сколько выдаст линпак.

b_a
()
Ответ на: комментарий от uin

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

Deleted
()
Ответ на: комментарий от Deleted

У меня есть кросс-компилер для всех трех платформ, шарить его я думаю, не стоит

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

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

ну и да, после этого можно было бы чего-то там побенчить... коротенькое

они у кого-то купили бекенд компилятора и написали свой фронтенд, который по большей части совместим с гцц

в смысле парсер с++ они писали свой, а анализатор/оптимизатор/кодогенератор у кого-то купили?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

9. поподробнее насчет тегирования (я, конечно, могу заглянуть в книжку Эль-76, но думаю модель могла поменяться)

Выпущена пилотная партия моноблочных ПК на базе микропроцессора «Эльбрус-2С+» (комментарий)

tailgunner ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Попробую сегодня собрать простенький бинарник кроссом, а потом его дизассемблануть. Из того дизасма, что я видел, команды у эльбруса странные.

в смысле парсер с++ они писали свой, а анализатор/оптимизатор/кодогенератор у кого-то купили?

Вот этого не могу знать, я передал слова в точности, как мне их озвучил начальник(он не шибко разбирается в предмете).
Железка в доступе будет, думаю, ближе к февралю, когда пройдет сессия и лень.

Deleted
()
Ответ на: комментарий от www_linux_org_ru

парсер с++ они писали свой, а анализатор/оптимизатор/кодогенератор у кого-то купили

Да маловероятно - скорее противоположное - парсер c/c++ c преобразованием в ast они купили, а вот анализатор, оптимизатор и кодогенератор писали сами. Кодогенератор уж точно сами - архитектура то у них своя.

b_a
()
Ответ на: комментарий от www_linux_org_ru

я всех перечислил?

КТ

/он объявления о доступных вакансиях МЦСТ в /work/ постил, очевидно он сам там и работает (хотя не факт что он разбирается в этом - может он там отделом кадров заведует..)

uin ★★★
()
Ответ на: комментарий от b_a

Да маловероятно - скорее противоположное - парсер c/c++ c преобразованием в ast они купили, а вот анализатор, оптимизатор и кодогенератор писали сами

да вот и я так же думаю

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Итак:
Сишный код(на большее фантазии не хватило)

cat test.c 
#include "stdio.h"

int main()
{
    printf("Test\n");
    return 0;
}
Асм от гцц 4.7.2(gcc -s test.c):
	.file	"test.c"
	.section	.rodata
.LC0:
	.string	"Test"
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	movl	$.LC0, %edi
	call	puts
	movl	$0, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.ident	"GCC: (GNU) 4.7.2"
	.section	.note.GNU-stack,"",@progbits
Код от lcc-компилятора под архитектуру е2к(lcc -s test.c):
.section ".text"
.global $main
$main:
.ignore ld_st_style
.ignore strict_delay
 {
   disp %ctpr1, $printf
   setwd wsz = 0x8, nfx = 0x1
   setbn rsz = 0x3, rbs = 0x4, rcur = 0x0 
   getsp,0 _f32s,_lts1 0xfffffff0, %dr2
 }
   addd,0 0, [ _lts0 $.LC.00000000 ], %db[0]
   std,2,sm %dr2, 0, %db[0]
   wait ma_c = 0, fl_c = 0, ld_c = 0, st_c = 0, all_e = 0, all_c = 1
 {
   ipd 2
   call %ctpr1, wbs = 0x4 
 }
 {
   nop 5
   return %ctpr3
   adds,0 0, 0, %r0
 }
 {
   ct %ctpr3
   ipd 2
 }
.size $main, . - $main

	.weak	$elbrus_compiler_v1.17.04_Apr_12_2012
	.set	$elbrus_compiler_v1.17.04_Apr_12_2012, 0
.section ".rodata"
	.local	$.LC.00000000
	.type	$.LC.00000000, @object
	.size	$.LC.00000000, 0x6
	.align	1
$.LC.00000000:
	.ascii	"Test\n\000"
	.global	$printf

Deleted
()
Последнее исправление: SMD (всего исправлений: 1)
Ответ на: комментарий от Deleted

вот, кстати, тест качества компилятора с++ по сравнению с си: [бенчмарк] С++ медленне С в 5 раз при уже при 0.1% кидаемых исключений [ЧЯДНТ ?] (это уже на железе надо; другими словами там тестируется abstraction penalty)

может еще какие тесты накропаю к февралю

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Остальные пункты, которые были перечислены можно проверить с помощью компилятора и железки или же надо спрашивать у знающего человека?

10. сферический в вакууме компилятор стандартного си/с++ может легко и 100% надежно пользоваться тегированием для защиты от срыва_стека_методом_ выхода_за_границы_массива, или требуется изобретать новый язык для полноценного использования этого механизма?

Предполагаю, для этого надо передать какой-то ключ при компиляции.

Deleted
()
Ответ на: комментарий от Deleted

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

а что их придумывать:

#сервер
pgbench/sql-bench
apache+php+wordpress/whatever+ab (apache bench)
nginx + отдача статики
image magick
netperf

# десктоп и мультимедиа
ffmpeg
lame
mplayer -benchmark
браузерные тесты

# абстрактные тесты
openssl speed
нагородить велосипедов аля перемножение матриц, целочисленные операции. С матрицами уже у меня есть через numpy
+ стандартные метрики памяти аля пропускная способность, latency итд итп.

Ящитаю уже это было бы не так плохо. (тесты дискового IO намеренно пропустил)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

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

Deleted
()
Ответ на: комментарий от Deleted

Апач там будет, но будет версии 1.3

Но если там Debian 5, то там должен быть Apache2. Впрочем, все эти серверные бенчи не нужны :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Они, видимо, большие энтузиасты. Летом этого года речь шла об апаче. Эта система планируется как многофункциональная штуковина: и офисная работа, и серваки, и еще что-нибудь. Очень просили так же завести им php+apache+pgsql.

Deleted
()
Ответ на: комментарий от Deleted

что это все надо собирать под целевую систему

эээ, а там же есть и постгрес и firefox. Пусть древней версии, зато протестируем готовность эльбруса к десктопу.

Ну и openssl тоже есть, так что надо набрать одну комманду openssl speed и всё.

true_admin ★★★★★
()
Ответ на: комментарий от Slackware_user

а вычислительные тесты ?

а их и без меня накидали. Но я же там указал «openssl speed», чем не вычеслительный тест? Правда, его эффективность завязана на флаги сборки и оно сильно оптимизировано под различные sse.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Мы работаем несколько в другой области, поэтому у нас практически голая система. Если перепадет куб или моноблок, проверю. ЗЫ: опенссл вроде еще не портанули(даже с курлом есть проблемы).

Deleted
()
Последнее исправление: SMD (всего исправлений: 1)
Ответ на: комментарий от Deleted

опенссл вроде еще не портанули(даже с курлом есть проблемы).

Хм. А вообще возможен запуск на одной системе «родных» и x86-программ?

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.