-
公开(公告)号:US10127090B2
公开(公告)日:2018-11-13
申请号:US15362538
申请日:2016-11-28
Applicant: Apple Inc.
Inventor: Matthew G. Watson , James Michael Magee
Abstract: A method and an apparatus for determining a usage level of a memory device to notify a running application to perform memory reduction operations selected based on the memory usage level are described. An application calls APIs (Application Programming Interface) integrated with the application codes in the system to perform memory reduction operations. A memory usage level is determined according to a memory usage status received from the kernel of a system. A running application is associated with application priorities ranking multiple running applications statically or dynamically. Selecting memory reduction operations and notifying a running application are based on application priorities. Alternatively, a running application may determine a mode of operation to directly reduce memory usage in response to a notification for reducing memory usage without using API calls to other software.
-
公开(公告)号:US09411650B2
公开(公告)日:2016-08-09
申请号:US14810288
申请日:2015-07-27
Applicant: Apple Inc.
Inventor: James Michael Magee , Nils A. Nieuwejaar , Umesh S. Vaishampayan
CPC classification number: G06F9/5011 , G06F9/50 , G06F9/5016 , G06F9/5027 , G06F11/3082 , G06F11/3093 , G06F11/3409 , G06F11/3476 , G06F11/3495 , G06F2209/504 , G06F2209/508 , G06Q10/06 , G06Q10/06313 , Y02D10/22
Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for tracking and managing resource usage through a ledger feature that can trigger complex real-time reactions. The resource tracking can be managed through a ledger module and a ledger data structure. The ledger data structure can be updated each time a task requests a resource. Additionally, as part of the update, the ledger module can verify whether a resource has been over consumed. In response to the detection of an over consumption, the ledger module can set a flag. At some later pointer when the thread is in a stable, well-understood point, the ledger module can check if the flag has been set. If the flag has been set, the ledger module can call the appropriate callback function, which can react to the over consumption in a resource specific manner.
-
公开(公告)号:US09411637B2
公开(公告)日:2016-08-09
申请号:US13656506
申请日:2012-10-19
Applicant: Apple Inc.
Inventor: Ananthakrishna Ramesh , Yosen Lin , Damien Pascal Sorresso , James Michael Magee , Kevin James Van Vechten , Umesh Suresh Vaishampayan
CPC classification number: G06F9/4843 , G06F9/4831
Abstract: A method and apparatus of a device that changes the importance of a daemon process is described. In an exemplary embodiment, the device receives a message from a user process destined for daemon process, wherein the daemon process executes independently of the user process and the first daemon process communicates messages with other executing processes. The device further determines if the first message indicates that the importance of the first daemon process can be changed. If the first message indicates the importance of the first daemon process can be changed, the device changes the importance of the first daemon process. The device additionally forwards the first message to the first daemon process.
Abstract translation: 描述了改变守护进程的重要性的装置的方法和装置。 在示例性实施例中,设备从目的地为守护进程的用户进程接收消息,其中守护进程独立于用户进程执行,并且第一守护进程与其他执行进程通信消息。 设备还确定第一消息是否指示可以改变第一后台进程的重要性。 如果第一条消息表明第一个守护进程的重要性可以改变,则设备会改变第一个守护进程的重要性。 该设备另外将第一个消息转发到第一个守护进程。
-
公开(公告)号:US20150363233A1
公开(公告)日:2015-12-17
申请号:US14810288
申请日:2015-07-27
Applicant: Apple Inc.
Inventor: James Michael Magee , Nils A. Nieuwejaar , Umesh S. Vaishampayan
IPC: G06F9/50
CPC classification number: G06F9/5011 , G06F9/50 , G06F9/5016 , G06F9/5027 , G06F11/3082 , G06F11/3093 , G06F11/3409 , G06F11/3476 , G06F11/3495 , G06F2209/504 , G06F2209/508 , G06Q10/06 , G06Q10/06313 , Y02D10/22
Abstract: Disclosed are systems, methods, and non-transitory computer-readable storage media for tracking and managing resource usage through a ledger feature that can trigger complex real-time reactions. The resource tracking can be managed through a ledger module and a ledger data structure. The ledger data structure can be updated each time a task requests a resource. Additionally, as part of the update, the ledger module can verify whether a resource has been over consumed. In response to the detection of an over consumption, the ledger module can set a flag. At some later pointer when the thread is in a stable, well-understood point, the ledger module can check if the flag has been set. If the flag has been set, the ledger module can call the appropriate callback function, which can react to the over consumption in a resource specific manner.
Abstract translation: 公开了用于通过分类帐功能跟踪和管理资源使用的系统,方法和非暂时的计算机可读存储介质,其可以触发复杂的实时反应。 可以通过分类帐模块和分类帐数据结构来管理资源跟踪。 每当任务请求资源时,可以更新分类帐数据结构。 另外,作为更新的一部分,分类帐模块可以验证资源是否已经过度消耗。 为了响应过度消耗的检测,分类帐模块可以设置一个标志。 在一些稍后的指针,当线程处于一个稳定的,很好理解的点时,分类帐模块可以检查是否已经设置了标志。 如果标志已设置,分类帐模块可以调用相应的回调函数,该功能可以以资源特定的方式对过度消耗做出反应。
-
公开(公告)号:US20150346801A1
公开(公告)日:2015-12-03
申请号:US14577027
申请日:2014-12-19
Applicant: APPLE INC.
Inventor: James Michael Magee , Ethan Bold , Goutham Mani , Abhinav Pathak , Daniel Andreas Steffen
IPC: G06F1/32
CPC classification number: G06F9/4881 , G06F1/3206 , G06F1/3287 , G06F9/461 , G06F9/468 , G06F9/4818 , G06F9/50 , G06F9/52 , G06F9/545 , G06F2209/484 , G06F2209/485 , Y02D10/171 , Y02D10/24
Abstract: A method and an apparatus for a power assertion management are described. A power assertion indicator may be maintained for a device component having a power level. The power assertion indicator can indicate whether the power level of the device component is allowed to be lowered. A power assertion request may be sent from a first process to prevent lowering the power level of the device component before a data processing task is completed. A second process can receive a request from the first process to perform operations for the data processing task. The power level of the device component may not be allowed to be lowered before the second process completes the operations for the data processing task. The power level of the device component may be lowered after the data processing task is completed.
Abstract translation: 描述用于电源断言管理的方法和装置。 可以为具有功率电平的器件组件维持电源断言指示符。 电源断言指示灯可以指示设备组件的功率电平是否被允许降低。 可以从第一处理发送电源断言请求,以在数据处理任务完成之前防止降低设备组件的功率电平。 第二进程可以从第一进程接收对数据处理任务执行操作的请求。 在第二过程完成数据处理任务的操作之前,可能不允许降低设备组件的功率电平。 数据处理任务完成后,设备组件的功率级别可能会降低。
-
公开(公告)号:US20130332942A1
公开(公告)日:2013-12-12
申请号:US13650083
申请日:2012-10-11
Applicant: APPLE INC.
Inventor: Ananthakrishna Ramesh , Daniel E. Crosby , James Michael Magee , Lionel D. Desai , Matthew G. Watson , Neil G. Crane
CPC classification number: G06F9/542 , G06F9/5016 , G06F2209/504 , G06F2209/508 , G06F2209/543 , Y02D10/22
Abstract: Systems, methods, and computer program products for target memory pressure event notifications are disclosed. Processes running on a device can register to receive memory pressure event notifications from a memory management system, which are sent while memory pages are being reclaimed. Active processes running on a device processor can be assigned a priority that ranges from low to high. Responsive to a memory pressure event occurring on the device, the memory management system determines whether less than a threshold number of high priority processes are active on the device. If so, the memory management system sends a memory pressure event notification to the registered process with the lowest priority among the active processes.
Abstract translation: 公开了用于目标存储器压力事件通知的系统,方法和计算机程序产品。 在设备上运行的进程可以注册以从存储器管理系统接收内存压力事件通知,这些内存管理系统在内存页面被回收时发送。 在设备处理器上运行的活动进程可以分配从低到高的优先级。 响应于在设备上发生的存储器压力事件,存储器管理系统确定在设备上是否有小于阈值数量的高优先级进程是活动的。 如果是这样,则内存管理系统向活动进程中具有最低优先级的注册进程发送内存压力事件通知。
-
公开(公告)号:US20210089374A1
公开(公告)日:2021-03-25
申请号:US16948787
申请日:2020-10-01
Applicant: Apple Inc.
Inventor: Matthew G. Watson , James Michael Magee
Abstract: A method and an apparatus for determining a usage level of a memory device to notify a running application to perform memory reduction operations selected based on the memory usage level are described. An application calls APIs (Application Programming Interface) integrated with the application codes in the system to perform memory reduction operations. A memory usage level is determined according to a memory usage status received from the kernel of a system. A running application is associated with application priorities ranking multiple running applications statically or dynamically. Selecting memory reduction operations and notifying a running application are based on application priorities. Alternatively, a running application may determine a mode of operation to directly reduce memory usage in response to a notification for reducing memory usage without using API calls to other software.
-
公开(公告)号:US09665398B2
公开(公告)日:2017-05-30
申请号:US14576963
申请日:2014-12-19
Applicant: Apple Inc.
Inventor: James Michael Magee , Russell A. Blaine , Daniel Allen Chimene , Vishal Patel , Shantonu Sen
CPC classification number: G06F9/4881 , G06F1/3206 , G06F1/3287 , G06F9/461 , G06F9/468 , G06F9/4818 , G06F9/50 , G06F9/52 , G06F9/545 , G06F2209/484 , G06F2209/485 , Y02D10/171 , Y02D10/24
Abstract: A method and an apparatus for activity based execution scheduling are described. Activities may be tracked among a plurality of threads belonging to a plurality of processes running in one or more processors. Each thread may be associated with one of the activities. Each activity may be associated with one or more of the threads in one or more of the processes for a data processing task. The activities may be ordered by a priority order. A group of the threads may be identified to be associated with a particular one of the activities with highest priority based on the priority order. A thread may be selected from the identified threads for next scheduled execution in the processors.
-
公开(公告)号:US09535771B2
公开(公告)日:2017-01-03
申请号:US13948990
申请日:2013-07-23
Applicant: Apple Inc.
Inventor: Matthew G. Watson , James Michael Magee
CPC classification number: G06F9/544 , G06F9/485 , G06F9/5016 , G06F9/5022 , G06F9/542 , G06F2209/482 , G06F2209/508
Abstract: A method and an apparatus for determining a usage level of a memory device to notify a running application to perform memory reduction operations selected based on the memory usage level are described. An application calls APIs (Application Programming Interface) integrated with the application codes in the system to perform memory reduction operations. A memory usage level is determined according to a memory usage status received from the kernel of a system. A running application is associated with application priorities ranking multiple running applications statically or dynamically. Selecting memory reduction operations and notifying a running application are based on application priorities. Alternatively, a running application may determine a mode of operation to directly reduce memory usage in response to a notification for reducing memory usage without using API calls to other software.
Abstract translation: 描述了一种用于确定存储器设备的使用水平以通知正在运行的应用以执行基于存储器使用级别选择的存储器缩减操作的方法和装置。 应用程序调用与系统中的应用程序代码集成的API(应用程序编程接口)以执行内存缩减操作。 根据从系统的内核接收的存储器使用状态来确定存储器使用水平。 正在运行的应用程序与应用程序优先级相关联,这些应用程序优先级静态或动态 选择内存减少操作并通知正在运行的应用程序是基于应用程序的优先级。 或者,正在运行的应用程序可以确定操作模式以响应于减少存储器使用的通知而直接减少存储器使用,而不使用对其他软件的API调用。
-
20.
公开(公告)号:US09348645B2
公开(公告)日:2016-05-24
申请号:US14576917
申请日:2014-12-19
Applicant: Apple Inc.
Inventor: James Michael Magee , Russell A. Blaine , Daniel A. Chimene , James McIlree , Vishal Patel , Daniel Andreas Steffen , Kevin James Van Vechten
CPC classification number: G06F9/4881 , G06F1/3206 , G06F1/3287 , G06F9/461 , G06F9/468 , G06F9/4818 , G06F9/50 , G06F9/52 , G06F9/545 , G06F2209/484 , G06F2209/485 , Y02D10/171 , Y02D10/24
Abstract: A method and an apparatus for priority donations among different processes are described. A first process running with a first priority may receive a request from a second process running with a second priority to perform a data processing task for the second process. A dependency relationship may be identified between the first process and a third process running with a third priority performing separate data processing task. The dependency relationship may indicate that the data processing task is to be performed via the first process subsequent to completion of the separate data processing task via the third process. The third process may be updated with the second priority to complete the separate data processing task. The first process may perform the data processing task with the second priority for the second process.
Abstract translation: 描述了用于不同处理之间的优先捐赠的方法和装置。 以第一优先级运行的第一进程可以从具有第二优先级的第二进程接收请求,以执行第二进程的数据处理任务。 可以在第一进程和执行分开的数据处理任务的第三优先级运行的第三进程之间识别依赖关系。 依赖关系可以指示经由第三处理完成单独的数据处理任务之后,经由第一处理执行数据处理任务。 可以用第二优先级来更新第三进程以完成单独的数据处理任务。 第一进程可以执行具有第二进程的第二优先级的数据处理任务。
-
-
-
-
-
-
-
-
-