Интернет иногда кажется совершенно бескрайним, бездонным и не поддающимся никакому измерению и картографированию. Это не совсем так – карты интернета уже существовали. Однако разработчикам из российского агентства Positive Communications удалось создать новую, подробную и очень интересную карту интернета. Она располагается по адресу internet-map.net – рекомендую немедленно пойти и посмотреть на неё.

Карта сделана на основе движка Google Maps, и по ней можно как передвигаться и зуммировать, так и искать. Достаточно ввести адрес сайтов в поисковую строку, и он будет найден на карте (если, конечно он на ней есть).

Размер каждого кружочка-сайта зависит от его посещаемости, а расположение сайтов напрямую зависит от того, как люди перемещаются между ними. Данные взяты из рейтинга Alexa.

В центре, конечно же, расположен англоязычный сегмент, а его ядро – это всем известные гиганты.

Жёлтая область внизу слева – это Китай.

Фиолетовая – справа – Япония.

Разноцветная Европа – между центром и Японией. Преобладает синий цвет – это немецкий сегмент.

Область внизу посередине того же цвета, что и все англоязычные сайты – это волшебная страна Порнография. В интернете её размеры сопоставимы с любым языковым сегментом.

А вот красное сверху – это наш Рунет. Гигантов, опять же, видно сразу. Кружок по центру выше mail.ru – это “Одноклассники”. Снизу под “Вконтакте” – Liveinternet. Livejournal на этой картинке не уместился – он находится севернее Google.ru и имеет почти тот же размер, что и vkontakte.ru (vk.com, кстати, посчитан отдельно и имеет относительно скромный размер).

Между “Вконтакте” и “Яндексом” оказался белорусский сегмент.

Украинская часть интернета залегает неподалёку и тоже оказалась запрятана в почти в центре Рунета.

Подробнее о том, как делалась карта, можно узнать из поста её разработчика Руслана Еникеева на “Хабрахабре”. Вот пара выдержек оттуда.

Основная проблема заключалась в колоссальной вычислительной сложности подобного алгоритма. Ведь при решении задачи «в лоб», на каждом шаге нужно вычислять суперпозицию сил для каждого сайта, т.е. вычислять силы для каждой пары сайтов, а таких пар около 122 млрд. (неплохо для одного шага, правда?). Поэтому была проведена жесткая оптимизация алгоритма и полное распараллеливание вычислений. К счастью платформа .net оказалась на удивление хорошей для подобного рода забав.

Исходные данные были взяты у Алексы, они представляют собой записи о посещаемости, upstream и downstream переходах юзеров (upstream – откуда пришли, downstream – куда ушли). После нормализации мы получаем взвешенный ненаправленный граф с 350 тысячами вершин и более 2 млн. ребер.

Обсчет такого графа – сложная вычислительная задача, поэтому был написан специальный модуль для GPU, но к счастью он не понадобился. После хитрых оптимизаций весь обсчет занял несколько недель непрерывной работы мощного, но все-таки бытового железа.