Итак, 17 ноября 2009 года на очередной ежегодной суперкомпьютерной конференции «Supercomputing 2009» (SC09), проходившей в Портланде (шт. Орегон), была объявлена 34-я редакция списка пятисот самых мощных компьютеров мира TOP500.
Что же, друзья, время дуть в дудки, стучать в барабаны и размахивать флагами — на 12-м месте списка находится суперкомпьютер «Ломоносов» Московского государственного университета! Впервые Россия оказалась так высоко в TOP500.
Да-да, это тот самый компьютер, который начали монтировать еще летом, и система охлаждения которого отняла половину территории автомобильной стоянки около 2-го учебного корпуса МГУ.
Надеюсь, скоро на parallel.ru или на сайте научно-исследовательского вычислительного центра (НИВЦ МГУ) появится подробное описание новой машины, но пока мы вынуждены ограничиться скудными данными с сайта TOP500:
пиковая производительность
414,42 ТФлопс
реальная производительность
350,10 ТФлопс
процессоры
Intel EM64T Xeon X55xx (Nehalem-EP) 2930 МГц (11,72 ГФлопс)
число процессорных ядер
35 360
общий объем оперативной памяти
54 312 ГБ
коммуникационная сеть
Infiniband
операционная система
Linux
Заканчивая эту заметку, отмечу все установленные в России суперкомпьютеры, которые попали в список TOP500:
12. Ломоносов (НИВЦ МГУ)
38. МВС-100К (МСЦ РАН — Межведомственный Суперкомпьютерный Центр РАН)
107. СКИФ МГУ «Чебышёв» (НИВЦ МГУ) (37-е место в июне 2008 года)
138. IBM BladeCenter HS22 Cluster (банковский сектор)
181. IBM xSeries x3650M2 Cluster (правительственный сектор)
320. HP Cluster Platform 3000 BL460c (РНЦ «Курчатовский институт») (118-е место в ноябре 2008 года)
377–382. IBM Blue Gene/P (факультет ВМК МГУ) (126–130-е место в ноябре 2008 года)
450. СКИФ-Аврора (ЮУрГУ — Южно-Уральский государственный университет)
Кстати, на первом месте TOP500 находится суперкомпьютер Jaguar Cray XT5-HE, установленный в Оук-Риджской национальной лаборатории США. При пиковой производительности в 2331 ТФлопс его реальная производительность составляет 1759 ТФлопс.
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var avg:=a.ElementsByRow.Average;
Writeln('Среднее значение ',avg);
var min:=(a.ElementsWithIndexes.Select(t->(Abs(t[0]-avg),t[1],t[2]))
.MinBy(t->t[0]));
Writeln('Наименее отличающийся от среднего элемент A[',
min[1]+1,',',min[2]+1,'] = ',a[min[1],min[2]])
end.
Пример
Количество строк и столбцов в массиве: 5 7
*** Исходный массив ***
-10 29 -69 98 40 -87 -64
74 -36 -62 -86 -3 -6 -48
-4 57 46 -23 -70 -5 25
-98 -2 23 9 -42 77 65
-57 -77 30 48 -52 -33 5
Среднее значение -8.8
Наименее отличающийся от среднего элемент A[1,1] = -10