Сервер - статьи

       

Особенности параллельной обработки


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

Еще одним шагом на пути увеличения общей производительности систем в свое время стало появление мультизадачных операционных систем, которые могут функционировать с одним центральным процессором. Такая ОС каждой из задач, с учетом ее приоритетности, выделяет квант процессорного времени, из-за чего у пользователя создается впечатление, что выполнение задач распараллеливается.

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

Идея создания мультипроцессорных мультизадачных вычислительных комплексов отнюдь не нова, она будоражила головы создателей едва ли не со времен первых ЭВМ. Еще в ранних мультипроцессорных системах конструкторы пытались организовать мультипроцессорные комплексы таким образом, чтобы связь между процессорами осуществлялась по принципу «главный – подчиненный». В этих условиях главному процессору ставилась задача управления всеми подсистемами вычислительного комплекса, тогда как «подчиненные» процессоры выполняли лишь те задания, которые им адресовал «главный». Разумеется, эффективность и скорость работы такой системы из-за весьма высоких «административных» задержек была не столь высокой, как хотелось бы. Кроме того, на начальном пути развития мультипроцессорных систем техника их эффективного программирования была неразвита до такой степени, чтобы предоставить программам возможность задействовать ресурсы кооперативно. Решение описанной проблемы и привело к созданию симметричных мультипроцессорных систем (Symmetric Multiprocessing – SMP), которые сегодня превратились в самую распространенную мультипроцессорную архитектуру.



Содержание раздела