CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is based on and claims priority under 35 U.S.C. § 119(a) of a Korean patent application number 10-2019-0010992, filed on Jan. 29, 2019, in the Korean Intellectual Property Office, the disclosure of which is incorporated by reference herein in its entirety.

BACKGROUND

1. Field

The disclosure relates to a server and a control method for providing accelerated computing environments in a cloud environment.

2. Description of Related Art

A cloud computing environment is a service environment that provides a plurality of terminal devices in communication with the cloud computing environment with shareable computer processing resources and data available to the plurality of terminal devices.

Therefore, a user can access the cloud computing environment through a terminal device, such as a personal computer (PC), and defines an environment for executing an application developed by the user using the resources provided in the accessed cloud environment.

However, because a cloud computing service may not support all possible hardware (H/W) configurations the cloud computing service may not provide various accelerated computing environment services. Alternatively, in a case that the cloud computing service is capable of providing various accelerated computing environment services, there is a problem that much time and cost are incurred because the user directly participates in most of the processes of identifying and selecting the resources required for executing the application developed by the user and defining the environment for executing the application by using the selected resources.

The above information is presented as background information only to assist with an understanding of the disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the disclosure.

SUMMARY

Aspects of the disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the disclosure is to provide a server providing various accelerated computing environments for selecting a resource suitable for executing an application and automatically defining an accelerated computing environment based on the selected resource.

Additional aspects will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the presented embodiments.

In accordance with an aspect of the disclosure, a method of a server for executing an application in a cloud environment is provided. The method includes receiving code associated with an application uploaded from a terminal device, transmitting, to a service server, code information associated with the application, receiving, from the service server, execution information for executing the application acquired based on the code information, defining the accelerated computing environment for executing the application based on the received execution information, and executing the application in the compiled accelerated computing environment.

The execution information for executing the application includes at least one of hardware (H/W) type information, execution language information, or framework for executing the application.

The H/W type information includes at least one of graphics processing unit (GPU), numeric processing unit (NPU), or vision processing unit (VPU), and the execution language includes at least one of a first execution language that requires compilation or a second execution language that does not require compilation.

In the executing of the application, when the execution language for the application is the first execution language that requires compilation, the application is compiled in the accelerated computing environment and be then executed through the accelerated computing environment, and when the execution language for the application is the second execution language, the application is executed through the accelerated computing environment.

The first execution language includes at least one programming language of C language and Java or a language that requires compilation, and the second execution language includes at least one programming language of Python and NodeJS or a language that does not require compilation.

The code information of the application is information for executing the application set by a user through a user interface (UI) provided by the user terminal device.

The UI includes at least one of a first icon for setting H/W, a second icon for setting an operating system (OS), a third icon for setting a programming language, a fourth icon for setting a software environment, a fifth icon for storing data, a sixth icon for setting a location to store a derived learning model, or a seventh icon for setting a source code for an algorithm used for learning in the learning model.

In the executing of the application, address information for providing an execution result of the application is transmitted to the user terminal device, and when an access request to the address information is received from the user terminal device, the execution result of the application is be provided through the accelerated computing environment.

In accordance with another aspect of the disclosure, a server for providing an accelerated computing environment in a cloud environment is provided. The server includes a communicator configured to include a circuit, a memory configured to include at least one instruction, and a processor configured to execute the at least one instruction, wherein the processor is configured to control the communicator so as to transmit code information on an application to a service server when the application uploaded from a user terminal device is received through the communicator, and define an accelerated computing environment for executing the application based on received execution information, when the execution information for executing the application acquired based on the code information is received from the service server, and execute the application in the compiled accelerated computing environment.

The execution information for executing the application includes at least one of H/W type information, execution language information, or framework for executing the application.

The H/W type information includes at least one of GPU, NPU, or VPU, and the execution language includes at least one of a first execution language that requires compilation or a second execution language that does not require compilation.

The process is configured to define the application in the accelerated computing environment and then execute the application through the accelerated computing environment, when the execution language for the application is the first execution language that requires compilation, and execute the application through the accelerated computing environment, when the execution language for the application is the second execution language.

The first execution language includes at least one programming language of C language and Java or a language that requires compilation, and the second execution language includes at least one programming language of Python and NodeJS or a language that does not require compilation.

The code information of the application is information for executing the application set by a user through a UI provided by the user terminal device.

The UI includes at least one of a first icon for setting H/W, a second icon for setting an OS, a third icon for setting a programming language, a fourth icon for setting a software environment, a fifth icon for storing data, a sixth icon for setting a location to store a derived learning model, or a seventh icon for setting a source code for an algorithm used for learning in the learning model.

The processor is configured to control the communicator so as to transmit address information for providing an execution result of the application to the user terminal device, and provide the execution result of the application through the accelerated computing environment, when an access request to the address information is received from the user terminal device through the communicator.

As described above, according to the disclosure, the server providing various accelerated computing environments selects the resource suitable for executing the application and automatically define the accelerated computing environment based on the selected resource.

Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure.

