Експеримент Мрежата е на диета; Fraunhofer IAO - БЛОГ

След като World Wide Web направи революция в интернет през 90-те години, вече няколко години сме изправени пред друго революционно развитие: изчислителни мрежи (de.wikipedia.org/wiki/Grid-Computing). При изчислителните мрежи децентрализираните компютри и изчислителните клъстери се комбинират във „виртуален суперкомпютър“ чрез Интернет. Това осигурява директен достъп до ресурсите на мрежата, като компютри, памет, научни инструменти и експерименти, приложения, данни и сензори.

експеримент

От 2001 г. IAO управлява Fraunhofer Resource Grid (www.fhrg.fraunhofer.de) заедно с няколко други института на Fraunhofer. Откакто инициативата D-Grid (www.d-grid.de/) стартира през 2005 г., Fraunhofer IAO също участва в различни области на изчислителните мрежи. Фокусът е върху подобряване на използваемостта на услугите, подобряване на архитектурата на сигурността и разработване на бизнес модели за доставчици на ресурси и услуги.

В този контекст бихме искали да ви запознаем с експериментален мрежов подход: LiDiC - Леки разпределени изчисления. При този подход се създава „олекотена“ мрежова среда, използваща нормални браузъри с активиран JavaScript. Всеки брой от тези браузъри са насочени към определен URL и работните пакети се предават на браузъра с помощта на JavaScript и AJAX технология. Работните пакети се обработват от браузърите и резултатите след това се изпращат обратно на сървъра.

Голямото предимство на този подход е, че той не изисква клиентска инсталация, така че за разлика от други мрежови проекти като SETI @ home или World Community Grid, всеки потребител на интернет може веднага да участва в изчисленията. Поради лекия подход може да се каже: LiDiC е мрежова среда на диета!

Фигура 1 показва основната структура: Главният задател създава работните пакети, които се разпространяват до наличните уеб браузъри (работници) от HTTP сървър. Резултатите от работниците се изпращат обратно на сървъра, който след това ги прави достъпни за майстора на заданието.

Как може такава мрежа да се използва успешно в ежедневния дигитален живот от компании и частни лица? Една от възможностите би била вътрешната употреба, тъй като днес много компютри работят с многоядрени процесори, които не се използват пълноценно от ежедневните офис приложения. Съвременните браузъри поддържат ефективно разпределение на отворени прозорци към различни процесорни ядра, което означава, че всеки служител може да има вътрешната мрежа на компанията, изчислена в един или повече прозорци на браузъра, без това да има влияние върху производителността на останалите приложения или сърфиране в Интернет.

Фиг. 1

Резултатът би бил оптимално използване на собствените компютърни ресурси на компанията и поради лекия подход не би било необходимо да се инсталира клиентско приложение на всички компютри на служителите.

Освен това има изолирани опити да се използва такава мрежа в търговската мрежа. Пример за това е компанията PluralProcessing, която предлага пари на операторите на уебсайтове, ако те интегрират Java аплет в своя уебсайт. След това с помощта на този аплет разпределените изчисления се извършват в уеб браузъра на посетителя на сайта.

Подходът, представен в тази статия, трябва да се разглежда като експеримент. При продуктивна експлоатация трябва да се обработват големи натоварвания и да се вземат предвид и аспектите на синхронизация и безопасност. В допълнение, избраният HTTP протокол и изчисленията в JavaScript водят до големи режийни разходи, поради което подходът може бързо да стане неефективен, ако се приложи към грешен домейн на проблема. Независимо от това, базираната на браузър мрежова инфраструктура предлага изкусителната възможност, че всеки компютър с интернет връзка може да допринесе за изчислително време в мрежа.

Подробности за експеримента

Избрахме да изчислим най-краткия път като задача за експеримента
между начален възел и всеки възел в насочена графика (de.wikipedia.org/wiki/Graphentheorie). Обикновено алгоритъмът на Dijkstra [Dijkstra59] се използва за търсене на минималното разстояние в насочена графика, но не може да бъде успореден достатъчно. Ето защо внедрихме първоначално търсене в ширина, предложено в беседа на Google (nl.youtube.com/watch?v=BT-piFBP4fE), при което паралелизмът се въвежда чрез модела MapReduce [Dean04].

Фиг. 2
С този алгоритъм главното задание преминава през няколко итерации на първоначално търсене и по този начин определя глобалния оптимум на най-кратките пътища в графиката. Като набор от данни използваме синтетично генерирана графика „Малък свят“ съгласно [Wenzel02] със 100 000 възла и 400 218 насочени ръбове (вижте фигура 2).

[Dijkstra59] E. W. Dijkstra. Бележка за два проблема във връзка с графики. Числова математика 1. стр. 269–271. 1959 г.
[Wenzel02] L. Wenzel. Колко малък е светът. Кутия за инструменти. 2002 г.
[Dean04] J. Dean, S. Ghemawat. MapReduce: Опростена обработка на данни на големи клъстери. OSDI. 2004 г.