Changes between Version 25 and Version 26 of PHAL-OE_Concept

Show
Ignore:
Timestamp:
11/18/08 12:52:29 (16 years ago)
Author:
antoni (IP: 147.83.105.182)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PHAL-OE_Concept

    v25 v26  
    33 
    44 
    5 First and basic step to advance in the process of defining a common framework to develop and deploy software radio applications is to eliminate platform (hardware and support software) dependencies.  
    6 Next step is making simpler to specify radio applications, worrying only about algorithm description.   
     5The PHAL-OE concept tries to address the main issues related with the Software Radio technology. It assumes the need of supporting, partial or total, reconfiguration of the radio processing chain, the need to deploy the radio application onto a heterogeneous hardware platform capable to assume the high computing requirements of modern wireless systems, the need to assure strong real-time execution constraints, the need to easily develop and integrate software modules and the possibility to execute them in different types of processors assuming an easy portability. 
    76 
    8 In this context, the possibility to add as much processing resources as required for a given application, making not necessary to change it at all, is of must importance. The possibility of (re)configuring the radio terminal and/or the base station built by using different hardware from different providers requires the capability of adding (and removing) plug-and-play hardware to (from) the system. Different hardware topologies, configurations and, above all, assigned tasks impose restrictions on the integration of different hardware to construct software radio platforms. Due to these and the previously stated objectives, a multi-platform software abstraction layer and execution environment, PHAL-OE (Platform-Hardware Abstraction Layer Operating Environment), has been defined and designed to provide such features. 
     7One of the most relevant objectives in the process of defining a common framework to develop and deploy software radio applications is to eliminate platform (hardware and support software) dependencies. In this context, the possibility to add as much processing resources as required for a given application, making not necessary to change it at all, is of must importance. The possibility of (re)configuring the radio terminal and/or the base station built by using different hardware from different providers requires the capability of adding (and removing) plug-and-play hardware to (from) the system. Different hardware topologies, configurations and, above all, assigned tasks impose restrictions on the integration of different hardware to construct software radio platforms. All these objectives have pushed us to define and develop a multi-platform software abstraction layer and execution environment, PHAL-OE (Platform-Hardware Abstraction Layer Operating Environment), capable to provide such features. 
    98 
    10 The context where the radio applications will be executed influences strongly the system performance. Radio appliactions are built by signal processing blocks most of them adquiring input signals and delivering output signals. Thus, the first step would be as simple as provide the mechanism to the application to deal with these input/output signals. These entities can be software or hardware entities, but in any case, abstracted from real implementation. The particularity of such interfaces between several entities is that is unknown at development time, and only during execution time all the entities will be unified and the entire application will be build.  
     9On the other side, from the point of view of radio application, it is commonly assumed   hat such radio application is built based on a set of software modules (hardware or software based) that communicates among them. The common used terms denominates such modules as “objects”. Therefore each one of such objects are signal processing blocks, some of them with important requirements in terms of computing resources, that needs to acquire/deliver information from/to other objects. Thus, the first step would be as simple as provide the mechanism to the application to deal with these input/output interfaces. Nevertheless, one of the most relevant assumptions of PHAL-OE is that such interfaces between objects are unknown at object development time. Only at execution time all the required objects will be integrated and the entire radio application will be built. 
    1110 
    12 These and more ideas should be incorporated to the framework. In the following lines we define the main list of functionalities where the PHAL-OE must support on: 
     11With these ideas in mind we initiated the development of the PHAL-OE concept. The list of the main functionalities where the PHAL-OE must provide support on includes: 
    1312 
    14 •       Flexibility. The framework must efficiently implement the flexibility concept required by SDR. 
     13•       Flexibility. The framework must efficiently implement the flexibility concept required by SDR. It is assumed to be based in the capacity to facilitate the reconfiguration as the basic mechanism providing flexibility.  
    1514 
    16 •       Execution control management.  
     15•       Execution control management. The coordinated execution of the whole system must be assured. 
    1716 
    18 •       Hide the platform heterogeneity to the radio application. Abstraction layers are required. 
     17•       Hide the platform heterogeneity to the radio application. Abstraction layers are required are basic mechanisms to provide such feature. 
    1918 
    20 •       Computing resource management. 
     19•       Computing resource management. Under a scenario with limited computing resources the need of a specific mechanism to manage the available resources promotes the efficiency in the whole system and extends its interactions with the radio resources management part. In addition it is capable to assure the overcoming of the real-time constraints. 
    2120 
    22 •       Computing objects data packet oriented messaging. Not processor (device) oriented. 
     21•       Computing objects data packet oriented messaging. Not processor (device) oriented communication mechanisms. Therefore a data packet oriented communication network among the heterogeneous processors is built. 
    2322 
    2423•       Parameter or variable (signals) evolution capture during the execution of the application.  
     
    2625•       Processing resource parameters evolution captured for autonomous management or control. 
    2726 
    28 •       Auto-learning/cognitive capabilities for the internal resource management.  
     27•       Auto-learning/cognitive capabilities for the internal resource management can be easily incorporated.  
    2928 
    30 •       Support to the Cognitive Radio strategies 
     29•       Support to the Cognitive Radio strategies thanks to the capacity to capture in a coordinated way relevant information from different layers of the radio and computing system. 
    3130 
    3231 
     
    3635 
    3736 
    38 To illustrate the concept of PHAL-OE as a simple mechanism of information exchange lets consider, for example, the following simple piece of code of an execution thread of a general radio application: 
    39  
    40 {{{ 
    41 for ever { 
    42  sample=read(MY_INPUT,BYTES_PER_SAMPLE); 
    43  result=process_sample(sample); 
    44  write(MY_OUTPUT,BYTES_PER_SAMPLE,result); 
    45 } 
    46 }}} 
    47 The process_sample function of the previous example can be written using any kind of portable programming language (C/C++ or VHDL for example) that can be compiled and translated to processor specific binary files. On the other hand, the read and write operators closely depend on the platform and must be specifically designed for it. Thus, when porting this code to another platform, the read and write specific PHAL-OE library implementation will be used. 
    48  
    49 Now the question is: would this simple P-HAL be enough to build Software Radio signal processing applications? The answer is yes. Only a short specification of an origin and a destination of a data flow is enough to build any kind of application. Similar to the Turing Machine computing theory, any kind of processing machine based on a single operation of moving data from one origin to a destination is able to execute any kind of processing task. Thus, porting this concept to signal processing tasks is trivial. 
    50  
    51 In previous figure, a representation of the abstraction layers involved in PHAL-OE is drawn. On the top we see the connection graph of the object pieces building the radio application, this is the Abstract Application Layer. On the next level, objects are mapped into real Processing Elements (PE), they physically need a place to be executed or located on. The PHAL-OE Layer is the abstraction layer found between the real application processes and the Hardware Layer. An overall P-HAL Platform is represented although three PE (each of them enabling the PHAL-OE functionalities) are under it.   
     37Previous figure tries to illustrate the PHAL-OE concept. On the bottom we can see the Hardware Layer where we can found several processors or Processing Elements (PE) physically interconnected among them. On top of the figure we can see the Application Layer where a graph of a radio application tries to define the required tasks (objects) and the data flow among them. In the Real Application Layer we can see the previous tasks but using the services or functionalities provided by PHAL-OE to build coherently the radio application. On th PHAL-OE Layer we observe that from the point of view of the tasks (objects) conforming the radio application all them only see the same platform, the PHAL-OE Platform, not being aware of any detail related with the hardware. On such layer, but from the hardware point of view, we can find the specific implementation of the PHAL-OE functions for each one of the processors used to build the entire Hardware Layer.