Компьютеры по-новому


Давно мечтаю об одном крупном изменении в мире компьютеров. Современные бытовые компьютеры добились более-менее высокого уровня производительности. Их хватает для задач серфинга в интернете, использования Фотошопа и даже некоторых средних игр. Это средний компьютер. Но иногда попадаются задачи, когда необходимо сделать что-то сложное. Например, рендеринг видео. Или, в моем случае — работа с виртуальными машинами. И что делать, когда тебе нужно решить эту проблему? Покупать новый мощный компьютер? Вариант, но ведь тебе в обычное время не нужен настолько мощный компьютер.

Компьютеры по-новому

Суть сводится к тому, что тебе нужны некоторые вычислительные ресурсы. И нужны на определенное время.

Представим самый простой вариант. У тебя есть средний компьютер. У твоего друга есть мощный компьютер. Решение в том, что ты берешь на время компьютер друга и ставишь у себя дома. Дальше следует некоторая футуристическая магия. Соединяешь их через кабель и, о чудо, теперь на своем компьютере ты можешь использовать ресурсы его мощного собрата. Эти ресурсы суммируются и ты получаешь больше, чем просто мощный компьютер.

Развиваем эту идею дальше. В мире уже не первый десяток лет существует интернет. Он характеризируется удаленностью и распределенностью ресурсов. Наша ситуация выходит на новый уровень. Друг сидит дома, подключает свой мощный компьютер к интернету, возможно запускает необходимую программу. И дает мне доступ к ресурсам компьютера. Все, теперь я удаленно могу использовать их.

Небольшая пауза. В первом варианте был простой кабель. Если честно, я совсем не разбираюсь в подобной физике процесса, но мне кажется это вполне реальным. Я о том, что не совсем представляю насколько возможно будет сделать обработку данных на мощном компьютере в режиме реального времени.

Ведь процессор делает несколько сотен миллион операций в секунду. Но не важно, допустим это реально.

Во втором варианте, процесс такой же, только через интернет. Учитывая современные технологии интернета, скорости 100 мбит должно хватить всем. Или гигабит.

Идем дальше. Третий уровень — уровень провайдеров. Такие интернет-сервисы, которые платно предоставляют тебе ресурсы для решения твоих задач. Да, это по сути облачный хостинг. Только сейчас он предоставляется для веб-сайтов или подобных задач, а не для твоего компьютера.

Учитывая такие перемены в компьютерном мире, думаю, что это нужно внедрять на уровне операционной системы. Как-то иначе это плохо представляется, только для отдельных задач.

Вот к примеру SETI@HOME или Folding@home. Хотя там все работает с точностью до наоборот. Если хочешь помочь проекту — можешь поставить программу, которая не занятые ресурсы твоего компьютера будет использовать во благо науки. А точнее, вычислять некоторый объем информации научной задачи для поиска радиосигналов внеземных цивилизаций. И отправлять результат вычислений обратно на сервер проекта.

Этот проект, как видно, работает интервалами. Отправляет информацию, через время принимает результат. А если бы сделать возможными вычисления в реальном времени, буквально, «стриминг» ресурсов — это было бы совсем другое дело.

Вот пара примеров практического применения этой идеи на бытовом уровне:

Самое банальное — рендеринг видео. Тебе нужно сделать монтаж видео, и ты не хочешь ждать несколько часов. Пошел на сайт, купил ресурсы, возможно на время, или какое-то их количество. Захотелось поиграть в игру. К примеру, вышла новая какая-то совсем крутая игра. Естественно, твой компьютер не подходит даже под минимальные требования. Время тратить деньги ☺ Отличная идея, разве не так?

Ну а теперь мы подошли к, собственно, идеальному варианту развития этой идеи. И самое главное — наиболее реалистичному, и такое уже даже работает! Хоть и частично, не в том масштабе.

Двумя словами это можно назвать «тонкий клиент». Вообще не важно, сколько у тебя ресурсов на компьютере, насколько он мощный. Подойдет даже самый простой планшет. Важен только доступ к хорошему интернету и его безлимитность.

Все программы, вообще все что делаешь на компьютере — работает не у тебя, а на сервере какой-то компании. Тебе необходимо только авторизоваться. Все что далее происходит на дисплее — всего лишь картинка, присылаемая сервером тебе. А ему отправляются все нажатия клавиш, движения мышкой, жесты по тач дисплею и т. д.

Удобно. Покупаешь компьютер, производитель дает тебе определенный тарифный план (я надеюсь, пожизненный, с данным устройством). И работаешь. Если тебе нужно больше ресурсов — заказываешь другой тарифный план (или как угодно иначе), и используешь эти ресурсы.

Вуаля. И такие сервисы в начальном варианте уже существуют. Вот к примеру игровой сервис Gaikai. Или OnLive.

Вся обработка игры происходит на сервере, тебе прилетают по интернету кадры игры. Все это происходит очень быстро. И ощущения прежние — совсем не отличаются от обычного игрового процесса.

Есть одна загвоздка. Для хорошей работы такого сервиса, его сервера должны быть максимально близко к клиенту. Чем ближе — тем меньше расстояние, быстрее скорость, пинг — тем лучше. Так что, насколько знаю, это все хорошо работает пока только в Америке.

Видео работы Gaikai и OnLive:

Конечно, можно поразмышлять о темных мыслях и желаниях жадных бизнесменов и маркетологов. А еще о теории заговора. Мол, это нарушение свободы — информации в своей собственности не будет, все будет происходить на серверах буржуазных компаний. А еще они захотят денег, и еще больше денег. И альтернативы не будет. Тех старых добрых ламповых компьютеров..

Насчет этого не знаю. Хочется верить в лучшее. Но так или иначе, мир движется к этому неизбежному будущему.

Изображение отсюда.