Power and Performance Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted: Oct 4, 2018
Weekly Hours: 40
Role Number: 114373072
Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group ensuring the OS is inseparable from each device’s identity as a whole. That’s because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you’ll continue to uphold and advance the excellence people expect from Apple devices. Job Summary The Core OS team is looking for an exceptional software engineer to lead, design and implement new application processor's (CPU) power/performance algorithms. In this unique and highly visible role, you will be at the center of power/performance optimization efforts interfacing with multiple hardware and software teams and leading the adoption of your algorithms. You will also be required to prototype and explore novel CPU/SoC power management schemes. The influence of the proposed innovations will span across CPU micro-architecture, driver design, kernel scheduling schemes, global operating system and applications behavior, striving to satisfy both word class system performance and energy efficiency at the same time.

Key Qualifications

  • Knowledge of microprocessor architectures and hardware/software dependencies
  • Previous experience in writing and debugging complex kernel drivers
  • Experience in performance tuning and analysis of systems
  • Demonstrated innovative, critical thinking and troubleshooting skills
  • Highly professional, with the ability to deliver solid work on tight schedules
  • Excellent collaborative skills
  • Outstanding written and verbal communication
  • Knowledge of C and C++. ARM/x86 assembly is a plus

Description

Invent new CPU power/performance management algorithms Design, implement and optimize CPU/SoC power/performance management software Demonstrate and explain cross functionally system power/performance trade-offs Influence software design and specifications of future SoC hardware platforms

Education & Experience

Ph.D or MS in Computer Science or equivalent experience

Additional Requirements

  • 10 years of experience in the embedded power management space
  • Proven track record leading new technology development with hardware/software dependencies
  • Understanding of system and silicon power management, including clock management and DVFS
  • Understanding of common kernel scheduling schemes
  • Knowledge of control system theory
  • Knowledge of data analysis languages such as R, Matlab, etc.
  • Experience with system and silicon power modeling
  • Experience with IOKit drivers on OS X or iOS