System and Method for Isolating I/O Execution via Compiler and OS Support
First Claim
1. A method by a multiple-core computing system for executing Input/Output (I/O) and non-I/O operations, the method comprising:
- designating at least a portion of a plurality of processing cores as an I/O core;
compiling a program source code, wherein the compiling includes identifying each I/O operation region of the program source code; and
executing the program source code using the processing cores, wherein the executing includes scheduling the I/O operation region on the I/O core.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments are provided for isolating Input/Output (I/O) execution by combining compiler and Operating System (OS) techniques. The embodiments include dedicating selected cores, in multicore or many-core processors, as I/O execution cores, and applying compiler-based analysis to classify I/O regions of program source codes so that the OS can schedule such regions onto the designated I/O cores. During the compilation of a program source code, each I/O operation region of the program source code is identified. During the execution of the compiled program source code, each I/O operation region is scheduled for execution on a preselected I/O core. The other regions of the compiled program source code are scheduled for execution on other cores.
33 Citations
20 Claims
-
1. A method by a multiple-core computing system for executing Input/Output (I/O) and non-I/O operations, the method comprising:
-
designating at least a portion of a plurality of processing cores as an I/O core; compiling a program source code, wherein the compiling includes identifying each I/O operation region of the program source code; and executing the program source code using the processing cores, wherein the executing includes scheduling the I/O operation region on the I/O core. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method by a multiple-core computing system for executing Input/Output (I/O) and non-I/O operations, the method comprising:
-
during compilation of a program source code, recognizing each I/O operation region of the program source code; partitioning the I/O operation region from other regions of the program source code; during execution of the compiled program source code, scheduling the I/O operation region for execution on a preselected I/O core; and scheduling the other regions of the compiled program source code for execution on other cores. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A multiple-core computer for executing Input/Output (I/O) and non-I/O operations, the multiple-core computer comprising:
-
a plurality of processing cores; and a non-transitory computer readable storage medium storing programming for execution by the at least one processor, the programming including instructions to; designate at least a portion of the processing cores as an I/O core; compile a program source code, wherein the instructions to compile the program source code include instructions to identify each I/O operation region of the program source code; and execute the program source code using the processing cores, wherein the instructions to execute the program source code include instructions to schedule the I/O operation region on the I/O core. - View Dependent Claims (18, 19, 20)
-
Specification