Ориентируясь на многопоточность на многоядерных процессорах, мы фактически делаем ставку на путь развития процессоров в ближайшем будущем. В настоящее время серверы строятся на базе процессоров, содержащих от 2 до 32 ядер; мы полагаем, что архитектура процессоров будет развиваться по пути увеличения количества ядер, а не повышения их тактовой частоты. Когда несколько лет назад мы начинали работу над проектом, эта ставка казалась куда более гипотетической, чем сейчас. В то время мы представляли свои разработки как упражнения «что если», говоря, что мы экспериментируем с архитектурой, которая могла бы воплотиться в жизнь, если бы производительность процессоров повышалась по пути увеличения числа поддерживаемых потоков, а не по пути роста тактовой частоты. Это одно из преимуществ выполнения подобных проектов в исследовательских лабораториях: мы можем выбрать значительно более рискованное решение для исследования области, которая может оказаться коммерчески рентабельной. При современных тенденциях технологий процессоров архитектурные решения, основанные на многопоточности, выглядят намного перспективнее, чем на момент принятия этого решения.
Даже если параллелизм будет использоваться всего на 50% своего потенциала, мы всего равно достигнем «точки безубыточности», даже если доступ к долгосрочному хранилищу будет осуществляться гораздо медленнее (от 2 до 16 раз) доступа к основной памяти. Мы предполагаем, что нам удастся добиться успехов и в параллелизме, и в сокращении различий между обращением к долгосрочному хранилищу и основной памятью. Но многое будет зависеть от закономерностей их использования, основанных на инфраструктуре (которые, как упоминалось ранее, довольно трудно выявить).
Related posts: