Планирование процессов
Я планов наших люблю громадьё.
Чем тщательнее мы планируем свою деятельность, тем меньше времени остается на ее осуществление.
Из анналов Госплана
Всякий раз, когда нам приходится иметь дело с ограниченным количеством ресурсов и несколькими их потребителями, будь то фонд заработной платы в трудовом коллективе или студенческая вечеринка с несколькими ящиками пива, мы вынуждены заниматься распределением наличных ресурсов между потребителями или, другими словами, планированием использования ресурсов. Такое планирование должно иметь четко поставленные цели (чего мы хотим добиться за счет распределения ресурсов) и алгоритмы, соответствующие целям и опирающиеся на параметры потребителей. Только при правильном выборе критериев и алгоритмов можно избежать таких вопросов, как: “Почему я получаю в десять раз меньше, чем мой шеф?” или “А где мое пиво?”. Настоящая лекция посвящена планированию исполнения процессов в мультипрограммных вычислительных системах или, иначе говоря, планированию процессов .
Уровни планирования
В первой лекции, рассматривая эволюцию компьютерных систем, мы говорили о двух видах планирования в вычислительных системах: планировании заданий и планировании использования процессора. Планирование заданий появилось в пакетных системах после того, как для хранения сформированных пакетов заданий начали использоваться магнитные диски. Магнитные диски, являясь устройствами прямого доступа, позволяют загружать задания в компьютер в произвольном порядке, а не только в том, в котором они были записаны на диск . Изменяя порядок загрузки заданий в вычислительную систему, можно повысить эффективность ее использования. Процедуру выбора очередного задания для загрузки в машину, т. е. для порождения соответствующего процесса, мы и назвали планированием заданий. Планирование использования процессора впервые возникает в мультипрограммных вычислительных системах, где в состоянии готовность могут одновременно находиться несколько процессов. Именно для процедуры выбора из них одного процесса, который получит процессор в свое распоряжение, т. е. будет переведен в состояние исполнение , мы использовали это словосочетание . Теперь, познакомившись с концепцией процессов в вычислительных системах, оба вида планирования мы будем рассматривать как различные уровни планирования процессов .
Планирование заданий используется в качестве долгосрочного планирования процессов . Оно отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования , т. е. количество процессов, одновременно находящихся в ней. Если степень мультипрограммирования системы поддерживается постоянной, т. е. среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Поэтому долгосрочное планирование осуществляется достаточно редко, между появлением новых процессов могут проходить минуты и даже десятки минут. Решение о выборе для запуска того или иного процесса оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного времени. Отсюда и название этого уровня планирования – долгосрочное . В некоторых операционных системах долгосрочное планирование сведено к минимуму или отсутствует вовсе. Так, например, во многих интерактивных системах разделения времени порождение процесса происходит сразу после появления соответствующего запроса. Поддержание разумной степени мультипрограммирования осуществляется за счет ограничения количества пользователей, которые могут работать в системе, и особенностей человеческой психологии. Если между нажатием на клавишу и появлением символа на экране проходит 20–30 секунд, то многие пользователи предпочтут прекратить работу и продолжить ее, когда система будет менее загружена.
Планирование использования процессора применяется в качестве краткосрочного планирования процессов . Оно проводится, к примеру, при обращении исполняющегося процесса к устройствам ввода-вывода или просто по завершении определенного интервала времени. Поэтому краткосрочное планирование осуществляется, как правило, не реже одного раза в 100 миллисекунд. Выбор нового процесса для исполнения оказывает влияние на функционирование системы до наступления очередного аналогичного события, т. е. в течение короткого промежутка времени, чем и обусловлено название этого уровня планирования – краткосрочное .
В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура в англоязычной литературе получила название swapping, что можно перевести на русский язык как “перекачка”, хотя в специальной литературе оно употребляется без перевода – свопинг. Когда и какой из процессов нужно перекачать на диск и вернуть обратно, решается дополнительным промежуточным уровнем планирования процессов – среднесрочным .
Критерии планирования и требования к алгоритмам
Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование . К числу таких целей можно отнести следующие:
- Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться.
- Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.
- Сокращение полного времени выполнения ( turnaround time ) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.
- Сокращение времени ожидания ( waiting time ) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.
- Сокращение времени отклика ( response time ) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
Независимо от поставленных целей планирования желательно также, чтобы алгоритмы обладали следующими свойствами.
- Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.
- Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.
- Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.
- Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки. Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.
Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия , мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса. “В одну телегу впрячь не можно коня и трепетную лань”. Ничего не поделаешь. Такова жизнь.
Электронная библиотека
Краткосрочное и долгосрочное планирование обеспечивает последовательное достижение целей предприятия и для организации успешного функционирования системы планирования необходимо создать следующие предпосылки:
1) кадровые, включающие готовность руководства управлять предприятием в рамках системы планирования на основе четко сформулированных целей и принципов управления. Выбор целей и установление путей их достижения непосредственно входят в процесс планирования. Для успешного планирования требуются подготовленные специалисты-плановики, недостаток которых в современный период обнаруживается на большинстве российских предприятий;
2) организационные, т.е. дееспособная организация предприятия. На предприятии необходим налаженный организационный механизм планирования. Органы управления и организационные единицы, образующие соответственно плановую и организационную пирамиды, должны перекрывать друг друга. С точки зрения внешних факторов планирование предполагает прогнозирование рыночных условий, а с точки зрения внутренних факторов — согласованность работы всех подразделений предприятия. В целом планирование предполагает организационное единство предприятия;
3) методические, т.е. разработанная на предприятии система планов, установившаяся методика их разработки и опыт их применения. Большинство предприятий самостоятельно разрабатывает плановую методическую документацию, включающую конкретные формы планов, сроки их утверждения и выполнения, средства контроля и пр. Применяются и общие методические документы, рекомендуемые чаще всего государственными органами, например, для получения малыми предприятиями льгот, предусмотренных законом, или банками в целях получения кредитов;
4) информационные, т.е. наличие эффективного инструментария для сбора, переработки и передачи планово-контрольной информации. Это система управленческого и финансового учета, прогнозно-аналитическая система, рекламно-социологическая служба, система электронной обработки данных и пр.
Сложность планирования в условиях рыночной экономики усилена тем, что некоторые экономические процессы на макроуровне, например, кризисы, вызванные политической нестабильностью, частая смена правительства, финансовые потрясения и забастовки — вообще не поддаются точному планированию. Кроме того, многие микроэкономические показатели, характеризующие рынок в целом, деятельность конкурентов, объемы спроса и пр., не обладают высокой достоверностью и точностью.
Организуя свой бизнес, предприниматели планируют свою деятельность с разработки бизнес-плана, позволяющего оценивать перспективу начатого дела и дать обоснование предпринимательского проекта. Для большинства банков бизнес-план является обязательным документом для предоставления кредитов. Аналогичное требование выдвигает и Правительство Москвы при предоставлении льгот малым предприятиям. Этот план не имеет строго регламентированных временных границ. Для некоторых предприятий (Сбербанк России) бизнес-план является обязательной годовой формой управленческой деятельности, мало отличающейся от годового плана (в отличие от последнего бизнес-план необязательно составляется на начало календарного года). Чаще всего бизнес-план разрабатывается в связи с открытием предприятия или изменениями в его производственной, сбытовой и прочей деятельности.
Горизонтом планирования называют тот временной отрезок (месяц, квартал, год и пр.), на который рассчитано выполнение планового задания. Выбор конкретного горизонта планирования зависит от многих факторов, основными из которых считаются следующие:
1. среднее время от появления идеи до ее внедрения — временной цикл предпринимательского проекта;
2. продолжительность воздействия принимаемых решений на организацию, т.е. период связанности этими решениями;
3. степень предсказуемости будущего, т.е. в течение какого времени можно прогнозировать устойчивое развитие проекта.
Поэтому в зависимости от горизонта планирования различают долго-, средне- и краткосрочное планирование. В большинстве американских и английских компаний используются пятилетние планы, а в Японии чаще встречаются трехлетние. Это связано с тем, что японские предприятия действуют в условиях большей неопределенности, а в США и Великобритании горизонт планирования длиннее потому, что внешнее окружение компаний более стабильно и менее конкурентно. До начала 1990-х годов отечественные предприятия применяли планы с самыми разными горизонтами планирования. В настоящее время чаще всего применяется годовой план, как разновидность текущего (оперативного) планирования.
В зависимости от сроков действия, как и от горизонта планирования, различают долгосрочное (перспективное), средне- и краткосрочное планирование. Долгосрочный план, как правило, рассчитан на срок от 5 до 15 лет и предусматривает формирование перспективных целей предприятия, а также принятие решений, направленных на лучшее распределение его ресурсов на основе долгосрочных прогнозов. Этот вид планирования имеет два важных основания: внедрение новшеств и объединение инновационных стратегий подразделения предприятия. Примером долгосрочного планирования выступает генеральное целевое планирование, определяющее генеральные цели предприятия и к числу которых можно отнести постановку всех общих экономических и неэкономических задач предприятия. При целевом планировании определяются области деятельности, отраслевой профиль предприятия, важнейшие стоимостные цели (финансовые результаты, ликвидность) и социальные цели (социальное положение, модель поведения по отношению к персоналу, партнерам по бизнесу, государству, имидж предприятия), а также важнейшие ожидаемые результаты.
Еще одной разновидностью долгосрочного планирования является стратегический план предприятия, в котором намечены стратегические цели предприятия и основные ориентиры их достижения — планирование роста и развития предприятия, инновационное планирование. Стратегическое планирование включает три взаимосвязанные задачи: выработку миссии предприятия, представление миссии в виде долгосрочных и краткосрочных задач и выработку стратегии достижения поставленных целей. Формой долгосрочного планирования выступают также инвестиционные проекты – планы капитальных вложений, направляемых на создание новых производственных мощностей или на модернизацию действующего производства. Иногда период, на который разрабатываются такие проекты, совпадает со сроком службы создаваемых производственных мощностей. Фирмы также могут планировать портфельные инвестиции, механизм подготовки и принятия решений которых имеет свой инструментарий. Долгосрочный план может строиться по принципу согласования нескольких среднесрочных, а также краткосрочных планов. При этом планы, рассчитанные на ближайшие годы деятельности предприятия, отличаются большей детализацией.
Среднесрочные планы разрабатываются на срок от 1 года до 5 лет. В сравнении с долгосрочными — эти планы более подробны, содержат больше количественных показателей и в них делают упор на распределение ресурсов. Объектами среднесрочного планирования являются организационная структура предприятия, производственные мощности, капитальные вложения, потребности в финансовых ресурсах, исследования, разработки и пр. В отечественной экономической практике среднесрочный план, как правило, входит составной частью в план перспективный. Преимущество такого планирования заключается в том, что, во-первых, отделение стратегических планов от количественных проектировок позволяет вычленить стратегические вопросы, и, во-вторых, сокращение горизонта количественного плана придает большую достоверность долгосрочным проектам. Финансовое планирование на срок более 3 лет теряет значение, поскольку значительно возрастает неопределенность.
Краткосрочное планирование рассчитано на срок до 1 года (в том числе год, полгода, месяц и менее). Примером краткосрочного планирования служат план товарооборота, производственный план, план по труду, план движения запасов готовой продукции и смета расходов. Краткосрочное планирование тесно связывает планы различных партнеров и поставщиков и потому все эти планы либо согласовываются, либо отдельные их моменты являются общими как для самой компании-производителя, так и для ее партнеров. Краткосрочное планирование выступает в форме текущих и оперативных (оперативно-производственных) планов.
В текущем плане увязаны все направления деятельности предприятия (производство, сбыт, исследования и разработки, снабжение, маркетинг, финансовый учет и пр.) и работы всех его структурных подразделений (филиалов, цехов, участков) на текущий финансовый год. Такие планы детально разрабатываются для каждого функционального подразделения в форме бюджетов, в которых для реализации плановых задач выделяются определенные ресурсы. Совокупность бюджетов находит отражение в годовом финансовом плане, в котором планируются денежные потоки, прибыли и убытки, отражается состояние баланса предприятия.
Оперативные планы направлены на решение конкретных вопросов деятельности предприятия в краткосрочном периоде. Они имеют более узкую направленность, высокую степень детализации и характеризуются большим разнообразием используемых приемов и методов.
Срочно?
Закажи у профессионала, через форму заявки
8 (800) 100-77-13 с 7.00 до 22.00
Планирование процессов
Я планов наших люблю громадьё.
Чем тщательнее мы планируем свою деятельность, тем меньше времени остается на ее осуществление.
Из анналов Госплана
Всякий раз, когда нам приходится иметь дело с ограниченным количеством ресурсов и несколькими их потребителями, будь то фонд заработной платы в трудовом коллективе или студенческая вечеринка с несколькими ящиками пива, мы вынуждены заниматься распределением наличных ресурсов между потребителями или, другими словами, планированием использования ресурсов. Такое планирование должно иметь четко поставленные цели (чего мы хотим добиться за счет распределения ресурсов) и алгоритмы, соответствующие целям и опирающиеся на параметры потребителей. Только при правильном выборе критериев и алгоритмов можно избежать таких вопросов, как: “Почему я получаю в десять раз меньше, чем мой шеф?” или “А где мое пиво?”. Настоящая лекция посвящена планированию исполнения процессов в мультипрограммных вычислительных системах или, иначе говоря, планированию процессов .
Уровни планирования
В первой лекции, рассматривая эволюцию компьютерных систем, мы говорили о двух видах планирования в вычислительных системах: планировании заданий и планировании использования процессора. Планирование заданий появилось в пакетных системах после того, как для хранения сформированных пакетов заданий начали использоваться магнитные диски. Магнитные диски, являясь устройствами прямого доступа, позволяют загружать задания в компьютер в произвольном порядке, а не только в том, в котором они были записаны на диск . Изменяя порядок загрузки заданий в вычислительную систему, можно повысить эффективность ее использования. Процедуру выбора очередного задания для загрузки в машину, т. е. для порождения соответствующего процесса, мы и назвали планированием заданий. Планирование использования процессора впервые возникает в мультипрограммных вычислительных системах, где в состоянии готовность могут одновременно находиться несколько процессов. Именно для процедуры выбора из них одного процесса, который получит процессор в свое распоряжение, т. е. будет переведен в состояние исполнение , мы использовали это словосочетание . Теперь, познакомившись с концепцией процессов в вычислительных системах, оба вида планирования мы будем рассматривать как различные уровни планирования процессов .
Планирование заданий используется в качестве долгосрочного планирования процессов . Оно отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования , т. е. количество процессов, одновременно находящихся в ней. Если степень мультипрограммирования системы поддерживается постоянной, т. е. среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Поэтому долгосрочное планирование осуществляется достаточно редко, между появлением новых процессов могут проходить минуты и даже десятки минут. Решение о выборе для запуска того или иного процесса оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного времени. Отсюда и название этого уровня планирования – долгосрочное . В некоторых операционных системах долгосрочное планирование сведено к минимуму или отсутствует вовсе. Так, например, во многих интерактивных системах разделения времени порождение процесса происходит сразу после появления соответствующего запроса. Поддержание разумной степени мультипрограммирования осуществляется за счет ограничения количества пользователей, которые могут работать в системе, и особенностей человеческой психологии. Если между нажатием на клавишу и появлением символа на экране проходит 20–30 секунд, то многие пользователи предпочтут прекратить работу и продолжить ее, когда система будет менее загружена.
Планирование использования процессора применяется в качестве краткосрочного планирования процессов . Оно проводится, к примеру, при обращении исполняющегося процесса к устройствам ввода-вывода или просто по завершении определенного интервала времени. Поэтому краткосрочное планирование осуществляется, как правило, не реже одного раза в 100 миллисекунд. Выбор нового процесса для исполнения оказывает влияние на функционирование системы до наступления очередного аналогичного события, т. е. в течение короткого промежутка времени, чем и обусловлено название этого уровня планирования – краткосрочное .
В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура в англоязычной литературе получила название swapping, что можно перевести на русский язык как “перекачка”, хотя в специальной литературе оно употребляется без перевода – свопинг. Когда и какой из процессов нужно перекачать на диск и вернуть обратно, решается дополнительным промежуточным уровнем планирования процессов – среднесрочным .
Критерии планирования и требования к алгоритмам
Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование . К числу таких целей можно отнести следующие:
- Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться.
- Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.
- Сокращение полного времени выполнения ( turnaround time ) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.
- Сокращение времени ожидания ( waiting time ) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.
- Сокращение времени отклика ( response time ) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
Независимо от поставленных целей планирования желательно также, чтобы алгоритмы обладали следующими свойствами.
- Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.
- Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.
- Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.
- Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки. Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.
Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия , мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса. “В одну телегу впрячь не можно коня и трепетную лань”. Ничего не поделаешь. Такова жизнь.