• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Q2.12: Emulation of Asymmetrically Performing CPUs
 

Q2.12: Emulation of Asymmetrically Performing CPUs

on

  • 160 views

Resource: Q2.12

Resource: Q2.12
Name: Emulation of Asymmetrically Performing CPUs
Date: 30-05-2012
Speaker: Rob Lee

Statistics

Views

Total Views
160
Views on SlideShare
159
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Q2.12: Emulation of Asymmetrically Performing CPUs Q2.12: Emulation of Asymmetrically Performing CPUs Presentation Transcript

    • Emulation of Asymmetrically Performing CPUs Linaro Connect Q2.2012
    • Asymmetric CPU Performance? ● ARM's new big.LITTLE architecture is an asymmetric multiprocessor system in which two types of cores (which use the same instruction set). ○ Higher Performance cores (Cortex A15) Best performance ○ More Power Efficient cores (Cortex A7) ■ Best power efficiency, lower performance ● Similar asymmetric systems are also possible by varying the manufacturing processes of identical cores.
    • Emulation of Asymmetric CPU Performance? ● Linux scheduler is work is underway to allow intelligent scheduling for these type of asymmetrical CPU systems and so testing of these changes is needed. ● Actual hardware with this cpu configuration isn't (readily) available. ● The performance differences that exists on these asymmetric cpu systems can be emulated which can hopefully provide a test platform for some the scheduler work.
    • Host System Types for Running Emulation 1. Multicore systems whose cpu frequencies are coupled. a. Cortex-A9 2. Multicore systems whose cpu frequencies are independent from each other a. modern X86, etc. b. If in doubt, check /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus .
    • Emulation Methods 1. Cycle Stealer - Steal the user programmed percentage of cpu processing cycles in order to degrade performance. 2. Frequency limiting- For systems whose cpu frequencies are not couples, limit the frequency of chosen cpus to degrade performance.
    • Cycle Stealer Pros and Cons Pros: ● Can be run on any multicore system Cons: ● Subject to the overhead and accuracy of the implementation. ● Current Implementation Cons: ○ Slices of time will be eaten. The smaller the slices the more overhead. Only large slices of 10s of milliseconds don't overly impact the overhead ○ Currently implemented userspace system doesn't account for interrupt execution time
    • Frequency Limiter Pros and Cons Pro: ● Simple, low overhead system. Cons: ● Requires a system that supports independent clock frequency changes. ● Most platforms only offer a few discrete operating points. To achieve a very precise level of performance degradation, you may need to add additional CPUFreq operating points.
    • CODE git://git.linaro.org/people/rob_lee/asymm_cpu_emu.git External Dependencies: ● schedtool ○ needed by cycle stealer to setting task priority
    • DEMO ● Cycle Stealer a. In one terminal, run cycle_stealer_mgr.sh as root b. In another terminal, run 'mpstat 2 -P ALL' to monitor amount of cpu idle time. ● Frequency Limiter a. In one terminal, run 'asymm_freq_limit.sh' b. In another terminal run ■ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq c. test ■ taskset 2 ./busy.sh ■ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq ● veryify frequency is limited.