-
Notifications
You must be signed in to change notification settings - Fork 2
sudarsunkannan/Thermalthrottling
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
#Thermal throttling for memory bandwidth reduction # For the exact registers for your platform, please see, Intel software development manual # and search for Thermal register values. # TODO: More generic script for multiple sockets and configurations # The script uses the stream benchmark for measuring the memory bandwidth Usage ===== $ sudo ./throttle.sh socket_num throttle_level $ sudo ./throttle.sh 0 2 throttle_level values => 0, 1, 2 In our platform, throttle_level=0 disables throttling, throttle_level=1 reduces bandwidth by ~2x-4x, and throttle_level=2 reduces bandwidth by ~8x-10x socket_num => 0, 1, 2 socket_num = 1 (first socket), socket_num = 0 (second socket), socket_num = 2 ( both sockets) Currently, this script supports throttling for only two nodes. Will be extended soon... Notes ===== For thermal throttling, you should use the PCI registers using setpci command. The basic commands go like for i in {4..6} do setpci -s ff:0$i.3 0x84.L=$throttle setpci -s ff:0$i.3 0x48.L=$apply done Registers ========== Next, for your specific CPU architecture, see the Intel software development manual for thermal control registers. They are generally 3 register for each memorysocket. In our machine, the thermal registers are ff:04.3, ff:05.3, ff:06.3. Values ====== $apply - enables or disables the thermal throttling. For enabling, you can use hex 2. apply='0x2' and for disabling throttling apply='0x0' $throttle - You can throttle speeds using different values. In our Intel Xeon platform throttle='0x1f0f' reduces bandwidth by 2x. throttle='0x0f0f' reduces by 8x. You can try difference hex values by modifying the values. Stream benchmark =============== The script uses stream benchmark for measuring the memory bandwidth. More details are available in our paper :) @inproceedings{Kannan:2016:PPV:2901318.2901325, author = {Kannan, Sudarsun and Gavrilovska, Ada and Schwan, Karsten}, title = {pVM: Persistent Virtual Memory for Efficient Capacity Scaling and Object Storage}, booktitle = {Proceedings of the Eleventh European Conference on Computer Systems}, series = {EuroSys '16}, doi = {10.1145/2901318.2901325}, }
About
Tool/script to thermal throttle DRAM bandwidth for Intel CPUs.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published