Synchronizing Agent for Asynchronous OS Wake-up Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems-on-chips with multiple cores executing different operating systems, existing technologies face challenges in synchronizing wake-up times to minimize power consumption and extend battery life, as each core has independent constraints and wake-up times, complicating the implementation of power-saving strategies due to shared resources.

Innovation Solution

A synchronizing agent coordinates the wake-up times of asynchronous operating systems across multiple cores by calculating a minimum wake-up time that all cores can tolerate, reducing the number of transitions out of low power states and synchronizing sleep and wake operations, thereby maximizing power savings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If each core operates independently with its own operating system and wake-up time, then each core can optimize its own power management, but the system experiences frequent transitions out of global low power states due to unsynchronized wake-ups

Engineering Contradiction:
Improvepower consumptionVSAvoidfunctional performance
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

A synchronizing agent is introduced as an intermediary component that coordinates wake-up times between multiple asynchronous operating systems on different cores. The synchronizing agent receives wake-up time requests from various OSes, calculates a unified wake-up time that satisfies all constraints, and communicates this synchronized time back to the OSes, thereby reducing unnecessary transitions out of global low power states while maintaining functional performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Duration of action of moving object

If the system synchronizes wake-up times across all cores, then the duration of global low power states is extended, but the complexity of coordinating multiple asynchronous operating systems increases

Engineering Contradiction:
Improveduration of global low power stateVSAvoidsynchronization coordination complexity
Core Design Contradiction:
Duration of action of moving objectVSDevice complexity

Solution Approach 1:

The synchronizing agent operates autonomously by automatically receiving wake-up time requests from multiple operating systems, independently calculating a unified wake-up time that satisfies all constraints, and proactively communicating the synchronized time back to the OSes. This self-service mechanism extends global low power state duration without requiring complex external coordination infrastructure.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If wake-up times are calculated independently by each operating system, then each OS can meet its own functional requirements, but the number of transitions out of low power states increases due to unsynchronized wake-ups

Engineering Contradiction:
Improveoperational independence of OSVSAvoidenergy loss from frequent wake-ups
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The synchronizing agent performs preliminary calculation of a unified wake-up time before the actual wake-up event occurs. By receiving wake-up time requests in advance from multiple OSes and computing a synchronized wake-up time that satisfies all constraints, the system can maintain operational independence of each OS while minimizing energy loss from frequent transitions out of global low power states.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8799697B2Operating system synchronization in loosely coupled multiprocessor system and chips
Publication Date: 2014.08.05 QUALCOMM INC
  • US8799697B2 patent drawing
  • US8799697B2 patent drawing
  • US8799697B2 patent drawing

AI summary

Methods, systems and devices configured to add synchronization to the entry and exit from low power modes in asynchronous operating systems on a multiprocessor system. A synchronizing agent tracks the requested sleep and wake up times of the different asynchronous operating systems executing on different cores of the same system on chip or multicore processor. The sleep/wake up times of some cores/operating systems may be delayed in order to synchronize the sleep/wake up times of two or more of the asynchronous operating systems executing on the multiprocessor system.