Могу я прикрепить
к мощному ПК
и настроить его так, чтобы он работал, как если бы это были 3 ПК или 3 тонких клиента?
Какую ОС следует запускать?
Тонкие клиенты кажутся непривлекательными, поскольку для работы требуется хорошая производительность 3D-графики.
Задний план:
Мы - группа из 3 (на данный момент) разработчиков, создающих программное обеспечение, в основном использующее 3D. В большинстве случаев каждый разработчик пишет код, а затем компилирует и тестирует новые функции.
Таким образом, в редком случае все 3 начнут интенсивно использовать оборудование.
Загрузка процессора на этапе кодирования довольно низкая, около 3-5%. Нагрузка на GPU такая же. Компиляция и запуск приложения - вот где нужна мощность.
Время ЦП, время графического процессора и ОЗУ - это ресурсы, которыми я хочу поделиться.
Наш бюджет не так уж и мал, но если такое решение возможно, мы можем купить один Intel i7 с 16 Гб оперативной памяти и работать как на небесах, тогда как мы не можем купить 3 таких ПК.
Это решение будет очень рентабельным (если это возможно). Даже если к нам присоединится другой человек, мы можем купить только видеокарту, монитор или два, + мышь, + клавиатуру и, эй - вот еще одно рабочее место.
P.S. Опять же, мы прикованы к окнам.
Нет, не совсем, учитывая, что вам нужно хорошее 3D-ускорение.
Также кажется странным экономить на программировании и т. Д. - чем лучше оборудование, тем более плавным и быстрым становится творческий и продуктивный процесс. И мне бы хотелось максимальной продуктивности, которую я мог получить от любого человека - оборудование дешево по сравнению с большинством других вещей.
Неизбежно возникнут проблемы с отзывчивостью, когда три среды разработки борются за системные ресурсы даже на машине-монстре, даже если она не строится - особенно если вы используете инструменты статического анализа во время кодирования. Процессорное время - не единственный необходимый ресурс.
Немного уменьшите спецификации, чтобы три рабочие станции могли выполнять работу самостоятельно, а затем, если время сборки является проблемой, рассмотрите систему распределенной сборки, которая может использовать время простоя ЦП на всех машинах, не нарушая пользовательский интерфейс.
Если это передовая технология, установить на одну из машин более качественную 3D-видеокарту и назвать неофициального главного тестера?
Когда я это читаю, это может происходить двумя способами; вы хотите, чтобы тонкие клиенты подключались к серверу, или вы хотите физически подключить это оборудование к мощному серверу?
Технически вы можете сделать и то, и другое.
Существует запатентованный продукт, который позволяет соединять с помощью длинных кабелей несколько дисплеев, клавиатур и т. Д. Из одной физической коробки с карты поставщика в задней части сервера.
Альтернативой является запуск X с X-терминалами или Windows Terminal Service (в зависимости от платформы) для использования тонких клиентов по сети на вашем сервере.
НО
учитывая, что вы хотите использовать 3D-графику, я настоятельно не рекомендую это делать. Аппаратное обеспечение дешевое по сравнению с головной болью, которую вы просите для поддержки такого рода настройки, и у вас будет больше странных сбоев, с которыми придется иметь дело с перенаправлением звука, мультимедийной и графической производительностью. Тонкие клиенты и тому подобное лучше всего подходят для офисной работы ... просмотра веб-страниц, электронной почты, обработки текстов и т. Д ... даже тогда у нас были люди, убивающие терминальный сервер, зацикливая анимированную карту погоды, которая занимала так много памяти, что сеансы всех остальных превратились в патоку и они думали, что он заблокирован (что привело к повреждению профилей, когда они перезагружали терминал, думая, что это перезагрузило машину. Гм ... нет.)
Купите отдельное оборудование. Вы напрасно тратите время, если думаете, что терминалы будут обеспечивать производительность при использовании графики в качестве основного требования.
РЕДАКТИРОВАТЬ: только что увидел ваше обновление
Возможно, вы захотите выяснить, можете ли вы вместо этого настроить свои компиляции для передачи на ферму; т.е. загрузите в репозиторий на мощном сервере и сделайте там компиляцию. Я не знаю, насколько велика ваша компиляция, и если это проблема с тестированием, но я не знаю, хотите ли вы протестировать на той же машине, на которой разрабатываете, на практике (я думаю, что это лучший практика не делать этого, но это не означает, что разработчики в любом случае заботятся о передовых методах). Я знаю, что в крупных местах, таких как MS, есть фермы, которые компилируют вещи каждую ночь, и что разработчики загружают свои изменения в центральное место, чтобы выполнить компиляцию, а затем, если кто-то сломает сборку, их безжалостно избивают. Он централизует базу кода и позволяет создавать резервные копии и управлять версиями исходного кода, а также снимать некоторые из ваших проблем с памятью и скоростью компиляции.
Тестирование реального программного продукта ... хм ... все еще не уверен, что я бы хотел этого, если бы я занимался разработкой (или руководил разработчиками) только потому, что если что-то пойдет не так, это может убить то, что они сделали, или снизить производительность из-за какой-то ошибки в код вызывает серьезную проблему. Другие могут не согласиться, но я бы предпочел отделить код и разработку от тестовых стендов.
Даже при настройке тонкого клиента вам все равно понадобится какой-то ящик, в который клиенты смогут подключить свои мониторы и клавиатуры. Конечно, это могут быть старые одноразовые коробки, которые ни для чего другого не годятся. Edubuntu настроен так, чтобы это было легко (выберите LTSP install с альтернативного установочного компакт-диска)
Вы можете настроить Linux для обслуживания отдельных рабочих столов X на 3 отдельных видеокартах / мониторах и принимать ввод с трех отдельных клавиатур - и запускать виртуальные машины Windows на каждой из них - но это было бы нетривиально для настройки или обслуживания, и кажется поставить больше проблем, чем решить.
Кроме того, стоимость оборудования резко возрастает, когда вы переходите на более мощный конец спектра.
Не думаю, что это какой-то конкурс. Будь проще. Купите 3 независимых ПК со средней мощностью.
Лучшее, что вы могли сделать, - это настроить терминальный (или Citrix) сервер (сервер Windows 200x) и позволить вашему разработчику использовать удаленный рабочий стол для работы непосредственно с него. Однако я не знаю, какие могут быть ограничения графического процессора в этой ситуации.
Вам НАМНОГО лучше дать трем разработчикам их собственные мощные машины. В конечном итоге это будет дешевле и быстрее.
Да, большинство дистрибутивов Linux можно настроить таким образом, но не с сохранением ускорения GPU.
РЕДАКТИРОВАТЬ - ах, если вы привязаны к Windows, вам не повезло, извините.