Главная Блоги Hi-Tech Оптимизация ядер процессора в ОС Windows

Оптимизация ядер процессора в ОС Windows

Hi-Tech

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

Этот реестр, который называется реестром оптимизации ядер, будет храниться производителем операционной системы и будет регулярно обновляться. В этом списке будет перечислены все ядра, и будет указано, для каких операций они оптимизированы. Производители процессоров будут регистрировать свои ядра в данном списке, или, возможно, будет что-то вроде независимого обзора оптимизаций процессоров для обеспечения достойного уровня оптимизации (такой метод предпочтительнее), чтобы грамотно распределять ядра.

Концепция реестра оптимизации ядер может привести к возникновению новой арены для борьбы между операционными системами; принимая во внимание, что различные операционные системы будут иметь различные реестры оптимизации ядер, может быть, даже и с различной степенью детализации. Например, в одной операционной системе некоторое ядро будет оптимизироваться просто под выполнение графических операций, а в другой системе то же ядро будет оптимизироваться именно под 3-D операции.

Во-вторых, после изучения ядер операционной системой и сопоставления каждого ядра определенному значению реестра оптимизации ядер, операционная система должна направлять процессы на те или иные ядра в соответствии с типами выполняемых процессом операций. В процессе установки операционной системы операционная система может сопоставить все предустановленное ПО одному или нескольким ядрам, также как и сопоставление всех операционных процессов одному или нескольким ядрам. Такое сопоставление доступным ядрам – непростая задача.

Как же операционная система узнает, какие типы операций выполняются определенными процессами? Ведь это необходимо для грамотного распределения сродства процессора. Возможно, нужен реестр операций ПО, где будут регистрироваться программы и типы операций, которые они требуют для исполнения. но это хорошая идея. ПО развивается настолько быстро, что такой тип реестра может оказаться практичным. Лучшей идеей было бы предоставлять программный доступ к реестру оптимизации ядер, так чтобы программа сама устанавливала сродство процессора. Лучше всего это делать установщикам программ, которые ставили бы сродство (после подтверждения пользователем) в процессе установки программы.
В-третьих, все еще необходим способ изменения сродства процессора пользователем. Это должен быть простой способ, аналогичный методу установки сродства процессора в Windows Vista. Очевидно, что если ядер дюжины, метод отображения на экране должен быть другим, но, какой бы метод ни был избран, он должен быть понятный и простой. Это может стать одним из способов для пользователя персонализировать работу своего компьютера. Может быть, некоторые знатоки не согласятся с распределением сродства, предложенным операционной системой (возможно, из-за слабого реестра оптимизации ядер), и таким пользователям нужно предоставить возможность изменения сродства при желании.

Все это хорошо, но некоторые приложения потребуют различной оптимизации ядер из-за выполнения ПО, получающего входные данные от пользователя или от других приложений. Поэтому появляется четвертый пункт. (Хотя его нельзя назвать полноценным пунктом; мы просто защищаем свои идеи от читателей, которые могут подумать, что мы пренебрегли этим частым случаем). ПО должно иметь доступ к реестру оптимизации ядер, это позволяет ПО не только лишь устанавливать сродство в процессе установки, но также позволяет устанавливать сродство для каждого процесса, а также варьировать сродство со временем. То есть, если установщик устанавливает сродство для определенного приложения, ничто не мешает ему установить множество сродств для различных типов процессов, которые могут выполняться в приложении.

Заключение

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

24.04.2017 Дима Краев

Архив новостей

понвтрсрдчетпятсубвск
      1
2345678
9101112131415
16171819202122
23242526272829
3031