Cloud computing plays a major role in Internet based environment to offer any kind of services. The service can be accessed from anywhere and any time. Reconfigurable hardware, the Field Programmable Gate Array (FPGA) is to provide rapid switching from one service to another service by reconfiguration. It also facilitates dynamic partial reconfiguration. This study proposes a general architecture by blending cloud and FPGA.
PDF Abstract XML References Citation
How to cite this article
Web based applications are demanding many services which are highly resource consuming that cannot be performed locally. Cloud computing addressed this problem and provide a well-suited infrastructure to quench the demanding needs of those applications (Rajagopalan et al., 2012). Cloud computing offers software, platform and infrastructure as a service. The cloud service can be called and used from wherever and whenever people want (Hussain et al., 2008). It realized the novel technique of anything as a service. At this development, operating resources in private is waste of time and man power. Cloud is functioning based on amount of service usage and its billing (Dingguo et al., 2011). It is well-matched for storage services, besides computing and communication.
Computation intensive applications are highly suitable for reconfigurable hardware. Field Programmable Gate Array (FPGA) is one of the reconfigurable hardware has made a revolution in VLSI technology and it made the hardware programming flexible (Bharathi and Neelamegam, 2011). It is suitable for high speed demanding applications like multimedia and computation intensive applications (Gao and Kang, 2012; Peiravi and Rahimzadeh, 2009), like cryptography (Rajagopalan et al., 2012), image processing and control and communication applications (Zerigui et al., 2008; Vishvaksenan et al., 2011). It provides the facility of reconfiguring the hardware to achieve different kinds of computation in a single chip. It is having the capability of configuration by the application developer. FPGA reconfiguration can be done in two ways: partial reconfiguration (Abidine et al., 2009) and complete reconfiguration. Partial reconfiguration is advantageous than complete reconfiguration. In partial reconfiguration, two ways are available viz. dynamic and static. In this paper, two interdisciplinary fields are integrated and proposed a novel architecture of dynamic partial reconfiguration for cloud computing.
Reconfigurable resources such as computing service, networking service, data processing and storage services are ready to access in clouds (Ding et al., 2012). Applications that are utilizing cloud computing infrastructure demand for various services. They are not aware of the underlying cloud architecture. They can only interact with the corresponding service provider or its agents to accomplish the service. Hence, the architecture framework should provide different levels of transparency, security and access control.
The architecture framework using FPGA is shown in Fig. 1. Applications are on the top of the 3D plane. Service usage module and application management module can directly be accessed by the applications. Service usage module checks whether an application is having rights to access a particular service agent. It has agreement specifications for each agent. If any application is requesting service agent, it sends the agreement specification to the application management module. Application management module is governing the applications that are accessing cloud services. It prepares the agreement for each application that is trying to access cloud.
The agreement comprises of terms and conditions for accessing and using the service. Terms and conditions such as response time support, usage reports, service billing, trials, security, etc., are differing from application to application and service to service. Application management module also stores the application-agent pair in a table. The table is updated regularly when an application starts its execution with an agent or switches its agent from one to another or finished its execution. Hence service usage and application management are at the same level but in different planes.
The Service provider offers different kinds of services and controls the service usage module. It maintains the record for services available. The record contains the information about service like service id, its developer, service version number, etc. it interacts with the service developer to create new services. The new services created are properly registered and then only it is made available to applications. The virtualization and scalability module hides the underlying base architecture for cloud execution. It also provides scalability by properly maintaining the information about the allocated services and available free area in partial dynamic reconfigurable FPGA.
The application management and service usage layer cannot even aware of the base architecture. The base cloud architecture contains two main modules. The service developer module is responsible for creation of services that are requested by the various applications. The reconfiguration module does switching between one service to another service (Zhang et al., 2012).
|Fig. 1:||Architecture framework for cloud computing using FPGA|
Cloud services are of three types (Silas et al., 2012) viz. SaaS, PaaS and IaaS. SaaS is achieved by service usage module and application management module. PaaS is (Peng et al., 2009) realized with service provision module and virtual layer management module. In addition to the above modules, service developer and reconfiguration modules provides complete IaaS. Figure 2 shows the design of the system with cloud services.
Data mining application needs to collect data and take decision according to it. It requires computation, storage (Ning et al., 2012) and Network access. In this framework as shown in Fig. 3 all are available as service and it can be accessed from service usage layer. Application management module negotiates terms and conditions needed for service access with the application and makes a service usage level agreement. According to the agreement service agents are generated and application uses those agents.
|Fig. 2:||Design of the system with cloud services|
|Fig. 3:||Data processing application scenario|
If the demanding service is not exactly available, service usage module request service developer module through service provider module to develop a new or modify existing service to satisfy the customer application need. Reconfiguration takes place if the service is not available in the hardware. Reconfiguration bits are generated in service developer module and transferred to the hardware with CPU control.
This paper proposed architecture of cloud computing using FPGA. It also elucidates an application scenario that can be easily tailored for any kind of application. The design of the system depicts the relationship with cloud services. This framework and system design highly reduces the technical burden of the service developers and application providers.
- Bharathi, N. and P. Neelamegam, 2011. FPGA based linear heating system for measurement of thermoluminescence. Meas. Sci. Rev., 11: 207-209.
- Ding, B., X.Y. Yu and L.J. Sun, 2012. A cloud-based collaborative manufacturing resource sharing services. Inform. Technol. J., 11: 1258-1264.
- Peng, B., B. Cui and X. Li, 2009. Implementation issues of a cloud computing platform. IEEE Data Eng. Bull., 32: 59-66.
- Ning, Y., Z. Guo, S. Shen and B. Peng, 2012. Design of data acquisition and storage system based on the FPGA. Procedia Eng., 29: 2927-2931.
- Abidine, Z.E., A. Ismaili and A. Moussa, 2009. Self-partial and dynamic reconfiguration implementation for AES using FPGA. IJCSI Int. J. Comput. Sci., 2: 33-40.