[more] [more] [more] Возможно данная тема размещена не в том разделе, поэтому администраторы переместите куда нужно.
В данной теме мне хочется просто высказать свой взгляд на современный подход к росту производительности персональных компьютеров.
Итак, вот, что меня интересует: на базе какой ОС и какого ПО возможно объединение нескольких компьютеров в кластер, т.е. один виртуальный компьютер с высокой производительностью?
Поясню откуда взялся вопрос. У многих, уже повзрослевших, компьютерщиков в гараже, на балконе и других складских помещениях хранятся старые компы. А тот комп, на котором они работают (играют) сейчас, уже скоро придётся обновлять. Тенденция современного мира такова - хочешь использовать новое ПО или играть в новые игры, покупай новый производительный компьютер. А почему бы не заставить старое железо работать по новому? Например создать свой кластер!
Для чего вообще заморачиваться с построением кластера, зачем он нужен?
Да, большинству действительно не нужен, ведь на каждом новом витке развития вычислительной техники она становиться всё более энергоэффективной, производительной и обладает поддержкой новых технологий. А кому нужен? Мне, и не только мне. Порассуждаю. Почти все современные процессоры строятся по многоядерной архитектуре. Каждому ядру выделяется свой кусок ОЗУ (памяти). Однако для обмена данными с другими компонентами используется общая шина данных.
А как Вам такой вариант: несколько процессоров, у каждого из них свой объем памяти И общая шина данных. Практически тоже самое, только во втором случае описаны независимые компьютеры объединенные общей шиной данных, т.е. кластер.
Какие задачи можно решать при использовании кластера: обработка (просчет) потокового видео, расчет сложных 3D-моделей (3D-анимация), действительно параллельное выполнение нескольких задач (т.е. программ и даже игр) под общим управлением.
А вот в игры поиграть на кластере не выйдет (кроме пасьянса конечно). Дело в том, что GPU заточен решать ряд специфических вычислений, которые CPU делать может, но в разы (а то и сотни) раз медленнее.
Определим заведомо узкие места в объединении нескольких компьютеров это: высокоскоростная среда обмена данными между процессорами, отсутствие свободной ОС для выполнения таких задач, невозможность распределения вычислительной нагрузки при обработке графической информации (в играх).
Давайте разберём всё по пунктам.
О построении кластера на основе Pentium-3 думаю следует забыть сразу, а вот компьютер, мат. плата которого имеет разъем PCI-E, это уже наш случай. Думаю многим известно о существовании скоростных дисковых систем использующих шину PCI-E для ввода/вывода, почему бы в качестве среды обмена данными между процессорами не использовать её. Да в этом случае потребуется специальная плата сопряжения, которых нет или мне о них не известно. Но ведь спрос рождает предложение, и если появится спрос на такую железяку её начнут производить массово. Теперь ОС - большинство серверов работает под управлением ОС семейства UNIX. Думаю найдутся (а может уже нашлись) программисты которые возьмутся за разработку (модернизацию) ОС для построения многопроцессорного кластера.
Про игры забыли (см. выше), к тому же большинство игр вообще не задействуют более одного ядра CPU, GPU, да и вообще писатели игр не сильно заботятся об оптимизации кода для запуска игр на устаревшем оборудовании.
Как я вижу построение кластера.
Стол, под ним (на нём) стоит комп №1, рядом сидит человек, перед человеком монитор, кнопки и мышь. Комп №1 оснащен всем тем, что нужно человеку для его комфортного использования (видеокарта, звуковая плата, плата видеозахвата и т.п.). В какой-то момент времени человек понимает, что мощи компа №1 не достаточно (например для просчета видео 4к в фоновом режиме). Тогда человек включает комп №2. После загрузки ОС на компе №2, комп №1 обнаруживает новое процессорное ядро (объем памяти, дисковое пространство, а при наличии и ещё один видеоадаптер) и начинает его использовать как будто всё это вдруг появилось на компе №1. Причем сообщает о появлении новых ресурсов некая софтина, при помощи которой происходит управление всеми ресурсами кластера. Ну например запустил человек браузер, а софтина спрашивает: "на каком ядре желаете выполнятся", человек отвечает: "на №2 и запомни это навсегда при доступности оного". Этой же софтиной происходит отстыковка ресурсов перед тем как выключить комп №n.
В интернете сидишь, в 3D- или Flash-игрушку играешь, несколько баз данных индексируются, да ещё и home-видео в формате Full-HD запросто просчитываются после монтажа. И Всё это одновременно на одном рабочем месте. А как только видео просчиталось, взяли и выключили ресурс №n, дабы электроэнергию не жог и шум не создавал. А можно и не "выключать", а спать положить - потом доделает, когда человек скажет. Здорово правда!
У меня (и не только) есть старенький компьютер и я очень хочу иметь возможность использовать его так, как описал выше, ну или по другому, но использовать. Причем морально я готов вложить денежки только за платы сопряжения и всё!
[/more] [/more] [/more]
В данной теме мне хочется просто высказать свой взгляд на современный подход к росту производительности персональных компьютеров.
Итак, вот, что меня интересует: на базе какой ОС и какого ПО возможно объединение нескольких компьютеров в кластер, т.е. один виртуальный компьютер с высокой производительностью?
Поясню откуда взялся вопрос. У многих, уже повзрослевших, компьютерщиков в гараже, на балконе и других складских помещениях хранятся старые компы. А тот комп, на котором они работают (играют) сейчас, уже скоро придётся обновлять. Тенденция современного мира такова - хочешь использовать новое ПО или играть в новые игры, покупай новый производительный компьютер. А почему бы не заставить старое железо работать по новому? Например создать свой кластер!
Для чего вообще заморачиваться с построением кластера, зачем он нужен?
Да, большинству действительно не нужен, ведь на каждом новом витке развития вычислительной техники она становиться всё более энергоэффективной, производительной и обладает поддержкой новых технологий. А кому нужен? Мне, и не только мне. Порассуждаю. Почти все современные процессоры строятся по многоядерной архитектуре. Каждому ядру выделяется свой кусок ОЗУ (памяти). Однако для обмена данными с другими компонентами используется общая шина данных.
А как Вам такой вариант: несколько процессоров, у каждого из них свой объем памяти И общая шина данных. Практически тоже самое, только во втором случае описаны независимые компьютеры объединенные общей шиной данных, т.е. кластер.
Какие задачи можно решать при использовании кластера: обработка (просчет) потокового видео, расчет сложных 3D-моделей (3D-анимация), действительно параллельное выполнение нескольких задач (т.е. программ и даже игр) под общим управлением.
А вот в игры поиграть на кластере не выйдет (кроме пасьянса конечно). Дело в том, что GPU заточен решать ряд специфических вычислений, которые CPU делать может, но в разы (а то и сотни) раз медленнее.
Определим заведомо узкие места в объединении нескольких компьютеров это: высокоскоростная среда обмена данными между процессорами, отсутствие свободной ОС для выполнения таких задач, невозможность распределения вычислительной нагрузки при обработке графической информации (в играх).
Давайте разберём всё по пунктам.
О построении кластера на основе Pentium-3 думаю следует забыть сразу, а вот компьютер, мат. плата которого имеет разъем PCI-E, это уже наш случай. Думаю многим известно о существовании скоростных дисковых систем использующих шину PCI-E для ввода/вывода, почему бы в качестве среды обмена данными между процессорами не использовать её. Да в этом случае потребуется специальная плата сопряжения, которых нет или мне о них не известно. Но ведь спрос рождает предложение, и если появится спрос на такую железяку её начнут производить массово. Теперь ОС - большинство серверов работает под управлением ОС семейства UNIX. Думаю найдутся (а может уже нашлись) программисты которые возьмутся за разработку (модернизацию) ОС для построения многопроцессорного кластера.
Про игры забыли (см. выше), к тому же большинство игр вообще не задействуют более одного ядра CPU, GPU, да и вообще писатели игр не сильно заботятся об оптимизации кода для запуска игр на устаревшем оборудовании.
Как я вижу построение кластера.
Стол, под ним (на нём) стоит комп №1, рядом сидит человек, перед человеком монитор, кнопки и мышь. Комп №1 оснащен всем тем, что нужно человеку для его комфортного использования (видеокарта, звуковая плата, плата видеозахвата и т.п.). В какой-то момент времени человек понимает, что мощи компа №1 не достаточно (например для просчета видео 4к в фоновом режиме). Тогда человек включает комп №2. После загрузки ОС на компе №2, комп №1 обнаруживает новое процессорное ядро (объем памяти, дисковое пространство, а при наличии и ещё один видеоадаптер) и начинает его использовать как будто всё это вдруг появилось на компе №1. Причем сообщает о появлении новых ресурсов некая софтина, при помощи которой происходит управление всеми ресурсами кластера. Ну например запустил человек браузер, а софтина спрашивает: "на каком ядре желаете выполнятся", человек отвечает: "на №2 и запомни это навсегда при доступности оного". Этой же софтиной происходит отстыковка ресурсов перед тем как выключить комп №n.
В интернете сидишь, в 3D- или Flash-игрушку играешь, несколько баз данных индексируются, да ещё и home-видео в формате Full-HD запросто просчитываются после монтажа. И Всё это одновременно на одном рабочем месте. А как только видео просчиталось, взяли и выключили ресурс №n, дабы электроэнергию не жог и шум не создавал. А можно и не "выключать", а спать положить - потом доделает, когда человек скажет. Здорово правда!
У меня (и не только) есть старенький компьютер и я очень хочу иметь возможность использовать его так, как описал выше, ну или по другому, но использовать. Причем морально я готов вложить денежки только за платы сопряжения и всё!
[/more] [/more] [/more]