Міністерство освіти та науки, молоді та спорту України Національний технічний університет України «КПІ» Факультет прикладної математики Кафедра Системного програмування та спеціалізованих комп’ютерних систем Методичні вказівки для виконання комплексу лабораторних робіт 1-4 Київ 2012 2 КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ № 1-4 Тема: «Планирование заданий в многопроцессорных системах» Цель работы: изучение принципов распределения ресурсов в многопроцессорных системах. Методические указания В компьютерной системе 5 процессоров. Все процессоры разные по производительности и набору команд. В систему каждую миллисекунду (мс) поступают с определенной вероятностью задачи. Каждая задача задается следующим образом: Z(перечень процессоров, сложность (количество операций)). Перечень процессоров – номера процессоров, на которых может быть реализована данная задача. Сложность задач выбирается случайно, исходя из того, что задача должна выполняться на самом «слабом» процессоре не менее 10 мс и не более 200 мс. Задачи устанавливаются в очередь. Все задачи имеют одинаковый приоритет. Каждый процессор задается при помощи параметра «мощность» или «скорость обработки» - n операций в миллисекунду. Не смотря на то, что процессоры отличаются друг от друга, будем считать, что единица измерения одинакова и адекватна нашему заданию. Распределение ресурсов в системе может быть произведено по трем схемам: 1) FIFO (First In First Out) – самый простой алгоритм распределения задач. Его недостаток – низкая производительность из-за того, к примеру, что две (или более) последовательно идущие задачи, которые могут быть реализованы только на одном процессоре, могут заставить простаивать все остальные процессоры. 2) С отдельным процессором-планировщиком. В этом случае распределением ресурсов в системе занимается отдельный процессор, который не принимает участия в вычислениях. Так как алгоритм планирования не очень сложен, то целесообразно для 3 этих целей выделить самый «слабый» (самый низкопроизводительный) процессор. Однако, в этом случае система реально «теряет» один процессор с точки зрения производительности и части задач, ориентированных на этот процессор. Чтобы этого избежать, необходимо докупить и добавить в систему дополнительный процессор-планировщик. Но это негативно отразится на надежности системы, т.к. выход его из строя приведет к отказу системы в целом. 3) Наиболее целесообразным представляется возложение функций планирования на самый «мощный» (самый высоко- производительный) процессор, периодически прерывающий вычисления для управления очередью. В этом случае считать, что время для управления очередью составляет 4 мс. В качестве отчета по лабораторной работе следует подать 4 набора показателей работы системы: а) по п. 1); б) по п. 2); в) по п. 3), учитывая, что время работы процессора над задачами – 20 мс, а время планирования – 4 мс. г) по п. 3), но время работы над задачами определить самостоятельно, исходя из оптимальной производительности системы. Показатели работы системы: - количество реализованных задач (выполненных операций) за 10с; - количество операций, выполненных системой за 10с. Примечание: необходимо брать среднее арифметическое количества реализованных задач (операций) для пяти испытаний по каждому из вариантов а), б), в), г). - КПД системы; - КПД’ системы. КПД - соотношение числа выполненных системой за 10с операций к максимально возможному количеству операций (сумме производительности всех процессоров за 10с). 4 КПД’ - соотношение числа выполненных системой за 10с операций к сумме реальной вычислительной производительности процессоров за 10с. Здесь необходимо учитывать то, что в пункте б) не все процессоры выполняют вычислительную работу, а пунктах в) и г) самый мощный процессор работает не все время. Очевидно, что для пункта а) КПД=КПД’. Программный интерфейс должен предоставлять возможность преподавателю задавать: а) производительности всех пяти процессоров; б) вероятности возникновения задачи в текущую миллисекунду; в) границы сложности задач.