Development of a Design Framework for Platform-Independent Networked Reconfiguration of Software and Hardware (original) (raw)

Virtual Java/FPGA interface for networked reconfiguration

Proceedings of the 2001 conference on Asia South Pacific design automation - ASP-DAC '01, 2001

A virtual interface between Java and FPGA for networked reconfiguration is presented. Through the JavaflFPGA interface, Java applications can exploit hardware accelerators with FPGAs for both functional flexibility and performance acceleration. At the same time, the interface is platform independent. It enables the networked application developers to design their applications with only one interface in mind when considering the interfacing issues. The virtual interface is part of our work to build a platform-independent deployment framework for the networked services. In the framework, both the software and hardware components of services can be platform independently described and deployed.

Supporting operating systems for reconfigurable computing: A distributed service oriented approach

… on Engineering of …, 2009

Operating systems for reconfigurable computing are becoming an attractive field of research. They provide a well-defined programming model and a run-time environment, which greatly simplifies the development process and management of reconfigurable applications. One of the main challenges for the design of such systems is to provide both powerful and efficient abstractions to deal with the complexity of the integration between hardware and software domains in general, and the special features of the reconfiguration process in particular. The contributions in this paper try to give solutions to both problems, first taking a distributed system approach based on system-level middleware, and second providing transparent reconfiguration as one of the advanced services provided by the middleware.

A Scalable Architecture to Support Networked Reconfiguration

1999

This paper presents a proposed scalable architecture to enable networked reconfiguration for the next generation communication terminals. A new system architecture that supports networked reconfiguration is defined. It contains two new blocks -the virtual reconfigurable architecture (VRA) and the application specific resource manager (ASRM). VRA can be considered as a hardware virtual machine, and it separates the terminal architecture into application independent and application specific parts. ASRM is used to automatically manage FPGA resources similar to the way a conventional OS manages memory or CPU resources. By providing both a hardware and a software virtual machine, the networked reconfiguration users only need to develop a design description targeted on the virtual platform that exploits VRA and ASRM.

A Networked, Lightweight and Partially Reconfigurable Platform

Lecture Notes in Computer Science, 2008

In this paper we present a networked lightweight and partially reconfigurable platform assisted by a remote bitstreams server. We propose a software and hardware architecture as well as a new data-link level network protocol implementation dedicated to dynamic and partial reconfiguration of FPGAs. It requires a network controller and much less external memories to store reconfiguration software, bitstreams and buffer pools used by standard communication protocols. Our measures, based on a real implementation, show that our system can download remote bistreams with a reconfiguration speed ten times faster than known solutions.

Control and configuration software for a reconfigurable networking hardware platform

… , 2002. Proceedings. 10th …, 2002

A suite of tools called NCHARGE (Networked Configurable Hardware Administrator for Reconfiguration and Governing via End-systems) has been developed to simplify the co-design of hardware and software components that process packets within a network of Field Programmable Gate Arrays (FPGAs). A key feature of NCHARGE is that it provides a high-performance packet interface to hardware and standard Application Programming Interface (API) between software and reprogrammable hardware modules. Using this API, multiple software processes can communicate to one or more hardware modules using standard TCP/IP sockets. NCHARGE also provides a Web-Based User Interface to simplify the configuration and control of an entire network switch that contains several software and hardware modules.

Open programmable architecture for java-enabled network devices

IEEE Hot Interconnects Stanford University, 1999

Current network devices enable connectivity between end systems given a set of protocol software bundled with vendor hardware. It is impossible for customers to add software functionality running locally on top of network devices to augment vendor software. Our vision is to open network devices so that customized software can be downloaded, allowing for more flexibility and with a focus on industry and customer specific solutions. This brings considerable value to the customer. We have chosen to use Java because we can reuse its security mechanism and dynamically download software. We can isolate the Java VM and downloaded Java programs from the core router functionality. We implemented Java Virtual Machines (JVMs) on a family of network devices, implemented an Open Services framework, and developed an SNMP MIB API and a Network API upon which we can demonstate the value of openness and programmability of network devices.

Supporting Runtime Reconfiguration on Network Processors

Journal of Interconnection Networks, 2006

Network Processors (NPs) are set to play a key role in the next generation of networking technology. They have the performance of ASIC-based routers whilst offering a high degree of programmability. However, the programmability potential of NPs can only be realised with appropriate software. In this paper we argue that specialised software to support runtime reconfiguration is needed to fully exploit the potential of NPs. We first justify supporting runtime reconfiguration on NPs by offering real-world scenarios and discussing the issues associated with these. We then demonstrate how runtime reconfiguration can be achieved in practice through a case study of our component-based programming approach on the Intel IXP2400 NP.

NETKIT: a software component-based approach to programmable networking

Computer Communication Review, 2003

While there has already been significant research in support of openness and programmability in networks, this paper argues that there remains a need for generic support for the integrated development, deployment and management of programmable networking software. We further argue that this support should explicitly address the management of run-time reconfiguration of systems, and should be independent of any particular programming paradigm (e.g. active networking or open signaling), programming language, or hardware/ operating system platform. In line with these aims, we outline an approach to the structuring of programmable networking software in terms of a ubiquitously applied software component model that can accommodate all levels of a programmable networking system from low-level system support, to in-band packet handling, to active networking execution environments to signaling and coordination.

Run-time execution of reconfigurable hardware in a Java environment

Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001, 2001

We present tools that support the run-time execution of applications that mix software running on networks of workstations and reconfigurable hardware. We use JHDL to describe the reconfigurable hardware, and JavaPorts to handle the communications between nodes in the network. The heterogeneous resources are handled by interposing a communication layer between the application and the hardware. The communication layer provides (i) the ability to modify the target hardware without modifying the application, (ii) co-design of the application and hardware, (iii) simulation of the entire system before the hardware design is complete, and (iv) remote execution so the application can reside on a different host from the hardware. We demonstrate the feasibility of this approach with a Java-based system which has a communication layer called the Packet Exchange Platform (PEP). We present the system, describe the PEP and its implementation, and show how this approach has been applied to an image processing application.

Platform-independent dynamic reconfiguration of distributed applications

Proceedings - 10th IEEE International Workshop on Future Trends of Distributed Computing Systems, 2004

The aim of dynamic reconfiguration is to allow a system to evolve incrementally from one configuration to another at run-time, without restarting it or taking it offline. In recent years, support for transparent dynamic reconfiguration has been added to middleware platforms, shifting the complexity required to enable dynamic reconfiguration to the supporting infrastructure. These approaches to dynamic reconfiguration are mostly platform-specific and depend on particular implementation approaches suitable for particular platforms. In this paper, we propose an approach to dynamic reconfiguration of distributed applications that is suitable for application implemented on top of different platforms. This approach supports a platformindependent view of an application that profits from reconfiguration transparency. In this view, requirements on the ability to reconfigure components are expressed in an abstract manner. These requirements are then satisfied by platform-specific realizations.