Speed shift technology intel
Технология Speed Shift.
Технология Speed Shift.
На дизайн процессоров Skylake сильно повлияло стремление к экономии электроэнергии. Здесь получили развитие как традиционные подходы, так и некоторые принципиально новые идеи.
Теперь процессорный дизайн не включает в себя интегрированный преобразователь питания (он был убран именно из соображений экономичности – в наиболее энергоэффективных CPU с тепловым пакетом порядка 4,5 Вт). В будущих микроархитектурах Intel собирается опять вернуть преобразователь обратно в процессор, но не во всех версиях дизайна, а только в тех, которые рассчитаны на достаточно либеральные тепловые пакеты.
Инженеры Intel разбили процессор на большее, чем раньше, число энергетических доменов, способных независимо отключаться от линий питания в случае их бездействия. Теперь дело дошло даже до отдельных исполнительных устройств. В Skylake могут независимо обесточиваться в случае простоя даже 256-битные исполнительные устройства, отвечающие за исполнение AVX2-команд.
Подобные технологии в том или ином виде используются уже очень давно, но в Skylake есть действительно революционное нововведение – технология Speed Shift, суть которой заключается в том, что процессору теперь даётся куда большая свобода действий в управлении собственными энергосберегающими состояниями.
Обычно современные процессоры могут самостоятельно, то есть без участия операционной системы, переключать свою частоту между номинальным состоянием и турборежимом. Однако переход в экономичные состояния с пониженными напряжениями и частотами требует непосредственного участия ОС. Команды к снижению частот даёт именно она, предварительно обратившись к микропрограмме и выяснив, какие режимы со сниженным энергопотреблением может предложить конкретный экземпляр CPU. В результате переключение в любое экономичное состояние – это целый комплекс мероприятий, на который требуется немалое время. Ещё хуже дело обстоит с выходом из таких режимов. Процессор должен проинформировать операционную систему, о том, что что-то произошло, затем система должна обработать эту информацию и передать процессору команду на переключение частоты – такая цепочка действий занимает до 30 мс.
Внедрение же Speed Shift даёт процессору большую самостоятельность, он сохраняет свою подчинённость операционной системе, которая может перевести его на более низкую частоту, например для экономии энергии в заканчивающейся батарее мобильного устройства. Но рутинные вопросы переключения энергосберегающих состояний процессор теперь берёт полностью на себя, что существенно улучшает время реакции и позволяет входить в энергосберегающие режимы и выходить из них за единицы миллисекунд. Уменьшение времени реакции на изменение условий должно, с одной стороны, послужить цели экономии энергии, а с другой — способно положительно сказаться и на производительности. Иными словами, процессоры Skylake с технологией Intel Speed Shift смогут самостоятельно подбирать наиболее подходящую частоту работы исходя из возложенной на них нагрузки, причём переключение состояний будет происходить более точно и более быстро.
В технологии Speed Shift учитывается и ещё один аспект. Снижение частоты для уменьшения энергопотребления не всегда даёт ожидаемый эффект. Проблема в том, что при уменьшении частоты ниже некоторого граничного значения потребление начинает падать в гораздо меньшей степени из-за приобретающих большее влияние токов утечки. Поэтому в некоторых энергосберегающих режимах эффективнее оказывается поднять частоту процессора, быстро выполнить необходимый код, а затем перевести процессор в режим сна. Такая стратегия и применяется в Skylake, где введены специальные алгоритмы, способные в глубоких энергосберегающих состояниях периодически отправлять процессор в состояние сна и затем пробуждать его для решения текущих низкоприоритетных задач.
Технология Speed Shift, для её работы, необходима поддержка со стороны операционной системы (ее может обеспечить лишь Windows 10). Все же остальные OC, в том числе и всевозможные вариации Linux или Android, поддержку Speed Shift пока не обеспечивают. Конечно, со временем, эта проблема так или иначе будет решена.
Intel работает и над развитием процессорных блоков с фиксированными функциями, которые также позволяют экономить энергию. Например, кодирование и декодирование видео через возможности Quick Sync, а не процессорными ядрами, тоже даёт хорошую возможность для энергосбережения. В Skylake этот блок приобрёл новые функции, и теперь использование вычислительных ядер стало необязательным и при декодировании H.265/HEVC-контента. Предлагаемое же Intel открытое API для работы с Quick Sync позволяет разработчикам программного обеспечения активно задействовать и эту технологию.
al-tm.ru
Examining Intel's New Speed Shift Tech on Skylake: More Responsive Processors
Modern computer processors are constantly changing their operating frequency (and voltage) depending on workload. For Intel processors, this is often handled by the operating system which will request a particular level of performance, known as the Performance State or P-State, from the processor. The processor then adjusts its frequencies and voltage levels to accomodate, in a DVFS (dynamic voltage and frequency scaling) sort of way, but only at the P-states fixed at the time of production. While the best for performance would be to run the system at the maximum all the time, due to the high voltage, this is the least efficient way to run a processor and wasteful in terms of energy used, which for mobile devices means a shorter battery life or thermal throttling. With the P-state model, to increase efficiency, the operating system can request lower P-states in order to save power, but if a task requires more performance, and the power/thermal budgets are sufficient, the P-State can be changed to accomodate. This 'technology' on Intel processors has historically been called 'Speed Step'.
With Skylake, Intel's newest 6th generation Core processors, this changes. The processor has been designed in a way that with the right commands, the OS can hand control of the frequency and voltage back to the processor. Intel is calling this technology 'Speed Shift'. We’ve discussed Speed Shift before in Ian’s Skylake architecture analysis, but despite the in-depth talk from Intel, Speed Shift was noticably absent at the time of the launch of the processors. This is due to one of the requirements for Speed Shift - it requires operating system support to be able to hand over control of the processor performance to the CPU, and Intel had to work with Microsoft in order to get this functionality enabled in Windows 10. As of right now, anyone with a Skylake processor is actually not getting the benefit of the technology, at least right now. A patch will be rolled out in November for Windows 10 which will enable this functionality, but it is worth noting that it will take a while for it to roll out to new Windows 10 purchases.
Compared to Speed Step / P-state transitions, Intel's new Speed Shift terminology, changes the game by having the operating system relinquish some or all control of the P-States, and handing that control off to the processor. This has a couple of noticable benefits. First, it is much faster for the processor to control the ramp up and down in frequency, compared to OS control. Second, the processor has much finer control over its states, allowing it to choose the most optimum performance level for a given task, and therefore using less energy as a result. Specific jumps in frequency are reduced to around 1ms with Speed Shift's CPU control from 20-30 ms on OS control, and going from an efficient power state to maximum performance can be done in around 35 ms, compared to around 100 ms with the legacy implementation. As seen in the images below, neither technology can jump from low to high instantly, because to maintain data coherency through frequency/voltage changes there is an element of gradient as data is realigned.
The ability to quickly ramp up performance is done to increase overall responsiveness of the system, rather than linger at lower frequencies waiting for OS to pass commands through a translation layer. Speed Shift cannot increase absolute maximum performance, but on short workloads that require a brief burst of performance, it can make a big difference in how quickly that task gets done. Ultimately, much of what we do falls more into this category, such as web browsing or office work. As an example, web browsing is all about getting the page loaded quickly, and then getting the processor back down to idle.
For this short piece, Intel was able to provide us with the Windows 10 patch for Speed Shift ahead of time, so that we could test and see what kind of gains it can achieve. This gives us a somewhat unique situation, since we can isolate this one variable on a new processor and measure its impact on various workloads.
To test Speed Shift, I’ve chosen several tasks which have workloads that could show some gain from Speed Shift. Tests which run the processor at its maximum frequency for long periods of time are not going to show any significant gain, since you are not limited by the responsiveness of the processor in those cases. The first test is PCMark 8, which is a benchmark which attempts to represent real-life tasks, and the workload is not constant. In addition, I’ve run the system through several Javascript tests, which are the best case scenario for something like Speed Shift, since the processor has to quickly complete a task in order to allow you to enjoy a website.
The processor in question is an Intel Core i7-6600U, with a base frequency of 2.6 GHz, and turbo frequency of 3.4 GHz. Despite the base frequency being rated on the box at 2.6 GHz, the processor can go all the way down to 400 Mhz when idle, so being able to ramp up quickly could make a big impact even on the U-series Skylake processors. My guess is that it will be even more beneficial to the Y series Core m3/m5/m7 parts since they have a larger dynamic range, and typically more thermal constraints.
PCMark 8
Both the Home and Work tests show a very small gain with Speed Shift enabled. The length of these benchmarks, which are between 30 and 50 minutes, would likely mask any gains on short workloads. I think this illustrates that Speed Shift is just one more tool, and not a holy grail for performance. The gain on Home is just under 3%, and the difference on the Work test is negligible.
JavaScript Tests
JavaScript is one of the use cases where short burst workloads are the name of the game, and here Speed Shift has a much bigger impact. All tests were done with the Microsoft Edge browser.
The time to complete the Kraken 1.1 test is the least affected, with just a 2.6% performance gain, but Octane's scores shows over a 4% increase. The big win here though is WebXPRT. WebXPRT includes subtests, and in particular the Photo Enhancement subtest can see up to a 50% improvement in performance. This bumps the scores up significantly, with WebXPRT 2015 showing an almost 20% score increase, and WebXPRT 2013 has a 26% gain. These leaps in performance are certainly the kind that would be noticeable to the end user manipulating photographs in something like Picasa or watching web-page based graph adjustments such as live stock feeds.
Power Consumption
The other side of the coin is power consumption. Having a processor that can quickly ramp up to its maximum frequency could mean that it will consume more power due to the greater penalty of increasing the voltage, but if it can complete the task quickly and get back to idle again, there is a chance to be more efficient when work is done in 10s of milliseconds rather than 100s of milliseconds, as the frequency ramps up and down again before the old P-state method has decided to do anything. The principle of 'work fast, finish now' was the backbone of Intel's 'Race To Sleep' strategy during the ultrabook era and focused on the impulse of response-related performance, however the drive for battery life means that efficiency has tended to matter more, especially as devices and batteries get smaller.
Due to the way modern processors work, we don’t have the tools to directly measure the SoC power. Intel has told us that Speed Shift does not impact battery life very much, one way or the other, so to verify this, I've run our light battery life test with the option disabled and enabled.
This task is likely one of the best case scenarios for Speed Shift. It consists of launching four web pages per minute, with plenty of idle time in between. Although Speed Shift seems to have a slight edge, it is very small and would fall within the margin of error on this test. Some tasks may see a slight improvement in efficiency, and others may see a slight regression, but Speed Shift is less of a power savings tool than other pieces of Skylake. Looking at it another way, if, for example, the XPS 13 with Skylake was to get 15 hours of battery life, Speed Shift would only change the result by about 7 minutes. Responsiveness increases, but net power use remains about the same.
Final Words
With Skylake, while there was not the large leap in clock for clock performance gain that we have become accustomed to with new Intel microarchitectures, but when you look at the overall package, there was a decent net gain in performance combined with new technologies. For example, being able to maintain higher Turbo frequencies on multiple cores has increased the stock to stock performance more than the smaller IPC gains.
Speed Shift is just one small part of the overall performance gain, and one that we have not been able to look at until now. It does lead to some pretty big gains in task completion, if the workloads are bursty and short enough for it to make a difference. It can’t increase the absolute performance of the processor, but it can get it to maximum performance in a much shorter amount of time, as well as get it back down to idle quicker. Intel is billing it as improved responsiveness, and it’s pretty clear that they have achieved that.
The one missing link is operating system support. We’ve been told that the patch to enable this is coming to Windows 10 in November. While this short piece looks at what Speed Shift can bring to the table in terms of performance, if you'd like to read more about how it is implemented, please check out the Skylake architecture analysis which goes into more detail.
Update: Daniel Rubino at Windows Central has tested the latest Windows 10 Insider build 10586 and it appears to enable Speed Shift on his Surface Pro 4, which is in-line with the November timeline we were provided.
www.anandtech.com
Intel Introduces Speed Shift Technology for Skylake 6th Generation Processors - Will Be Landing This Month Via A Windows 10 Update
Intel recently demoed their brand new Speed Shift technology, which completely revamps the older frequency control known as SpeedStep that we all know (and love?). The new tech is supposed to make the processor respond much quicker to performance burst requests as well as improving the effectiveness and efficiency of the performance bursts themselves. It does this by handing some extent of the frequency control back to the processor – which, in conjunction with the OS (which needs to allow it to take over control of P-States) can perform much better. It is because of this that the new tech is limited to computers with Windows 10 (the functionality is delivered via an update (in November) to computers housing Intel’s Skylake processors).
An official slide showcasing the performance gains which can result from Speed Shift. @Intel Public Domain
Usually, the average Intel based PC works on Intel’s Speed Step technology which works on P-states, which is a performance state that the operating system can request from the processor. The processor usually responds to the request by adjusting its frequency and voltage levels to the point specified in the P-state at the start of the workload. Naturally, in situations where the thermal envelope and electric consumption is constrained (and even in situations where it is not) it is not efficient to run the processor continuously at high clocks, so the OS usually request a lower P-state.
Intel describes the tech as:
Speed Shift: Delivers dramatically quicker responsiveness with single-threaded, transient (short duration) workloads, such as web browsing, by allowing the processor to more quickly select its best operating frequency and voltage for optimal performance and power efficiency.
Slide courtesy of Anandtech/Intel. Credit URL
So what exactly is the difference between Speed Step and Speed Shit? One of the major differences is that in Speed Step, the OS was the one primarily handling the P-state requests, while in Speed Shift, the control will be handed back to the CPU which will result in exponentially more responsiveness. Lets talk numbers. When talking about responsiveness to performance requests, the CPU typically takes around 20-30ms to respond, with the new Speed Shift technology, this time will be reduced to around 1ms – which is an absolutely huge gain needless to say. The time it takes to go to maximum performance state is reduced by around 33% from 100ms to 35ms.
Skylake didn't manage to deliver solid IPC gains - something that is to be expected owing to the slowing process improvements but Intel made up for that - and more by small architectural and software improvement across the board. While this improvement won't really net gains noticeable to the general user, they will net in small improvements in various workloads. These include workload types which require continuous changes in the P-State. The release date for the patch is sometime this month and Skylake owners (currently on SpeedStep) will get access to the brand new technology via a Windows 10 update - it is expected that other operating systems in the future will be able to support it as well.
Anandtech did an investigative piece (here) on Speed Shift and performed several benchmarks. A few are given below and I would recommend giving their writeup a read.
wccftech.com
Automatically Enable SpeedShift
Verified on the following platformsWindows 10 | Yes |
Windows Server 2012 | No |
Windows Server 2012 R2 | No |
Windows Server 2008 R2 | No |
Windows Server 2008 | No |
Windows Server 2003 | No |
Windows Server 2016 | No |
Windows 8 | No |
Windows 7 | No |
Windows Vista | No |
Windows XP | No |
Windows 2000 | No |
This script is tested on these platforms by the author. It is likely to work on other platforms as well. If you try it and find that it works on another platform, please add a note to the script discussion to let others know.
Online peer support For online peer support, join The Official Scripting Guys Forum! To provide feedback or report bugs in sample scripts, please start a new discussion on the Discussions tab for this script.Disclaimer The sample scripts are not supported under any Microsoft standard support program or service. The sample scripts are provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
gallery.technet.microsoft.com