Откуда есть пошла
Не так давно выпустился я из такого занимательного (судя по временным затратам, на бесполезную деятельность) заведения, как университет. Ну, казалось бы, закончил учебу, так живи и радуйся. Работай, плати налоги, в общем, будь добр, отрабатывай то, что вложило в тебя государство. Вот все бы хорошо, но незадолго до выпуска увлекла меня одна любопытная тема- тема распределенных вычислений. Ведь это же прям коллективный “разум”, “взаимовыручка” среди железной братии. Забавно, не правда ли?! Да и хочется двигать науку, аж зубы ноют. Причем двигать не, простите, в глубь, как это ныне популярно (посмотрим в сторону отечественных нанотехнологий), а скорее вытянуть на свет, как бы пафосно это не звучало. Так что чем не тема для кандидатской диссертации?!
![image](https://habrastorage.org/getpro/habr/post_images/2bc/479/e45/2bc479e4508171a36f09d6cb78666c51.gif)
Только вот тема-то достаточно широка. Нет, своих проблем в данной области хватает, конечно, но большинство из них пережевывалось уже не раз… Стоп! А если вспомнить о второй навязчивой идее, которая пришла ко мне, лишь немногим позже — разработка под мобильные платформы.
Как оно есть сейчас
На данный момент, в сетях распределенных вычислений, используются “настольные” машины, централизованные сервера для сбора результатов и для раздачи решаемых заданий. А почему же никто не обращает внимания на небольшие и полезные гаджеты, “обитающие” в кармане практически у каждого?! Да, они в разы слабее, способы передачи данных между ними медленней, но их больше и питания требуют меньше.
![image](https://habrastorage.org/getpro/habr/post_images/195/ef1/227/195ef1227891ccf609d99b04ccffa900.jpg)
Да, для серьезных, масштабных задач применять мобильные платформы в качестве вычислительных узлов — смешно. Нет, тому же “Climate Prediction Production” вряд ли помешает лишняя мощность (хотя тут еще интересно, задание выдать нужно, тратя процессорное время, передать нужно, отбирая часть пропускной способности, при малой отдаче), но она будет столь незначительной, что ей не грех и пренебречь.
Хочу, что бы у моих ног тек Нил
Другое же дело, если Вам что-то захотелось обработать/вычислить вдалеке от своей стационарной машины или ноутбука. Сидите на паре в университете, ждете на остановке автобуса, отдыхаете в небольшой горной хижине с друзьями, да вообще занимаетесь, Бог весть чем, ну и понадобилось Вам поиграть в мощную игрушку, обработать сложную 3D модель, вычислить вероятность схода лавины, в конце концов. Проблемка: правда: мощности маловато. Но если рядом есть люди, являющиеся счастливыми обладателями мобильной платформы, то все становится гораздо проще. Почему бы не позаимствовать ненужную в данный момент мощность коммуникатора или смартфона или двух? И вот Вы уже вовсю “гоняете” портированый дум3 на относительно слабом гаджете.
![](https://habrastorage.org/getpro/habr/post_images/13e/491/b98/13e491b9823407baf2c403decb67f734.jpg)
Скорости Bluetooth 2.0 должно вполне хватить для обеспечения эффективной передачи исходных/обработанных данных. Причем в случае обработки большого массива данных, когда Вам нужен лишь конечный результат, можно запустить задачу и идти заниматься своими делами. Все встреченные на пути девайсы, попавшие в зону действия Bluetooth-адептера Вашего устройства и участвующие в данном проекте, внесут свою лепту, выделив процессорное время. Или Вы поделитесь мощностью своего аппарата. Тут же можно примотать систему рейтинга, как на тех же торрентах. Как там было у Гёте: “Тот сам становится богаче, кто щедро жертвует в раздаче”. Почему бы не реализовать подобное, только в отношении процессорного времени?!
Немного дегтя меду не помешает
Конечно, не все так безоблачно: нужно учитывать, что выпадения конечных узлов будут гораздо чаще, так же не стоит забывать о возможности появления двух “серверов”, пытающихся распределить нагрузку и это лишь проблемы, которые первыми приходят в голову, а сколько их появится в процессе реализации?! В то же время, какая разработка обходилась без возникающих в процессе реализации проблем? Хм… Видимо я таких не знаю.
От задумки к реализации
В данный момент разрабатывается методология, и реализуются пробные, скорее симуляции, чем реально действующие приложения. Начал я с наиболее известной мне платформы- Symbian, но вся суть, что система должна быть кроссплаформеной. Этот момент дополнит список проблем, о котором я говорил выше. Но нет нереразрешимых проблем, и моя технология обязательно будет реализована.
![](https://habrastorage.org/getpro/habr/post_images/df5/295/204/df52952042711967dcd3f3a13dbb07d3.jpg)
Так что, возможно, когда-нибудь Вы будете играть в очередную версию Crysis на своем смартфоне или сможете получить достаточные мощности для реализации внезапно возникшей идеи даже вдали от настольников и ноутбуков.