Определение вычислительной мощности компьютера

                            или  сколько  «попугаев»  в  ЭВМ?

Адрес документа

http://shabronov_s2.dyn-dns.ru/doc_sh/nagruzika_v3/nagruzika_v3.doc    1-4-2

Программа «определителя»

http://90.189.213.191:4422/doc_sh/nagruzika_v3/arhiv/nagruzika_v3.zip    2 мб

Исходный текст «определителя»

http://90.189.213.191:4422/doc_sh/nagruzika_v3/arhiv/test_monsys_all.zip    14мб

 

От автора:

·        Компьютеры все «мощнее» и «сильнее», как говорит про них реклама. Что бы  ориентироваться в этой «мощности» предлагается квант учета (КУ) вычислительной мощности. Приводиться описание КУ - программы часов на компьютере. Чем больше часов работает, тем больше «вычислительная мощность».

·        Программа подготовлена на языке FORTH  и доступна всем желающим для изучения и модификации.

·        Игнорируются отзывы и критика метода оценки «вычислительной мощности»   без альтернативных предложений с конкретными текстовыми примерами или исходными кодами программ.

 

Меню программы «плавной нагрузки».

·        Ниже на рисунке формата gif показано, главное, оно же и единственное окно программы.

 

 

·        Программу скачать, по приведенным ссылкам, распаковать, и выполнить в отдельной папке. Управление или цифровыми клавишами, или подвести курсор и нажать клавишу «enter», или кликнуть левой кнопкой «мышки» на цифру или букву меню.

·        Клавиша 5 -  выполняет пересчет задаваемых часиков, в размер «рабочего стола» окна. Ниже на рисунке слева «рабочий стол»  отображается без пересчета , а справа пересчитан.

 

·        По клавише =t=  извлекается текст программы часов и файл компилятора языка FORTH. Ниже показано на рисунке и выделено цветовым овалом.

 

·        В рабочем каталоге  увидите два новых файла cclock2.f  100_spf4.exe

·        Из этих двух файлов формируется третий файл - cclock2.exe.   Выполнить в командной строке

\100_spf4.exe cclock2.f <enter> 

·        Файл часов работает автономно, и может выполняться любыми другими программами. Вид  исполнения одного приложения и четырех, показан ниже на рисунках gif. Это часы, которые «тикают» по данным времени, установленном на Вашем компьютере.

      

·        Расположение и размер КУ - программы часиков в «пикселах» предусмотрено задавать и из командной строки, например  …\cclock2.exe  200 300  400 500  5 <enter>   где цифры определяют:

§         200 -  точка левого верхнего угла часиков по горизонтали на «рабочем столе»;

§         300 – точка левого верхнего угла часиков по вертикали на «рабочем столе»;

§         400 – размер часиков по горизонтали;

§         500 – размер часиков по вертикали;

§         5 -  номер часиков в названии окна «КУ квант учета».

 

·        Без командной строки устанавливаются  опции часиков 300 500 250 250 1

 

 

Алгоритм и состав компонентов  программы  часов cclock2.exe

 

·        Программа часиков cclock2.f   это обычный текстовый файл, с кодировкой ОЕМ-DOS. Открывается блокнотом со шрифтом Терминал, как показано ниже на рисунке.

 

·        Автор рекомендует использовать свободно распространяемый редактор текстов AkelPad В этом случае отображение  и редактирование удобнее. Показано ниже на рисунке.

 

·        Программу часов, условно по «территории» можно разделить на три части:

§         Входная часть. Принимает данные из командой строки, или из стека при подключении в составе верхней программы и служебные слова для формирования точек останова и отладки;

§         Вторая часть для создания окон часов формата окон Windows. Это - локальные переменные, выбор по целому, константы и dll-функции;

§         Часть формирования и исполнения  окна часиков. Содержит графику стрелок, значения синуса, формирует выбранный класс окна и т.д. А так же, содержит раздел запуска приложения для выполнения. 

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

·        Такое же правило  применяется и к формированию слов. Определили слова, и использовать их можно тут же по тексту  или в любом отдаленном   месте.

·        Далее, приведен пример форт-слова, формирующее окно часов.

 

    *  * *

(  текст программы )

    *  * *

: A_CLOCK  ( слово формирует окно для часов )

 WITH [ ACWindow ]

    (  1й объект - winobj )

    /WNDCLSEX   OBJECT TO winobj

 

    winobj initInstance

    ['] (MyWndProc)      winobj setproc

    winobj register   TO clsid  (  класс ид )

 

    ( 2й объект - awin )

    /CREATEX OBJECT TO   awin

    TIME_POZ      DUP @ SWAP 4 + @       awin setpos  ( передаем данные или из верхней программы или свои  )

    TIME_RAZM_WID DUP @ SWAP 4 + @       awin setsize

    WS_OVERLAPPEDWINDOW  WS_VISIBLE OR

                         awin setstyle

    Title                awin settitle

    winobj  getName      awin setclass

                         awin create_win

    TO Myhwnd

  ENDWITH

  DECIMAL

  0 1000 ID_TIMER Myhwnd SetTimer DROP

  Myhwnd UpdateWindow  DROP

  SW_SHOW  Myhwnd ShowWindow  DROP        ( вывести окно на экран )

  MessageLoop                      ( войти в цикл обработки сообщений )

;

 ' A_CLOCK       TASK:    Thread1_DIN5  ( сформирован адрес запуска потока )

    * * *  (  текст программы  продолжается )

 

§         Выделенная толстым шрифтом константа SW_SHOW  определяет тип отображения созданного окна. Например, если заменить данную константу на

SW_HIDE, то окно будет сформировано в скрытом виде. Это означает, что  программы будут спрятаны с рабочего стола и видны, только  через диспетчер задач.

При генерации окон в скрытом виде, сообщение о превышении ресурсов будет выдаваться без отображения окон.  Вдруг появиться сообщение «ресурсов не хватает».

§         Интервал опроса окон  задается dll функцией SetTimer, выделено толстым шрифтом в примере. Например,  если ее увеличить до 5000, то стрелки будут изменять свое положение через 5000 миллисекунд, или 5 секунд. Но, уменьшение значения, не заставит стрелки  находиться в промежуточном состоянии. Таких рисунков не предусмотрено.

§         Важно!  Уменьшение времени таймера означает, что чаще операционная система обращается к данному приложению, и соответственно больше ресурсов будет потреблять. Т.е. общее количество часиков на экране УМЕНЬШИТЬСЯ!

§         Описание алгоритма программы КУ – квант учета,  формирования часиков.

1.      Выделяется память для работы окон Windows;

2.      Формируются коды, выполнения окон Windows;

3.      Получаются данные из  командной строки о расположении и размере окна часиков

4.      Начало цикла часов -  проверяется время и по данным времени устанавливаются стрелки;

5.      Проверка на нажатие ESC или клика мышки о остановке или наличия в рабочем каталоге файла cclock2.txt – если нет таких событий то п4, иначе далее;

6.      Закрываются окна, освобождается память и программа прекращает работу.

 

§         Программа формирует «без всяких затей» стандартное окно Windows и рисует стрелки. В тексте программы, есть много констант, которые позволяют оформить окно в других стилях. Окрасить стрелки или фон часов или ввести другие «художества» для восприятия. Смотрите комментарии в тексте.

§         Режим генерации по клавише 9,  потоков,  имеет особенность – нелинейное увеличение времени формирования потоков. Это связано с тем, что приложение увеличивается  в своих размерах.  Операционная система выделяет память из  оперативных источников, а затем начинает использовать файл подкачки. И все время с увеличением.

§         Вторая особенность – это использование одного участка памяти для данных рисунков,   стрелки «накладываются» при отображении.  Операционная система не контролирует последовательность потоков. Нет возможности операционной системе  определить последовательность потоков. Это должна делать программа

§         Другая особенность запуска многих потоков на исполнения без учета их последовательности в том, что существует возможность старта одного потока и не завершения старта другого потока, а данные стрелок уже поменялись. Для этого, надо потоки запускать с интервалом более чем одна секунда. В противном случае некоторые потоки не сформируются, и будет пропущенное окно часов.

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

 

 

Определение предела вычислительной мощности

 

§         Задаем «запредельный предел» в 400 КУ, и выполняем программу, нажав клавишу 0. КУ формируется, и перестает формироваться на числе 143, как показано ниже на рисунке. Выделено цветовым овалом места отображения.

 

§         Фиксируем данные экрана по клавише F1, формируется отчетный файл данных в рабочем каталоге, или просто запоминаем, и нажимаем клавишу «ESC». В рабочем каталоге формируется файл cclock2.txt Все работающие часики проверяют наличие этого файла и если его обнаруживают, то прекращают работу.

§         Процесс выключения одних часиков, освобождает ресурсы, и соответственно включаются другие часики. А потом сразу и выключаются, т.к. находят файл выключения.  Это выглядит как «пробегание» окон часиков по рабочему столу.

§         Однако, может быть и ситуация «предупреждения» операционной системы о работе программы и нехватки ресурсов компьютера. Это зависит, от настроек Вашей системы, ее предупредительных средствах о памяти, быстродействии и прочем.

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

§         Если закрыть окно программы плавной нагрузки через alt+f4 или мышкой, то загруженные часики останутся в работе!  

§         Недостаток измерения, в том, что в «предельном режиме» другие программы фиксации, например «скриншот» экрана, может и не работать. Ресурсов то НЕТ!

§         Альтернативой предлагается  в начале, включить,  например «запись экрана» а далее, нагружать до момента «надрыва живота компьютера». Шутка.

§         Существующая тенденция « вычислительных мощностей  компьютеров» предполагает продажу части мощностей, например тут:

o       https://v-mire.net/prostoj-zarabotok-na-resursax-kompyutera/ -  рассматривается возможность продажи части ресурса компьютера;

o       https://habrahabr.ru/post/172969/ -  рассматривается альтернатива использования;

o       http://www.ibm.com/developerworks/ru/library/l-grid/index.html -  рассматривается сетевая система открытых вычислений;

§         Предлагаемая методика КУ- квант учета, позволяет оценить возможность использования вычислительной мощности. 

§         И если КУ маловато, то добавить вычислительной мощности. А если ее избыток, то кому либо предложить, или продать.

§         Но надо помнить из биологии  - «Желудок умнее мозга, потому что желудок умеет тошнить, мозг же глотает любую дрянь». А компьютер, это мозг, который переваривает информацию! А может и не переварить!

 

 

Выводы

 

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

 Особенности программы:

·        Имеет упрощенный «оконный» интерфейс.

·        Программа не устанавливается, не прописывается в системные библиотеки,

·        Программа содержит в своем «теле»  файлы программы часов и компилятор FORHT    для возможной модификации и изучения;

·        Программа работает под операционными системами WINDOWS 95/98/NT/2000/XP/Vista/Win7/8/10 и использует только функции api- ядра системы – файл kernel32.dll

·        Программа написана на языке Форт версия  spf4.exe – автор  А. Черезов  http://www.forth.org.ru

·        Программа доступна для использования, изучения и модификации всем желающим.

·        За модифицированный  тест отвечает сам модификатор. Автор может, при наличии времени, только кратко провести консультацию по используемым им forth-словам.

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

·        Тема учета вычислительной  мощности  автором освещалась ранее. Адрес публикации  http://90.189.213.191:4422/doc_sh/popg2_sh/ . «Все течет, все изменяется» и автор модифицировал программу,  но  метод сохранил;

·        В связи возможными нарушениями работы сервера автора, нет резервной линии и нет гарантированного питания в нашей деревне, имеется резервное хранилище тестов по адресу:  https://cloud.mail.ru/public/JAHX/BULXQfT6S

 

---------------------------------------------------------------------------------------------------------------------------------

Автор - Шабронов Андрей Анатольевич   тс.  +7 913-905-8839     e_mail -  shabronov@ngs.ru  

ред. 28-2-2017  .

    Успехов и здоровья!