Аннотация
В мире существует необходимость решать ресурсоемкие задачи. Чаще всего такие задачи невозможно решить в разумные сроки последовательными алгоритмами. Многие из них можно выполнить только на базе высокопроизводительной техники с помощью методов параллельных вычислений [1–2].
Благодаря постоянному росту пропускной способности сетей передачи данных и удешевлению сетевого оборудования стало возможным создавать дешевые вычислительные кластеры на базе сетей предприятия (также учебных классов).
Идея создания Распределенной вычислительной системы (РВС) на базе серийных ПК существует давно [3]. Коммуникации территориально разрозненных ПК в РВС осуществляются через глобальную сеть интернет. Таким образом, теоретическое увеличение производительности всей системы не имеет верхней границы за счет включения в нее новых ПК.
Вычисления производятся с помощью специального ПО, которое необходимо «инсталлировать» (installation) на ПК. В случае «добровольных вычислений» [4] по ряду причин не все пользователи удаленных ПК могут инсталлировать себе такое ПО.
В статье предлагается альтернативный подход к созданию средств построения РВС из серийных ПК. В качестве промежуточного ПО используется браузер, в который загружается web-приложение с необходимым для вычислений функционалом. Использование такого подходя стало возможным благодаря «эволюции» браузерных технологий.
В совокупности это позволит создать высокопроизводительные вычислительные средства за счет более простого способа присоединения новых ПК к «добровольным вычислениям».
Ключевые слова: браузер, сложные задачи, параллельный алгоритм, высокопроизводительные вычислительные средства, javaScript, распределенные вычислительные системы, добровольные вычисления, WebRTC
Список литературы
1. Мищенко П.В. Вопросы построения распределенных вычислительных систем с применением технических и программных средств сетей ЭВМ // Современные проблемы технических наук: тезисы докладов Новосибирской межвузовской научной студенческой конференции «Интеллектуальный потенциал Сибири». – Новосибирск, 2011. – Ч. 1.
2. Sansom C. The DNA deluge [Electronic resource] // Scientific Computing World: website. – URL: http://www.scientific-computing.com/features/feature.php?feature_id=168 (accessed: 28.04.2016).
3. Евреинов Э.В. Однородные вычислительные системы, структуры и среды. – М.: Радио и связь, 1981. – 208 с.
4. Добровольные вычисления [Электронный ресурс] // Википедия. Свободная энциклопедия. – URL: https://ru.wikipedia.org/wiki/Добровольные_вычисления (дата обращения: 28.04.2016).
5. Intel® Xeon® Processor E7-8890 v3 [Electronic resource] // Intel®: website. – URL: http://ark.intel.com/products/84685/Intel-Xeon-Processor-E7-889 (accessed: 28.04.2016).
6. Прошлое роста производительности: конец гонки частот, многоядерность и почему прогресс увяз на одном месте [Электронный ресурс] // Хабрахабр: web-сайт. – URL: https://habrahabr.ru/company/intel/blog/174719/ (дата обращения: 28.04.2016).
7. Мищенко П.В. Алгоритмы и структуры управления параллельными процессами в распределенных вычислительных системах: магистер. дис. – Новосибирск, 2012. – 83 с.
8. Андреев А., Манзюк М., Ватутин Э. Весь мир как суперкомпьютер / беседу вел С. Попов // Троицкий вариант – наука. – 2012. – № 16 (110). – С. 7.
9. Open-source software for volunteer computing [Электронный ресурс] // BOING: web-сайт. – URL: http://boinc.berkeley.edu/ (дата обращения: 28.04.2016).
10. Seti@home: web-сайт [Электронный ресурс]. – URL: http://setiathome.berkeley.edu/ (дата обращения: 28.04.2016).
11. Bellifemine F., Caire G., Greenwood D. Developing multi-agent systems with JADE. – Hoboken, NJ: John Wiley & Sons, 2007. – 300 p.
12. Hypertext Transfer Protocol -- HTTP/1.1 [Electronic resource] / R. Fielding, J. Gettys, J.C. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. – URL: https://tools.ietf.org/html/rfc2616 (accessed: 28.04.2016).
13. Osmani A. Learning JavaScript design patterns. – Sebastopol, CA: O'Reilly Media, 2012. – 254 p.
14. Freeman E., Robson E. HTML5 programming: building web apps with JavaScript. – Sebastopol, CA: O'Reilly Media, 2011. – 608 p.
15. Таненбаум Э. Компьютерные сети. – 4-е изд. – СПб.: Питер, 2003. – 992 с.
16. Хорошевский В.Г. Архитектура вычислительных систем. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. – 512 с.
17. Green I. Web workers multithreaded programs in JavaScript. – Beijing: O’Reilly, 2013. – 62 p.
18. HTML5. A vocabulary and associated APIs for HTML and XHTML: W3C Recommendation 28 October 2014 // W3C (The World Wide Web Consortium): website. – URL: https://www.w3.org/TR/html5/ (accessed: 12.04.2016).
19. The computer language benchmarks game [Electronic resource] // Debian: web-сайт. – URL: http://benchmarksgame.alioth.debian.org/u64/javascript.php (дата обращения: 29.04.2016).