I/O SCHEDULING
    1.
    发明申请
    I/O SCHEDULING 有权
    I / O调度

    公开(公告)号:US20150347327A1

    公开(公告)日:2015-12-03

    申请号:US14292123

    申请日:2014-05-30

    Applicant: Apple Inc.

    Abstract: In one embodiment, input-output (I/O) scheduling system detects and resolves priority inversions by expediting previously dispatched requests to an I/O subsystem. In response to detecting the priority inversion, the system can transmit a command to expedite completion of the blocking I/O request. The pending request can be located within the I/O subsystem and expedited to reduce the pendency period of the request.

    Abstract translation: 在一个实施例中,输入输出(I / O)调度系统通过将先前分配的请求加速到I / O子系统来检测并解决优先级倒置。 响应于检测到优先级反转,系统可以发送命令来加快阻塞I / O请求的完成。 待处理的请求可以位于I / O子系统内,并加快以减少请求的未决期限。

    HAND-OFF SCHEDULING
    4.
    发明申请
    HAND-OFF SCHEDULING 审中-公开
    手动调度

    公开(公告)号:US20160357600A1

    公开(公告)日:2016-12-08

    申请号:US14871837

    申请日:2015-09-30

    Applicant: Apple Inc.

    Abstract: Disclosed herein are systems, methods, and computer-readable media directed to scheduling threads in a multi-processing environment that can resolve a priority inversion. Each thread has a scheduling state and a context. A scheduling state can include attributes such as a processing priority, classification (background, fixed priority, real-time), a quantum, scheduler decay, and a list of threads that may be waiting on the thread to make progress. A thread context can include registers, stack, other variables, and one or more mutex flags. A first thread can hold a resource with a mutex, the first thread having a low priority. A second thread having a scheduling state with a high priority can be waiting on the resource and may be blocked behind the mutex held by the first process. A scheduler can execute the context of the lower priority thread using the scheduler state of the second, higher priority thread. More than one thread can be waiting on the resource held by the first thread. A “pusher list” of threads that are waiting on the first thread can be associated with the first thread. The scheduler can use the pusher list to identify threads that need the first thread to make progress until the first thread releases the resource and mutex. Then, the scheduler can use the pusher list to identify threads that are now runnable and make immediate use of the resource.

    Abstract translation: 这里公开的是指向在多处理环境中调度线程的系统,方法和计算机可读介质,其可以解决优先级反转。 每个线程都有调度状态和上下文。 调度状态可以包括诸如处理优先级,分类(背景,固定优先级,实时),量子,调度器衰减和可能在线程上等待进行的线程列表的属性。 线程上下文可以包括寄存器,堆栈,其他变量和一个或多个互斥标志。 第一个线程可以使用互斥体保存资源,第一个线程具有低优先级。 具有高优先级的调度状态的第二线程可以等待资源并且可能被阻止在由第一进程所保持的互斥体之后。 调度器可以使用第二较高优先级线程的调度器状态来执行较低优先级线程的上下文。 多个线程可以等待第一个线程持有的资源。 在第一个线程上等待的线程的“推送器列表”可以与第一个线程相关联。 调度程序可以使用推送器列表来识别需要第一个线程以在第一个线程释放资源和互斥体之前进行的线程。 然后,调度程序可以使用推送器列表来识别现在可运行的线程,并立即使用该资源。

Patent Agency Ranking