Уважаемые форумчане!
У меня возник вопрос, который я хочу вынести на обсуждение.
Мы много говорим о построении филогенетических деревьев, кладограмм и пр. Иногда, при больших выборках, эти построения могут занимать часы, сутки.
Какой, на ваш взгляд, нужен компьютер для ДНК-Генеалога? Я говорю о конфигурации (железе) и операционке...
Какой софт ему потребуется для исследовательской работы? Где и как получить дистрибутив? И т.д. и т.п.
Думаю, что для любых ДНК-прог больше всего важен проц (причем, подавляющее большинство программ не использует параллельные расчеты и многоядерность не имеет значения - имеет значение скорость на одном ядре), затем оперативка, еще менее скорость чтения с диска. Видеокарта не важна.
Операционка - зависит от софта. Наверное, все же для любителя ДНК-генеалогии это Windows. Для профессионалов из смежных дисциплин (например, популяционных генетиков) - не знаю.
Из софта - прежде всего, Мурка, Fluxus Network, Мега
Не со всем согласен.
О производительности. На данный момент процессор после Пентиума 4 и аналога АМД и пр. не имеет решающего значения при вычислениях больших данных, поскольку память, хранящая эти данные - самое медленное звено (bottleneck), а караван, как известно движется со скоростью самого медленного (именно поэтому многоядерность в таком случае не играет особой роли). Так что важно с какой скоростью работает оперативная память (не забывая о жестком диске) и ее объем. На современных материнских платах модули памяти могут работать параллельно, т.е. там нужно использовать одинаковые (по типу и объему, и лучше даже купленные вместе) парные модули памяти.
В 32-хразрядной Windows 98/МЕ/2000/2003/xp можно поставить максимум 2x2Гб или 4x1Гб (если есть 4 слота), но система будет "видеть" только ~3,5Гб из-за ее ограничений.
Многоядерность становится важной, если использовать правильное распределение данных и рациональные распараллеливающие алгоритмы, с помощью которых можно оптимизировать работу с памятью и загрузить процессоры. Так что в перспективе многоядерность - конечно же важна.
Еще. Не путайте многопоточность с многозадачностью. Система (и запускаюшиеся в ней программы) может поддерживать многопоточность (multithread), но выигрыша в производительности нет никакой, если есть один процессор. Он просто напросто переключается с одной задачи на другую, создавая видимость параллельности выполнения, вот и все.
Если же железо многоядерное и система поддерживает многозадачность, и алгоритмы расчета сделаны с учетом распараллеливания, тогда задача/задачи выполняются
параллельно, вот тогда и получается выигрыш в производительности от многоядерных процессоров.
Конечно, важна еще и память на жестком диске. Лучше чтобы подгружаемая виртуальная память была на отдельном жестком диске. Она может сильно тормозить работу самой системы.
Важно еще на каком языке написана программа. Если это Javа, то как не пиши программу, тормозиться будет все виртуальной машиной. Если на ассемблере или "C", то быстрее уже сделать сложно при правильном программировании.