IP Library › Granted Patent US 11,294,725
Granted Patent B2
US 11,294,725 · App. 16/672,289 · Granted Apr 5, 2022

Method and system for identifying a preferred thread pool associated with a file system

Inventors: Jean-Pierre Bono (Westboro, MA); Marc A. De Souter (Wayne, NJ); Adrian Michaud (Carlisle, MA)
Assignee: EMC IP Holding Company LLC
G06F9/5038G06F16/11G06F2209/5018
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,294,725
App. No.
16/672,289
Filed
Nov 1, 2019
Granted
Apr 5, 2022
Kind
B2
Art Unit
2195
USPC
718/104
Abstract

A method for managing file systems, includes receiving, by a processor coordinator, a first operation request, identifying a file system associated with the first operation request, making a first determination that the file system is local, and in response to the first determination identifying a core thread pool associated with the file system, and directing operation of the first operation request to be executed on a core associated with the core thread pool, wherein the core is associated with a processor.

Claims (66)

1. A method for managing file systems, comprising:

receiving, by a processor coordinator, a first operation request;

identifying a file system associated with the first operation request;

determining that the file system is local; and

in response to determining that the file system is local:

identifying a core thread pool associated with the file system; and

directing operation of the first operation request to be executed on a core associated with the core thread pool, wherein the core is associated with a processor, wherein the core thread pool is one of a plurality of core thread pools associated with the processor, wherein the processor is associated with a processor thread pool, wherein each thread in the core thread pool is only executed on the core associated with the core thread pool, and

wherein each thread in the processor thread pool is executed on any core associated with the processor;

receiving, by the processor coordinator, a second operation request associated with the file system;

determining that the core exceeds a core usage threshold; and

in response to determining that the core exceeds the core usage threshold, determining that a second core thread pool is available, wherein the second core thread pool is associated with a second core, and wherein the second core is associated with the processor; and

in response to determining that the second core thread pool is available, directing operation of the second operation request to execute on the second core;

receiving, by the processor coordinator, a third operation request associated with the file system;

determining that the core still exceeds the core usage threshold; and

in response to determining that the core still exceeds the core usage threshold:

determining that there are no available core thread pools associated with the processor; and

in response to determining that there are no available core thread pools associated with the processor, directing operation of the third operation request to execute on a third core using a thread from a third core thread pool associated with the third core, wherein the third core is not associated with the processor; and

receiving, by the processor coordinator, a fourth operation request associated with a second file system;

determining that the second file system is not local; and

in response to determining that the second file system is not local:

identifying a second processor thread pool associated with the second file system; and

directing operation of the fourth operation request to execute on a fourth core in a second processor associated with the second processor thread pool using a thread from the second processor thread pool.

2. A non-transitory computer readable medium comprising instructions which, when executed by a computer processor, enables the computer processor to perform a method for managing file systems, the method comprising:

receiving, by a processor coordinator, a first operation request;

identifying a file system associated with the first operation request;

determining that the file system is local; and

in response to determining that the file system is local:

identifying a core thread pool associated with the file system; and

directing operation of the first operation request to be executed on a core associated with the core thread pool, wherein the core is associated with a processor, wherein the core thread pool is one of a plurality of core thread pools associated with the processor, wherein the processor is associated with a processor thread pool, wherein each thread in the core thread pool is only executed on the core associated with the core thread pool, and

wherein each thread in the processor thread pool is executed on any core associated with the processor;

receiving, by the processor coordinator, a second operation request associated with the file system;

determining that the core exceeds a core usage threshold; and

in response to determining that the core exceeds the core usage threshold, determining that a second core thread pool is available, wherein the second core thread pool is associated with a second core, and wherein the second core is associated with the processor; and

in response to determining that the second core thread pool is available, directing operation of the second operation request to execute on the second core;

receiving, by the processor coordinator, a third operation request associated with the file system;

determining that the core still exceeds the core usage threshold; and

in response to determining that the core still exceeds the core usage threshold:

determining that there are no available core thread pools associated with the processor; and

in response to determining that there are no available core thread pools associated with the processor, directing operation of the third operation request to execute on a third core using a thread from a third core thread pool associated with the third core, wherein the third core is not associated with the processor; and

receiving, by the processor coordinator, a fourth operation request associated with a second file system;

determining that the second file system is not local; and

in response to determining that the second file system is not local:

identifying a second processor thread pool associated with the second file system; and

directing operation of the fourth operation request to execute on a fourth core in a second processor associated with the second processor thread pool using a thread from the second processor thread pool.

3. A processing coordinator configured to:

receive, by a processor coordinator, a first operation request;

identify a file system associated with the first operation request;

determining that the file system is local; and

in response to determining that the file system is local:

identify a core thread pool associated with the file system; and

direct operation of the first operation request to be executed on a core associated with the core thread pool, wherein the core is associated with a processor, wherein the core thread pool is one of a plurality of core thread pools associated with the processor, wherein the processor is associated with a processor thread pool, wherein each thread in the core thread pool is only executed on the core associated with the core thread pool, and

wherein each thread in the processor thread pool is executed on any core associated with the processor;

receive, by the processor coordinator, a second operation request associated with the file system;

determining that the core exceeds a core usage threshold; and

in response to determining that the core exceeds the core usage threshold, determining that a second core thread pool is available, wherein the second core thread pool is associated with a second core, and wherein the second core is associated with the processor; and

in response to determining that the second core thread pool is available, directing operation of the second operation request to execute on the second core;

receive, by the processor coordinator, a third operation request associated with the file system;

determining that the core still exceeds the core usage threshold; and

in response to determining that the core still exceeds the core usage threshold:

determining that there are no available core thread pools associated with the processor; and

in response to determining that there are no available core thread pools associated with the processor, directing operation of the third operation request to execute on a third core using a thread from a third core thread pool associated with the third core, wherein the third core is not associated with the processor; and

receive, by the processor coordinator, a fourth operation request associated with a second file system;

determining that the second file system is not local; and

in response to determining that the second file system is not local:

identifying a second processor thread pool associated with the second file system; and

directing operation of the fourth operation request to execute on a fourth core in a second processor associated with the second processor thread pool using a thread from the second processor thread pool.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: BONO, JEAN-PIERRE; DE SOUTER, MARC A.; MICHAUD, ADRIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051113/0913 →
Continuity (1)
Related Publication 20210133001A1 · May 6, 2021