У меня нет денег на создание собственной системы uber Blade, но я хотел бы получить параллельное и распределенное программирование (подумайте CCR/DSS, Hadoop, Project Voldemort и т. Д.).Какая хорошая аппаратная настройка для программирования параллельных и распределенных приложений?
В настоящее время у меня есть Q6600 с 4 ГБ с некоторыми отдельными hdds, но это о нем. Хотя я могу писать многопоточные программы, я не могу правильно тестировать распределенные файловые системы/хранилища ключей и искать связанные узкие места (доступ к диску, сеть и т. Д.).
Есть ли у кого-нибудь рекомендации? Покупка небольших дешевых коробок и создание мини-сети? Или, может быть, одна коробка с двумя i7 и ESX и имитируемая сеть?
редактировать:
настоящее время я использую VirtualBox и VMWare, и это не выглядит достаточно хорошо для меня, поправьте меня, если я ошибаюсь: жесткие диски могли зафиксировать, например, либо потому, что две виртуальные машины работают на них или потому, что весь доступ к жесткому диску осуществляется через один и тот же контроллер hdd. Сеть полностью виртуальна, поэтому здесь нет реального теста.
Если я иду по пути виртуализации, что бы вы порекомендовали, я мог бы как можно ближе приблизиться к «реальной жизни»?
Доступ к жестким дискам может осуществляться через один и тот же контроллер, но в произвольном порядке. Наличие нескольких процессов, запрашивающих IO, будет производить в основном случайное упорядочение отдельных запросов на уровне блока. Это говорит о том, что вы действительно не можете попасть в реальную жизнь, пока не сделаете это по-настоящему. Вы должны уловить большинство проблем синхронизации с помощью виртуализации в качестве дешевой альтернативы. – Kekoa