System and method of dynamically loading and executing module devices using inter-core-communication channel in multicore system environment
First Claim
1. A method of dynamically loading and executing a module device of a specific slave core using an ICC (inter-core communication) channel in a multicore system environment including a master core and a plurality of slave cores, comprising:
- receiving a channel event message generated by the master core through the ICC channel in order to process an instruction received from an application program;
storing the channel event message in a channel event message queue thereof; and
an event handler of the specific slave core interpreting the stored channel event message and executing one of a module device loading process, a module device executing process, and a module device deleting process,wherein each slave core includes a second event handler configured to interpret channel event messages received from the master core via the ICC channel, andwherein the module device executing process comprises;
the event handler interpreting the channel event message;
if the interpreted type of the message is a periodic message, a periodic event handler being invoked by an interrupt of a timer, and the periodic event handler fetching a channel event message from a periodic event message queue and interpreting the channel event message;
opening a module device requested by the application program according to a result of the interpretation to obtain a file descriptor, invoking a function of the module device by using the file descriptor, and executing the function;
if the execution of the function of the module device is completed, closing the module device to complete the module device execution; and
if the module device execution is completed, registering the channel event message in the periodic event message queue in the order of periods.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a system and method for allocating a specific job or application to a specific slave core by using an inter-core-communication (ICC) channel and executing the job or application in a multicore system environment including the master core and a plurality of slave cores. The method of a master core, includes: initializing message transmission times; generating an event for processing a instruction received from an application program and generating a channel event message from the event; checking a process for transmitting the generated channel event message, and if a channel event message queue corresponding to an event transmitting request is not “FULL” of a previously-stored channel event message, transmitting the channel event message to a specific slave core to request for storing the channel event message; and returning a response of processing status to the request for storing the channel event message to the application program.
24 Citations
11 Claims
-
1. A method of dynamically loading and executing a module device of a specific slave core using an ICC (inter-core communication) channel in a multicore system environment including a master core and a plurality of slave cores, comprising:
-
receiving a channel event message generated by the master core through the ICC channel in order to process an instruction received from an application program; storing the channel event message in a channel event message queue thereof; and an event handler of the specific slave core interpreting the stored channel event message and executing one of a module device loading process, a module device executing process, and a module device deleting process, wherein each slave core includes a second event handler configured to interpret channel event messages received from the master core via the ICC channel, and wherein the module device executing process comprises; the event handler interpreting the channel event message; if the interpreted type of the message is a periodic message, a periodic event handler being invoked by an interrupt of a timer, and the periodic event handler fetching a channel event message from a periodic event message queue and interpreting the channel event message; opening a module device requested by the application program according to a result of the interpretation to obtain a file descriptor, invoking a function of the module device by using the file descriptor, and executing the function; if the execution of the function of the module device is completed, closing the module device to complete the module device execution; and if the module device execution is completed, registering the channel event message in the periodic event message queue in the order of periods. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A packaged processor having a system for dynamically loading and executing a module device using an ICC (inter-core communication) channel in a multicore system environment, the packaged processor comprising:
-
a master core having a first event handler configured to generate an event for requesting a module device loading process, a module device deleting process, or a module device executing process according to a request received from an application program, generate a channel event message from the event, and transmit the channel event message via the ICC channel; and the plurality of slave cores configured receive channel event messages from the master core via the ICC channel and perform any of the module device loading process, the module device deleting process, and the module device executing process according to the channel event messages received from the master core, wherein each slave core includes a second event handler configured to interpret channel event messages received from the master core via the ICC channel, wherein each of the slave cores comprises; an MC IPC (multicore inter process communication) driver storing the received channel event message in a channel event message queue; and an ICC middleware, wherein the ICC middleware comprises; the event handler configured to interpret the channel event message stored in the channel event message queue, execute any of the module device loading process, the module device deleting process, and the module device executing process if the channel event message is a non-periodic channel event message, and store the channel event message in a periodic event message queue if the channel event message is a periodic channel event message; and a periodic event handler configured to interpret the periodic channel event message stored in the periodic event message queue and perform any of the module device loading process, the module device deleting process, and the module device executing process according to an predetermined interrupt of a timer. - View Dependent Claims (9, 10, 11)
-
Specification