Virtual architecture generating apparatus and method, and runtime system, multi-core system and methods of operating runtime system and multi-core system
A virtual architecture generating apparatus and method, a runtime system, a multi-core system, and methods of operating the runtime system and the multi-core system may include analyzing a requirement of an application, a feature of the application, and a requirement of a system enabling an execution of the application, and include generating a virtual architecture corresponding to the application, based on a physical architecture of a reconfigurable processor, the analyzed requirements and the analyzed feature.
1. A method of operating a runtime system to tune an execution performance based on a virtual architecture, the method comprising:
generating, by a processor, a plurality of virtual architectures of a reconfigurable processor so that the virtual architectures correspond to an application;
generating a plurality of binary files associated with the application, based on the generated virtual architectures;
executing a part of each of the binary files in a virtual architecture corresponding to each of the binary files, and recording an execution performance of each of the binary files; and
selecting a binary file with a highest execution performance from among the binary files, and executing the other part of the selected binary file in a virtual architecture corresponding to the selected binary file,
wherein the generating of the virtual architectures corresponding to the application is based on a subset of a physical architecture of the reconfigurable processor.
2. The method of claim 1 , wherein the generating of the virtual architectures comprises:
analyzing a requirement of the application, and a requirement of a system, the system enabling an execution of the application;
analyzing a feature of the application; and
generating the virtual architectures corresponding to the application, based on the analyzed requirements, and the analyzed feature.
3. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 1 .
4. A runtime system for tuning an execution performance based on a virtual architecture, the runtime system comprising:
a generating unit to generate a plurality of virtual architectures of a reconfigurable processor so that the virtual architectures correspond to an application;
a compiling unit to generate a plurality of binary files associated with the application, based on the generated virtual architectures; and
a processing unit to execute a part of each of the binary files in a virtual architecture corresponding to each of the binary files, to record an execution performance of each of the binary files, to select a binary file with a highest execution performance from among the binary files, and to execute the other part of the selected binary file in a virtual architecture corresponding to the selected binary file,
wherein the generating unit is configured to generate the virtual architectures corresponding to the application based on a subset of a physical architecture of the reconfigurable processor.
5. The runtime system of claim 4 , wherein the generating unit is configured:
to analyze a requirement of the application, and a requirement of a system, the system enabling an execution of the application;
to analyze a feature of the application; and
to generate the virtual architectures corresponding to the application, based on the analyzed requirements and the analyzed feature.