Authors:
Patricia Hogan, Daniel Goins, Jessica Snead, Susan Brosnan
Abstract:
Today hardware users are restricted to a small number of static pre-defined CPU profiles, which often does not help users truly manage performance and longevity of their expensive hardware. Our idea is to use systems in the field to learn about CPU usage and fluctuations, to create a tailored and usable BIOS CPU profile setting, which can then also be automatically sent to any new machines detected in a store. This could be per retailer, per store or even per identified sections in the store, so that a machine can always be sent the appropriate BIOS CPU profile setting for the location in which it is being used.
Background:
The CPUs in a modern computer system can be configured to operate within a certain power consumption envelope or CPU processor frequency speed envelope. Computer manufacturers usually offer a limited selection of CPU power/performance profiles in BIOS / UEFI setup.
The issue we found is that the profiles offered were either:
• one that uses very little power and keeps the CPU frequency throttled, but ensures the CPU will not wear out for 10 years, but this profile runs the CPU too slow.
• one that runs the CPU at the fastest speed but causes the CPU to run hot and wear out in 2 years.
For the CPUs in our point-of-sale (POS) systems we want a profile that is more flexible than the existing profiles offered in BIOS.
Retailers want the CPU to last 7 or more years, they want the CPU to be moderately fast during business hours so they can process many transactions, but the CPU can switch to a very low power state when the store is closed if the POS is still powered on.
The TCx 820 is the machine model we encountered difficulties with based on the default CPU profiles offered in BIOS.
Our idea is to learn from existing systems in the field, the desired BIOS CPU profile settings and then be able to send new machines detected in a store, the correct BIOS CPU profile settings that are appropriate for the how that machine will be used. If the machine is moved to a different area in the store with a different usage profile, an updated BIOS CPU profile setting will be sent to the machine.
Description:
Today there are industry standard benchmarks that measure the processor performance. The benchmark results are published on the web for anyone to see. It is possible to come up with a formula based on various published processor benchmark results to generate a processor performance rating number for each processor model. This processor performance rating number can be used to compare the relative performance of various processor models.
Today there are agents like the Remote Management Agent (RMA) agent or other available agents that can report among other things:
• machine model
• CPU model
• % CPU busy
• List of devices attached to a machine
• Store number
• Terminal number or controller name
• Machine MAC address
• Machine’s IP address
These agents report the information to a central location. An AI model could be trained to mine the data in this central location to recognize a machine’s purpose/terminal type based on various rules. These rules could include:
- A retailer has set terminal number ranges for various terminal types – service desk, fixed lane, self-service lane, Juice Bar, Coffee Shop, florist, Deli, Bakery, Tire Center, Opticians, etc.
- Terminals of a certain type – have a specific set of peripheral devices attached to them
- A Terminal is installed in a type of store (i.e.. fuel center, 24-hour store...)
- A Terminal is in a particular zone of the store (defined by a planogram and cameras/RFID/etc.)
During Model Training Time:
The AI model could tag each machine it receives data for with a terminal-type or other tag.
The AI model could look at all the CPU utilization information reported for each terminal-type and further break down that information by the reported CPU model. Using the processor performance rating number for each CPU model and the measured CPU utilization for existing known CPU models, the AI model could come up with a power and CPU speed profile needed for each terminal type and processor model.
After Model Training, the AI model could identify the terminals across all the stores that have newer processor models that need BIOS settings to control the efficiency cores versus the performance cores and the CPU frequency and power settings.
This will then trigger software to send the appropriate calculated CPU Profile for those systems, based on their Type and Processor Model. This would then trigger one of two solutions in the system to set this in BIOS.
- The new CPU Profile could be stored in BIOS by the software, so that the next time the system is rebooted, it will use the new BIOS settings for the CPU profile. It could auto-reboot the system too, though that might not be preferable for all stores.
- Alternatively, the receipt of the CPU Profile information could trigger a systemd script or other software process to use BIOS calls to adjust the settings immediately. It could either be something that stores in BIOS, or the systemd/startup script could set that on each boot.
Machines do move around, both in the store, as well as between store types. If a machine communicates with the CPU Configuration Application using a different terminal number (for example, matching via the MAC address or UUID) or reports in a different zone or with a different set of devices, then the CPU Configuration Application will send a new CPU profile to the machine for the machine’s new role.
Supporting Art:
https://patents.google.com/patent/TW202113556A/en
https://patents.google.com/patent/US7861068B2/en
https://patents.google.com/patent/EP3015951A1/en
https://patents.google.com/patent/US9128721B2/en
TGCS Reference 00530