Введение в облачные и распределенные информационные системы. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Введение в облачные и распределенные информационные системы - Тимур Машнин страница 5

СКАЧАТЬ программируемым, асинхронным, но и подверженным сбоям, и эти объекты обмениваются информацией через ненадежную среду связи.

      Здесь объекты – это по существу процессы.

      Таким образом, каждый объект является процессом, который работает на каком-либо устройстве.

      И каждый объект является автономным и программируемым, так как это процесс.

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

      И эти объекты подвержены сбоям, и их коммуникация не надежна.

      Асинхронность отличает распределенные системы от параллельных систем.

      Параллельные системы включают в себя многопроцессорные системы и суперкомпьютеры.

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

      Они взаимодействуют друг с другом по тесно связанной сети, и все они имеют синхронизированные циклы или часы.

      И этим параллельная система отличается от распределенной системы.

      Таким образом, процесс, это автономная работающая программа, которая может иметь несколько потоков.

      Процесс выполняет множество задач, которые могут быть распределены по потокам, и которые могут выполняться на одном или нескольких процессорах.

      В распределенных системах, эти процессы работают на разных устройствах, системные времена которых не синхронизированы.

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

      При этом процессоры имеют синхронизированное системное время.

      MapReduce

      MapReduce – это модель распределённых вычислений, представленная компанией Google.

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

      Термины map и reduce, которые составляют термин MapReduce, заимствованы из функциональных языков, таких как Lisp.

      Например, вы хотите вычислить сумму квадратов.

      Функция map – функция, которая может быть применена к любому из этих целых чисел и вычисляет квадрат каждого числа.

      Так что map здесь является мета функцией, которая обрабатывает каждую запись.

      Это первая часть.

      Вторая часть – это функция reduce, которая получает на вход список соответствующих квадратов целых чисел и просто суммирует их.

      reduce здесь снова является мета функцией, которая применяется к группе записей.

      Предположим, что у нас есть текст, и нам нужно произвести подсчет для каждого слова, которое СКАЧАТЬ