Облачные вычисления - несколько физических компьютеров, один логический компьютер
Я знаю, что вы можете настроить несколько виртуальных машин на физический компьютер. Мне интересно, можно ли заставить несколько физических компьютеров вести себя как одна логическая единица?
Принципиально, как я себе представляю, это то, что за один день вы можете закинуть 10 компьютеров. У вас есть один клиент, для которого требуется эквивалент двух компьютеров, и 100 других, которые поглощают оставшиеся 8. Поскольку требования меняются, вы просто перераспределяете логические ресурсы, возможно, клиенту из двух компьютеров теперь требуется третья физическая система. Вы просто добавляете его в облако и не волнуетесь о том, чтобы защитить базу данных или перенести данные на новый сервер.
Может ли это работать таким образом?
Если да, то зачем кому-то больше делать такие вещи, как ручное разбиение своих серверов баз данных? Просто добавьте больше вычислительных ресурсов. Вы масштабируете аппаратно горизонтально, но ваш сервер, кажется, масштабируется вертикально. Нет необходимости изменять вспомогательную инфраструктуру вашего приложения для поддержки нескольких баз данных и т. Д.
4 ответа
Звучит очень похоже на грид-вычисления, попробуйте взглянуть на это: http://en.wikipedia.org/wiki/Grid_computing
Доступные облачные сервисы также позволят вам сделать это, например. S3 Storage от Amazon, где вы просто загружаете свои данные в большое "ведро", и они перемещают данные на свои несколько компьютеров - вы все равно просто используете свой "указатель файла" (ключ) для доступа к нему.
Вы даже можете мультиплексировать свои данные через то, что они называют CloudFront ( http://aws.amazon.com/cloudfront/), но это означает "сеть доставки контента", обеспечивающую множество быстрых веб-серверов, отправляющих данные миллионам пользователей. Многие крупные сайты уже используют их.
Что касается прозрачности при работающей программе, которая нуждается в большем количестве энергии, вы можете либо запрограммировать что-то, что передаст задание / передать его, но у вас будет какой-то механизм распределения, чтобы справиться с этим. Либо как часть вашей операционной системы, либо, если она основана на приложениях, просто приложения, работающие вместе в "компьютерной сетке / ферме".
Большинство крупных программ 3D-рендеринга, таких как MAYA и 3D Studio MAX, также имеют программное обеспечение "Renderfarm". Вы размещаете все свои физические аппаратные машины в сети и "включаете их как рендер-узлы", а на "главном сервере" размещаете свои проекты для рендеринга. Затем каждый узел будет запрашивать "задание" у мастера, и они будут визуализировать фрагменты анимации и впоследствии публиковать результаты обратно в мастер / место назначения.
Тот же трюк был / используется проектом SETI. http://www.seti.org/
Они предоставляют вам небольшую "заставку", и эта заставка загружает немного данных из их гигантского центра обработки данных - затем программы начинают перебирать загруженные данные. После завершения анализа он загружает результаты в мастер и запрашивает новый. Все происходит без вас, кроме как установить "узел".
Таким образом, тысячи компьютеров с этим маленьким клиентом помогут в гигантской сети.
Если бы у всех была "сетевая компьютерная операционная система", вы бы никогда не узнали, что или кто или как работает на вашем компьютере - это может вызвать некоторые интересные проблемы безопасности + если ваша система будет взломана… что тогда? вся сеть не работает или только ваш доступ к сети?
Для справки, пожалуйста, посмотрите "BORGS" и "STAR TREK" тоже... LOL!
Примерно таков кластер Беовульф, хотя он специализируется на научных вычислениях.
Кроме того, OpenVMS имеет (да, имеет) возможность кластеризации, разделяя диски и память, и я думаю, что он был перенесен на Ultrix, который сейчас мертв (возможно, HP перенесет его на HPUX, кто знает)
Это можно сделать, но не способом "бросить их туда, подключить оборудование и заставить его работать автоматически" (по крайней мере, насколько я знаю). Вы хотите настроить сервер для работы в качестве прокси (на стороне сервера в Интернете) и приложений на каждом сервере. Таким образом, пользователи входят в прокси-сервер, который передает их на сервер приложений. Затем сервер приложений берет на себя всю нагрузку на процессор (простая передача битов с одной стороны на другую не так интенсивна, как процессор). Затем приложения могут общаться с серверами баз данных.
Citrix работает таким образом.
Отличный вопрос. Он появится, но еще не вышел, но обещание того, что я называю «мультисервер-один образ», известно Intel, IBM и TidalScale. TidalScale может предоставить то, что вы просите прямо сейчас, в виде программного обеспечения с межсоединениями Ethernet 10G+. Intel обещала аппаратную функциональность 6 лет назад через оптоволоконные межсоединения QPI, но так и не была реализована. У SGI это было давно для суперкомпьютеров (мультисерверная шина NUMA), но они умерли. Intel снова говорит об этом с UPI по каналам PCIe. См. https://www.nextplatform.com/2021/11/23/finally-a-coherent-interconnect-strategy-cxl-absorbs-gen-z/ .