🗊Презентация Измерение времени в ЭВМ

Нажмите для полного просмотра!
Измерение времени в ЭВМ, слайд №1Измерение времени в ЭВМ, слайд №2Измерение времени в ЭВМ, слайд №3Измерение времени в ЭВМ, слайд №4Измерение времени в ЭВМ, слайд №5Измерение времени в ЭВМ, слайд №6Измерение времени в ЭВМ, слайд №7Измерение времени в ЭВМ, слайд №8Измерение времени в ЭВМ, слайд №9Измерение времени в ЭВМ, слайд №10Измерение времени в ЭВМ, слайд №11Измерение времени в ЭВМ, слайд №12Измерение времени в ЭВМ, слайд №13Измерение времени в ЭВМ, слайд №14Измерение времени в ЭВМ, слайд №15Измерение времени в ЭВМ, слайд №16Измерение времени в ЭВМ, слайд №17Измерение времени в ЭВМ, слайд №18Измерение времени в ЭВМ, слайд №19Измерение времени в ЭВМ, слайд №20Измерение времени в ЭВМ, слайд №21Измерение времени в ЭВМ, слайд №22Измерение времени в ЭВМ, слайд №23Измерение времени в ЭВМ, слайд №24Измерение времени в ЭВМ, слайд №25Измерение времени в ЭВМ, слайд №26Измерение времени в ЭВМ, слайд №27Измерение времени в ЭВМ, слайд №28Измерение времени в ЭВМ, слайд №29Измерение времени в ЭВМ, слайд №30Измерение времени в ЭВМ, слайд №31Измерение времени в ЭВМ, слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Измерение времени в ЭВМ. Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Измерение времени в ЭВМ
Новосибирск
2014
Описание слайда:
Измерение времени в ЭВМ Новосибирск 2014

Слайд 2





Цели измерения времени
оценка производительности ЭВМ на тестовых задачах;
оценка эффективности программы;
выявление фрагментов программы, подлежащих оптимизации;
прочее (работа с устройствами ввода/вывода, организация многозадачности, работа с мультимедиа, системы реального времени).
Описание слайда:
Цели измерения времени оценка производительности ЭВМ на тестовых задачах; оценка эффективности программы; выявление фрагментов программы, подлежащих оптимизации; прочее (работа с устройствами ввода/вывода, организация многозадачности, работа с мультимедиа, системы реального времени).

Слайд 3





Временная шкала событий в ЭВМ
(для системы с тактовой частотой 1 ГГц)
Описание слайда:
Временная шкала событий в ЭВМ (для системы с тактовой частотой 1 ГГц)

Слайд 4





Уровни средств измерения времени
утилиты;

библиотеки подпрограмм;

ядро ОС;

аппаратное обеспечение.
Описание слайда:
Уровни средств измерения времени утилиты; библиотеки подпрограмм; ядро ОС; аппаратное обеспечение.

Слайд 5





Основные способы измерения времени в ОС Linux
Описание слайда:
Основные способы измерения времени в ОС Linux

Слайд 6





Аппаратное обеспечение в архитектуре x86 для измерения времени
RTC – Real Time Clock
PIT – Programmable Interrupt Controller
HPET – High Precision Event Timer
APIC – Advanced Programmable Interrupt Controller
ACPI Power Management Timer
GPS receiver
Описание слайда:
Аппаратное обеспечение в архитектуре x86 для измерения времени RTC – Real Time Clock PIT – Programmable Interrupt Controller HPET – High Precision Event Timer APIC – Advanced Programmable Interrupt Controller ACPI Power Management Timer GPS receiver

Слайд 7





RTC – часы реального времени
Отсчет времени даже когда компьютер выключен
Периодическая (2 – 8192 Гц) или однократная генерация прерывания RTC (IRQ8)
Доступ к функциям RTC через порты ввода/вывода 0x70, 0x71
Описание слайда:
RTC – часы реального времени Отсчет времени даже когда компьютер выключен Периодическая (2 – 8192 Гц) или однократная генерация прерывания RTC (IRQ8) Доступ к функциям RTC через порты ввода/вывода 0x70, 0x71

Слайд 8





PIT – программируемый интервальный таймер
Периодическая (100 – 1000 Гц в Linux) генерация прерывания таймера (IRQ0)
Доступ к функциям PIT через порты ввода/вывода 0x40 - 0x43
Описание слайда:
PIT – программируемый интервальный таймер Периодическая (100 – 1000 Гц в Linux) генерация прерывания таймера (IRQ0) Доступ к функциям PIT через порты ввода/вывода 0x40 - 0x43

Слайд 9





HPET – высокоточный таймер событий
Периодическая (до 10 МГц) или однократная генерация прерывания таймера;
до 8 счетчиков с собственной частотой;
до 32 таймеров на каждый счетчик.
Описание слайда:
HPET – высокоточный таймер событий Периодическая (до 10 МГц) или однократная генерация прерывания таймера; до 8 счетчиков с собственной частотой; до 32 таймеров на каждый счетчик.

Слайд 10





TSC – счетчик тактов
точный для измерения малых промежутков времени до 10 мсек.;
 зависит от архитектуры, есть не для всех архитектур;
в SMP нужна привязка процессов;
в современных процессорах с переменной тактовой частотой пользоваться счетчиком затруднительно.
Описание слайда:
TSC – счетчик тактов точный для измерения малых промежутков времени до 10 мсек.; зависит от архитектуры, есть не для всех архитектур; в SMP нужна привязка процессов; в современных процессорах с переменной тактовой частотой пользоваться счетчиком затруднительно.

Слайд 11





Основные способы измерения времени в ОС Linux
Описание слайда:
Основные способы измерения времени в ОС Linux

Слайд 12





Таймеры в ядре ОС
realtime timer
		– астрономическое время
		(одинаково для всех процессов, 	запущенных на компьютере)

monotonic timer;
process time;
thread time.
Описание слайда:
Таймеры в ядре ОС realtime timer – астрономическое время (одинаково для всех процессов, запущенных на компьютере) monotonic timer; process time; thread time.

Слайд 13





Измерение временных интервалов в языке Си
Описание слайда:
Измерение временных интервалов в языке Си

Слайд 14





Измерение времени в системах с разделением времени
Описание слайда:
Измерение времени в системах с разделением времени

Слайд 15





Основные способы измерения времени в ОС Linux
Описание слайда:
Основные способы измерения времени в ОС Linux

Слайд 16





Уровень библиотек
Windows:
GetSystemTime(), GetTickCount(),
time(), clock(),

Linux:
gettimeofday(),
time(), clock(),
clock_gettime().
Описание слайда:
Уровень библиотек Windows: GetSystemTime(), GetTickCount(), time(), clock(), Linux: gettimeofday(), time(), clock(), clock_gettime().

Слайд 17





Измерение системного времени
 Счетчик системного времени
Описание слайда:
Измерение системного времени Счетчик системного времени

Слайд 18





Измерение системного времени
Описание слайда:
Измерение системного времени

Слайд 19





Измерение системного времени
Описание слайда:
Измерение системного времени

Слайд 20





Измерение времени процесса
 Счетчик времени процесса
Описание слайда:
Измерение времени процесса Счетчик времени процесса

Слайд 21





Измерение времени процесса
Описание слайда:
Измерение времени процесса

Слайд 22





Измерение времени процесса
 Счетчик тактов процессора
Описание слайда:
Измерение времени процесса Счетчик тактов процессора

Слайд 23





Счетчик тактов процессора
Описание слайда:
Счетчик тактов процессора

Слайд 24





Счетчик тактов процессора
Описание слайда:
Счетчик тактов процессора

Слайд 25





Идентификатор таймера в clock_gettime
CLOCK_REALTIME 
System-wide realtime clock. Setting this clock requires appropriate privileges. 
CLOCK_MONOTONIC _RAW
Clock that cannot be set and represents monotonic time since some unspecified starting point. 
CLOCK_PROCESS_CPUTIME_ID 
High-resolution per-process timer from the CPU. 
CLOCK_THREAD_CPUTIME_ID 
Thread-specific CPU-time clock.
Описание слайда:
Идентификатор таймера в clock_gettime CLOCK_REALTIME System-wide realtime clock. Setting this clock requires appropriate privileges. CLOCK_MONOTONIC _RAW Clock that cannot be set and represents monotonic time since some unspecified starting point. CLOCK_PROCESS_CPUTIME_ID High-resolution per-process timer from the CPU. CLOCK_THREAD_CPUTIME_ID Thread-specific CPU-time clock.

Слайд 26





int main( int argc, char **argv ){
int main( int argc, char **argv ){
    struct timespec start, stop;    double accum;

    if( clock_gettime( CLOCK_MONOTONIC_RAW, &start) == -1 ) {
      perror( "clock gettime" ); exit( EXIT_FAILURE );
    }

    system( argv[1] );

    if( clock_gettime( CLOCK_MONOTONIC_RAW, &stop) == -1 ) {
      perror( "clock gettime" ); exit( EXIT_FAILURE );
    }

    accum = ( stop.tv_sec - start.tv_sec )  + 
           ( stop.tv_nsec - start.tv_nsec ) / BILLION;
    printf( "%lf\n", accum );
    return( EXIT_SUCCESS );
  }
Описание слайда:
int main( int argc, char **argv ){ int main( int argc, char **argv ){ struct timespec start, stop; double accum; if( clock_gettime( CLOCK_MONOTONIC_RAW, &start) == -1 ) { perror( "clock gettime" ); exit( EXIT_FAILURE ); } system( argv[1] ); if( clock_gettime( CLOCK_MONOTONIC_RAW, &stop) == -1 ) { perror( "clock gettime" ); exit( EXIT_FAILURE ); } accum = ( stop.tv_sec - start.tv_sec ) + ( stop.tv_nsec - start.tv_nsec ) / BILLION; printf( "%lf\n", accum ); return( EXIT_SUCCESS ); }

Слайд 27





Основные способы измерения времени в ОС Linux
Описание слайда:
Основные способы измерения времени в ОС Linux

Слайд 28





Уровень утилит
Утилиты измерения времени выполнения программы - time
real – общее время работы программы согласно системному таймеру;
user – время, которое работал процесс (кроме выполнения системных вызовов);
sys – время, затраченное процессом на выполнение системных вызовов программы.
Профилировщики
GNU Profiler (gprof)
Описание слайда:
Уровень утилит Утилиты измерения времени выполнения программы - time real – общее время работы программы согласно системному таймеру; user – время, которое работал процесс (кроме выполнения системных вызовов); sys – время, затраченное процессом на выполнение системных вызовов программы. Профилировщики GNU Profiler (gprof)

Слайд 29





Основные способы измерения времени в ОС Linux
Описание слайда:
Основные способы измерения времени в ОС Linux

Слайд 30





Факторы, вносящие искажения в измерение интервалов времени
Исполняемые процессы многозадачной ОС
Влияние кода, измеряющего время
Состояние ЭВМ перед началом измеряемого интервала (например, что хранится в кэш-памяти, дисковом кэше)
Описание слайда:
Факторы, вносящие искажения в измерение интервалов времени Исполняемые процессы многозадачной ОС Влияние кода, измеряющего время Состояние ЭВМ перед началом измеряемого интервала (например, что хранится в кэш-памяти, дисковом кэше)

Слайд 31





Пути уменьшения влияния факторов, вносящих искажения
Остановка лишних процессов
Многократное повторение измерений
Сброс дискового кэша
Уменьшение числа обращений к таймерам
Многократное повторение счета, увеличивающее время измеряемого интервала
Описание слайда:
Пути уменьшения влияния факторов, вносящих искажения Остановка лишних процессов Многократное повторение измерений Сброс дискового кэша Уменьшение числа обращений к таймерам Многократное повторение счета, увеличивающее время измеряемого интервала

Слайд 32





Пути уменьшения влияния факторов, вносящих искажения
Другие процессы в многозадачных операционных системах
остановить другие приложения, оставить активными только необходимые сервисы или демоны ОС,
сделать несколько замеров, взять минимальное значение.
Виртуальная память, дисковый кэш 
запускать сброс дискового кэша (sync в Linux) перед каждым запуском программы,
сделать несколько замеров, взять минимальное значение.
Разрешающая способность способа измерения времени
Подобрать способ в соответствии с априорной оценкой продолжительности.
Описание слайда:
Пути уменьшения влияния факторов, вносящих искажения Другие процессы в многозадачных операционных системах остановить другие приложения, оставить активными только необходимые сервисы или демоны ОС, сделать несколько замеров, взять минимальное значение. Виртуальная память, дисковый кэш запускать сброс дискового кэша (sync в Linux) перед каждым запуском программы, сделать несколько замеров, взять минимальное значение. Разрешающая способность способа измерения времени Подобрать способ в соответствии с априорной оценкой продолжительности.



Похожие презентации
Mypresentation.ru
Загрузить презентацию