WO2009147261A1 - Method for managing computation resources which is applicable to a software-defined radio system - Google Patents

Method for managing computation resources which is applicable to a software-defined radio system Download PDF

Info

Publication number
WO2009147261A1
WO2009147261A1 PCT/ES2009/000300 ES2009000300W WO2009147261A1 WO 2009147261 A1 WO2009147261 A1 WO 2009147261A1 ES 2009000300 W ES2009000300 W ES 2009000300W WO 2009147261 A1 WO2009147261 A1 WO 2009147261A1
Authority
WO
WIPO (PCT)
Prior art keywords
column
nodes
node
candidate
path
Prior art date
Application number
PCT/ES2009/000300
Other languages
Spanish (es)
French (fr)
Inventor
Xavier REVÉS BALLESTÉ
Vuk Marojevic
Antoni Gelonch Bosch
Original Assignee
Universitat Politècnica De Catalunya
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universitat Politècnica De Catalunya filed Critical Universitat Politècnica De Catalunya
Publication of WO2009147261A1 publication Critical patent/WO2009147261A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts

Definitions

  • the present invention concerns a method for managing computing resources applicable to a program-defined radio system, which in general comprises mapping functions, processes or parts of an application on processors with certain computing resources, selected using cost functions, and in particular a method comprising pre-mapping said functions on processors, constituting nodes, each associated with a function and a processor, which form a matrix of pre-nodes connected through the mediation of some candidate paths, traverse all the nodes of said matrix to evaluate their costs, make a preselection of candidate paths and nodes, and finally make a final selection or mapping based on the different accumulated costs and the preselection made.
  • Program-defined radio can be considered as a generalization of radio by program, or software, because it characterizes a transceiver that implements one or more signal processing blocks by software.
  • SDR is an emerging concept that influences the design of software-defined and independent signal processing chains in relation to hardware for radio communications. It introduces flexibility in wireless systems, facilitating the dynamic passage from one radio access technology (RAT) to another or, in other words, the reallocation and reallocation of computing resources from one SDR application to another.
  • RAT radio access technology
  • the SDR computing context consists mainly of heterogeneous multiprocessor platforms, be they base stations (BSs) or mobile terminals (MTs), as well as software-defined signal processing chains.
  • BSs base stations
  • MTs mobile terminals
  • Mobile terminals are very limited in terms of energy and computing resources, flexibility, and support for concurrent RAT implementations.
  • the computing resources of the base stations are less limited, their energy consumption is not a limitation, and the number of concurrent RAT implementations can be as high as desired.
  • the potentially large number of users and the high degrees of flexibility, modularity and reconfigurability of the platforms make the management of resources in the base stations it is equally important but more complex than in the mobile terminals.
  • mapping and programming of tasks in heterogeneous multiprocessor computing platforms. These contributions are focused on a wide variety of problems in general or special purpose computing contexts. Some jointly address the problems of mapping and scheduling tasks and present optimal or lower than optimal solutions with different objectives, such as minimizing the execution time or the cost of communication processes, the objective of satisfying the response times in real time, as well as other additional or alternative objectives.
  • US6768901 is known to manage computer resources of a radio system defined by program, mapping functions, processes or parts
  • mapping is an approximation of local mapping that does not require any postprocessed This is based on selecting from a grid or matrix of candidate nodes, each associated with a function and a processor, based on the results of a cost function applied to each or nodes.
  • the g-mapping algorithm first selects a node of the first column of said matrix, after which it takes into account the cost accumulated in each of the nodes of the second column taking as origin the selected node of the first column, in base at whose cost a node of the second column is selected, and so on for the rest of the columns, so that in each step only one node is selected, which is the only one that remains active when performing the next step of selecting a node of the next column.
  • the present invention concerns a method for managing computing resources applicable to a program-defined radio system, of the type that comprises mapping functions, processes or parts of at least one application on processors with computing resources determined, selected using cost functions by performing the following steps: a) pre-mapping each of M functions of said application to each of N processors, thus obtaining a matrix of NxM candidate nodes, each associated with a function and a processor, b) pre-connect each of the candidate nodes belonging to a column * of said matrix with all the candidate nodes of the following column, each of said connections allowing data communication through a path candidate that includes at least one originating candidate node, one of said connections and one destination candidate node, c) applying at least one a cost function to each of the N candidate nodes of the first column of said matrix, or nodes associated with a first of said functions, obtaining the cost of each of said candidate nodes, d) apply at least one cost function to the candidate paths that include the candidate nodes of the first column in connection with at least those of
  • the method comprises carrying out:
  • step d) to apply said cost function, which is at least one, to the candidate paths that include the candidate nodes of the first column in connection with, only, the candidate nodes of the second column, and
  • step e) to pre-select, for each candidate node destination of the second column, the candidate path of optimal cost leading to it, obtaining said first N preselected paths that start from a node of the first column and end in a node of the second column.
  • the method comprises selecting the. two nodes that are part of the optimal cost path, among said first preselected paths, and therefore the processor or processors associated with each of said two nodes selected as a processor or mapped processors to execute the first function, the one associated with the node of The first column, and a second function is associated to the node of the second column.
  • the method comprises, for said first embodiment, perform the following steps, analogous to said stages d) and e), respectively: d ') apply at least one cost function to the candidate paths that include the candidate nodes of the second column in connection with those of the Ia third, to calculate the accumulated cost associated with each one of said candidate paths that includes at least the cost of the destination node of the third column based on preceding decisions and the cost of one of said first preselected paths in stage e), each of which includes only one node of the first column connected to one node of the second column, thus obtaining the cost of each of said candidate paths destined for a respective candidate node of the third column, and e ') preselect for each candidate node destination of the third column the candidate path of optimal cost that leads to it from an origin node of the second column, obtaining N preselected second paths, discarding the connections that join the candidate nodes of the second column with those of The third that are not part of said second preselected paths.
  • the method comprises selecting, from said N second preselected paths, the optimum cost, and traveling it back along the first preselected path to which it is attached, to select the three nodes that are part of said path, and therefore the processor or processors associated with each of said three nodes selected as mapped processors to execute the first function, the one associated with the node of the first column, the second function, the one associated with the node of the second column, and the third function, the one associated with the node of the third column.
  • the method comprises, for the first example of embodiment, perform, for each of the columns following the third column, two to two and advancing column by column, steps analogous to said stages d J ) and e ') to finally preselect for each candidate node destination of each additional column to the third column, the optimal cost candidate path leading to it from an origin node of the immediately preceding column, obtaining N additional preselected paths per column, discarding connections that are not part of said additional preselected paths.
  • the method comprises, for the first embodiment, select, from among the N additional preselected paths that include the nodes of the last column, the optimum cost, and travel backwards together with all the preselected paths to which it is attached, to select the M nodes that are part of said route, and therefore the processor or processors associated with each of said M selected nodes as mapped processors to execute the M functions.
  • each of said candidate paths includes an origin candidate node, an intermediate candidate node and a node destination candidate, of three consecutive columns respectively, interconnected by two of said connections, that is, a three-node path
  • the method comprises carrying out:
  • step d) to apply at least said cost function to the candidate paths, each of which includes, interconnected by two respective connections, a candidate node originating from the first column, an intermediate candidate node from the second column and a destination candidate node of the third column, to calculate the cumulative cost of each of said candidate paths of three nodes and that of their initial segments, or path segments of two nodes that include a node of the first column and one of the Ia second, and
  • step e) to preselect, for each intermediate candidate node of the second column, only part of the candidate path of three nodes of optimal cost passing through it, said pre-selected parts being said first N path segments of two nodes.
  • the method comprises performing the following stage, analogous to said stage d): d ") applying at least one cost function to the candidate paths of three nodes that include, interconnected by two respective connections, a candidate node origin of the second column, an intermediate candidate node of the third column and a destination candidate node of the fourth column, to calculate the cumulative cost associated with each of said three-node candidate paths, which includes the minus the cost of the destination node of the fourth column based on previous decisions and the accumulated cost of One of said first road segments of two preselected nodes in stage e).
  • the method comprises, for said second embodiment, perform the following steps, after said step d "): - preselect for each intermediate candidate node of the third column, the complete candidate path of three nodes of optimal cost that passes through it and ends in a node of the fourth column, obtaining N paths of three preselected nodes, and
  • the method comprises, for said second embodiment, performing the following stage after said stage d "): e") preselecting, for each intermediate candidate node of the third column, only part of the candidate path of three nodes of optimal cost that passes through it and ends in a candidate node of the fourth column, obtaining N second path segments of two preselected nodes.
  • the method comprises carrying out, for said case where M> 4 of the second embodiment, for each of the columns following the fourth column, three to three and advancing column by column, steps analogous to said stages d ") and ") for each additional three-node path that ends in each of the following or additional columns to the fourth column, with the exception of the additional three-node path that ends in column M, to preselect for each intermediate candidate node of each path of three additional nodes, only part of the candidate path of three nodes of optimal cost that passes through it, obtaining N path segments of two additional preselected nodes for each additional column to the fourth column.
  • the method comprises performing the following steps (for M> 4 of the second embodiment), after said stage analogous to said stage e "):
  • the method comprises carrying out:
  • step d) to calculate the accumulated cost of each of said candidate paths of more than three nodes and that of their initial path segments of two nodes that include a node of the first column and one of the second,
  • step e) to preselect, for each candidate node of the second column, only part of the candidate path of more than three nodes of optimal cost passing through it, said pre-selected parts being said first N path segments of two nodes, and
  • the method comprises performing, for said paths of more than three additional nodes that end in column M, the following steps:
  • the cost functions used by the method proposed by the invention evaluate the computation cost that relates the processing requirements with the available processing resources at each moment, and the communication cost that relates the bandwidth requirements to transfer data from one process to another with the corresponding bandwidths available between the processors.
  • the method comprises, for an exemplary embodiment, determining said computing resources of each of said processors based on a time segment, or "time slot", of a plurality of equal time segments, of sufficient duration to ensure that each The processor is capable of executing the assigned functions or processes and of transferring data to another processor before the end of said temporary segment, thus guaranteeing the real-time processing required by SDR applications.
  • the method comprises mapping said functions to finally execute the application through an instruction segmentation process, establishing the same computation requirements for each of said temporary segments.
  • Fig. 1 is a schematic representation of a platform model with its initially available resources (a) and an application model with its resource requirements (b), usable to apply the method proposed by the present invention
  • Fig. 2 schematically shows a matrix of nodes (a, c) configured according to the proposed method, with initial nodes drawn with a continuous line under analysis according to a first part of the proposed method, for an embodiment example, as well as a table of costs (b) of said nodes;
  • Fig. 3 shows the same matrix (a, c) of Fig. 2, for the same example of embodiment, but for a later step, or second part of the method proposed by the invention, indicating the view (a) of the paths examined in a continuous line and the view (c) the path preselected in bold, as well as a cost table (b) indicating the cost accumulated in a first node of a second column of said matrix;
  • Fig. 4 shows views similar to those of Fig.
  • Figure 5 shows similar views to those of Figure 3, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the first node of the third column;
  • Fig. 6 shows similar views to those of the FIg. 4, with the difference that the analysis referring to said second part of the method proposed by the invention, is carried out with respect to the second node of the third column;
  • Figure 7 shows views similar to those of Figures 3 and 5, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the first node of the fourth column;
  • Fig. 8 shows views similar to those of Fig. 4 and 6, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the second node of the fourth column, and that in (c) no line appears in bold because no path has been preselected that leads to the second node of the fourth column due to the infinite cost of both;
  • Fig. 9 shows in view (a) the node matrix of Figs. 2 to 7, with definitely selected nodes that are part of the path indicated by dashed arrows, as well as a view (b) indicating the final mapping represented by said selected nodes;
  • Fig. 10 shows views similar to those of Fig. 3 but for another example of embodiment for which paths of three nodes that pass through the gray node of the view (a) are examined, said view (a) indicating the roads examined in a continuous line and the view (c) the segment of one of said preselected roads, in bold, as well as a cost table (b) indicating the accumulated costs in each of said examined roads; the FIg. 11 shows similar views to those of Fig. 10, for the same second step, but applied to the paths that pass through the gray node of the view (a);
  • Figure 12 shows views similar to those of Figure 10, but where the nodes under analysis have moved one position to the right, and where in the view (c) a path has been preselected, marked in bold, full of three nodes covering the last three columns;
  • Fig. 13 shows similar views to those of Fig. 12, but where both the paths of three examined nodes (view (a)) and the preselected (view (c)) pass through the second node of the third column; Y
  • Fig. 14 shows in view (a) the matrix of nodes with definitively selected nodes that are part of the path indicated by dashed arrows, for the embodiment of Figs. 10 to 13, as well as a view (b) indicating the final mapping represented by said selected nodes;
  • Fig. 15 is a schematic representation of a matrix of NxM nodes generated and used by the method proposed by the present invention
  • Fig. 16 illustrates a sequence of instructions or pseudo-codes representative of the implementation of the method proposed by the present invention for an exemplary embodiment
  • Fig. 17 is a table containing the most important variables and expressions used in the following detailed description section of some embodiments.
  • a simple cost function has been assumed. This consists of the sum between the cost of computing and the cost of communication.
  • the cost of computing relates the processing requirements to the available processing resources, while the communication cost relates the bandwidth requirements (to transfer data from one process to another) with the corresponding available bandwidths between the processors.
  • Internal bandwidths to a processor are assumed infinite, so the cost of transferring data from one process to another executed within the same processor does not imply any communication cost.
  • the available resources are updated after each decision of the fw-mapping.
  • the numbers (costs) come from this cost function, which is not specified in more detail because the objective is to exemplify the operation of the ⁇ -mapping; The origin of these numbers is not significant but how the algorithm behaves based on these numbers. Note that a cost infinity indicates the case of requiring more resources than are available. Therefore, finite costs represent valid mappings, while infinite costs indicate invalid (partial) mappings. For this, as for any cost function applied, the objective is to optimize (minimize in this case) the cost of mapping; The algorithm makes the corresponding decisions, which will be seen below.
  • Fig. 1a the model of a 2-processor platform is shown, indicating the processing resources (bold numbers) and communication resources (normal numbers), and in Fig. 1b the required processing resources (bold numbers) and data transfer (normal numbers) and the application model consisting of 4 processes (modules or functions) are shown.
  • Part I of the algorithm or in other words first part of the proposed method:
  • the algorithm calculates the cost of mapping the process or function f ⁇ to all processors (Fig. 2a). According to the chosen cost function, mapping the fi process to the processor P 1 costs 0.5, while mapping the process A to the processor P 2 costs 1 (Fig. 2b). These costs are saved in the corresponding nodes (Fig. 2c).
  • the nodes of each step can be processed in parallel, while step (/ + 1) has to be processed after the processing of the nodes of step /.
  • the paths [P 1 P 1 J 2 and [P 2 Pi] 2 are examined (Fig. 3a). Its accumulated costs, that is the cost of the origin node plus the cost of mapping f 2 to P 1 and P 2 , respectively, are calculated based on the remaining resources (Fig. 3b) to choose the one with the lowest cost that marks the way forward (Fig. 3c).
  • the paths [P 1 P 2 J 2 and [P 2 P 2 ] 2 are examined (Fig. 4a). Its accumulated costs, that is the cost of the origin node plus the cost of mapping f 2 to P 1 and P 2 , respectively, are calculated based on the remaining resources (Fig. 3b) to choose the one with the lowest cost that marks the way forward (Fig. 4c).
  • the nodes of step 2 are finished processing, the nodes of step 3 are continued. These nodes are processed in the manner equivalent to that applied to the nodes of step 2, based on the costs saved and the resources available in the nodes (Pi, faith) and (P 2 , faith) (Fig. 5 and Fig. 6). Finally, the nodes of step 4 are processed (Fig. 7 and Fig. 8).
  • the w- mapping first searches for the lowest cost node under those of step M-w + 1. In the case of mapping and r ⁇ the example, this is the node (P 1 U), with the cost of 2.83, opposed to the infinite cost node (P 2 U) (Fig. 9a). Starting from this node, the rmarmapping diagram is transferred through the connections marked in bold until it reaches a node in step 1, marking the crossed nodes (Fig. 9a). This returns the final mapping according to the cost function applied and the window chosen. In this case, the solution proposes mapping U, fe and f 4 to the Pi processor and f 3 to P 2 (Fig. 9b). The total cost of this mapping is 2.83, as indicated by the node (P 1 , U) (Fig. 9a).
  • Fig. 10 illustrates the procedure for the node (P 1 , faith) and Fig. 11 for the node (P 2 , faith). Note that, although the cost of the path of length 2 is used to make the decision, only the first part of the path is marked and the cost corresponding to the passage of length 1 is saved (Fig. 10c and Fig. 11c). Proceed with the 2 nodes under step 3 (see Figs.
  • the method or algorithm proposed by the present invention It is general purpose, and can execute different cost functions and be dynamically adjusted to changes in the environment of radio signals.
  • t w- mapping algorithm described for a more generic embodiment example than the one described above, and generalized for M functions, N processors and NxM nodes.
  • Fig. 15 it can be seen in the diagram of t w- mapping that contains a matrix of NxM t-nodes.
  • a t-node is identified as (P ⁇ W , f ⁇ ) and represents the mapping of an SDR function f ⁇ to the P ⁇ W processor.
  • Any t-node in step / (column / f in the diagram or rmapping) is connected to all nodes of step t- / + 1.
  • the first part of the algorithm refers to the SDR fi function.
  • the ⁇ w-mapping ⁇ w ⁇ 1) pre-maps f- ⁇ a P ⁇ 0) and stores the pre-mapping cost CT (P ft (0) , f-,) in the t-node ( P ⁇ 0 ), f-0 (lines 1-2 in Fig. 16).
  • pre-mapping indicates that the final mapping of the SDR application is not known until all of its SDR functions have been processed, or pre-mapped.
  • the fi-mapping analyzes the N road segments, or paths of length 1, that end at the t-node ⁇ P km , f ⁇ ). These are [P 1 P km ] ⁇ , [P 2 P ⁇ ) I, .... and [Pw PmI (line 5 in
  • the w -mapping (w> 1) analyzes the ⁇ T w-paths that are associated with the t-node (P / c ( i ) , / / ). Any of these w-paths originates from the ⁇ node in step (/ -1), runs through (P km , f ⁇ ), and ends at the t-node in step / + w-1.
  • the algorithm calculates the accumulated costs due to lines 5-12 of Fig. 16. Then it solves
  • step / All nodes in step / (line 4 of Fig. 16) can be processed in parallel.
  • Part III postprocessed Part III of the postprocessing algorithm the pre-mapping decisions of parts I and II.
  • the ⁇ w-mapping (w ⁇ 1) first highlights the ⁇ -node in step M-w + 1 that retains the minimum cost (line 19 of Fig. 16).
  • the f- w- mapping diagram that is the NxM matrix, is traversed backwards (or forward and backward in the case that w> 1) along the paths of 1 highlighted, at the same time that all the t-nodes that are crossed during that route are highlighted (line 20 of Fig. 16). This offers as a result M highlighted nodes, which are finally selected to specify the proposed mapping proposed for the particular problem, the cost function and the window size chosen.
  • r ⁇ algorithm mapping is based on local decisions. However, it maintains N different premapped in each step, one per t-node, which results in N (partially) different mapping options (bold expressions in Fig. 16).
  • the ⁇ / w_i-mapping algorithm examines all the possible N M mapped from the M functions to the N processors.
  • the parameter w also controls the compromise between computing efficiency and mapping performance: the larger the size of the window w, the greater the complexity of the algorithm but the better the results of the mapping.
  • the proposed cost function is defined based on the weight or cost of the road length 1 (or simple connection) WT [P ⁇ M; P ⁇ ] / ,.
  • This cost function represents an overlap between the cost of computing and the cost of communication, as follows:
  • Any t-node (P ⁇ , f ⁇ ) stores the processing capacities C (/ ((/) i ° and the remaining bandwidths ⁇ w /) '° depending on the previous pre-mapping decisions.
  • the cost function first calculate the pre-mapping costs in the t-nodes (P 1 , U), (P 2 , U), ..., and (P N , U) using the right part of (3b).
  • -node (P ⁇ o ) , U) the processing requirement C 1 of the SDR U function is then subtracted from the corresponding initial processing capacity C ⁇ 0) .
  • the method proposed by the present invention is applicable for different types of modeling or abstraction of an SDR system, such as the one described by each platform based on its recusers computing or processing and communication (see Fig. 1a) and that of the SDR application depending on the resources required for processing and data transfer (see Fig. 1b).
  • the parameters to be taken into account to model both the SDR system and the SDR application may be different or complementary to those indicated regarding the processing and communication resources.
  • An example of carrying out the proposed method contemplates using the modeling proposed in the article "Modeling for the management of computing resources in SDR systems", of the XXI National Symposium of the International Scientific Radio Union, of the same inventors of the present invention.
  • Data that is transmitted or received through a wireless link needs to be processed while there is data to be transmitted or received.
  • An SDR application will be executed in general during the entire user session, although there may be periods of time in which no user data is transmitted. The fact that an SDR application can be replaced by another during a user session does not affect this continuous data processing.
  • the method proposed by the present invention contemplates, for an exemplary embodiment, dividing the continuous execution into periodic executions by dividing the time of each computing resource into equidistant temporary computer segments, or "time slots", and the application SDR in stages of "pipelining".
  • the new MOPTS units (millions of operations by "time slot") and MBPTS (mega-bits by "time slot") such as t ts -MOPS and t ts -Mbps, where t ts is the duration of the "time slot”.
  • MOPTS and MBPTS synchronize the available computing resources with the management based on "time slots” and are the basic units for the referred modeling.
  • tt s it is proposed to define tt s according to the following equation: where n ts are the number of "time slots" and L max is the maximum permissible latency for the execution of the set of tasks of the radio application in the set of available processors, which is a function of the tolerable end-to-end delay of a radio communications link due to the service and the QoS agreement between the radio service provider and the end user.
  • t ts is large enough to allow the (efficient) execution of any SDR function in the processing chain.
  • Fig. 15 is also referenced from the description of the proposed method made in the explanation section of the invention, that is to say that the matrix referred to there as a matrix of NxM nodes is, for an exemplary embodiment, the matrix illustrated in Fig. 15, including all the elements mentioned in said description made in the above mentioned section, such as the nodes of the different columns (P- ,, ⁇ I ) ...

Abstract

For the purpose of mapping some functions, processes or parts of an SDR application on some processors with some particular computation resources, the method involves: pre-mapping said functions on some processors; forming some nodes which form a matrix of candidate nodes, each one of which is associated with a function and a processor; pre-connecting each of the candidate nodes in one column to those in the following column; checking all of the nodes in said matrix in order to evaluate the costs thereof, including those accumulated on the possible candidate paths resulting from said pre-connection; preselecting candidate nodes and paths as a function of the accumulated costs thereof; and carrying out a final selection of nodes or final mapping on the basis of the different accumulated costs and said preselection.

Description

MÉTODO PARA GESTIONAR RECURSOS DE COMPUTACIÓN APLICABLE A UN SISTEMA DE RADIO DEFINIDA POR PROGRAMA METHOD FOR MANAGING COMPUTATION RESOURCES APPLICABLE TO A RADIO SYSTEM DEFINED BY PROGRAM
Sector de Ia técnica La presente invención concierne a un método para gestionar recursos de computación aplicable a un sistema de radio definida por programa, que en general comprende mapear unas funciones, procesos o partes de una aplicación sobre unos procesadores con unos recursos de computación determinados, seleccionados utilizando funciones de coste, y en particular a un método que comprende realizar un pre-mapeado de dichas funciones sobre unos procesadores, constituyendo unos nodos, cada uno de ellos asociado a una función y un procesador, que forman una matriz de nodos pre-conectados por mediación de unos caminos candidatos, recorrer todos los nodos de dicha matriz para evaluar sus costes, realizar una preselección de caminos y de nodos candidatos, y finalmente realizar una selección o mapeado final en base a los diferentes costes acumulados y a Ia preselección realizada.Sector of the technique The present invention concerns a method for managing computing resources applicable to a program-defined radio system, which in general comprises mapping functions, processes or parts of an application on processors with certain computing resources, selected using cost functions, and in particular a method comprising pre-mapping said functions on processors, constituting nodes, each associated with a function and a processor, which form a matrix of pre-nodes connected through the mediation of some candidate paths, traverse all the nodes of said matrix to evaluate their costs, make a preselection of candidate paths and nodes, and finally make a final selection or mapping based on the different accumulated costs and the preselection made.
Estado de Ia técnica anteriorState of the prior art
La radio definida por programa (Software-defined radio (SDR)) puede ser considerada como una generalización de radio por programa, o software, porque caracteriza a un transceptor que implementa uno o más bloques procesadores de señal mediante software. SDR es un concepto emergente que influye en el diseño de cadenas de procesado de señales definidas por software e independientes en relación al hardware para comunicaciones vía radio. Introduce flexibilidad en sistemas inalámbricos, facilitando el paso dinámico desde una tecnología de acceso vía radio (RAT) a otra o, en otras palabras, Ia desasignación y reasignación de recursos de computación de una aplicación SDR a otra.Program-defined radio (Software-defined radio (SDR)) can be considered as a generalization of radio by program, or software, because it characterizes a transceiver that implements one or more signal processing blocks by software. SDR is an emerging concept that influences the design of software-defined and independent signal processing chains in relation to hardware for radio communications. It introduces flexibility in wireless systems, facilitating the dynamic passage from one radio access technology (RAT) to another or, in other words, the reallocation and reallocation of computing resources from one SDR application to another.
El contexto de computación SDR consiste principalmente en plataformas multiprocesador heterogéneas, ya sean estaciones base (BSs) o terminales móviles (MTs), así como cadenas de procesado de señales definidas por software. Los terminales móviles están muy limitados en cuanto a recursos de energía y de computación, en flexibilidad, y en soporte para implementaciones RAT concurrentes. Al contrario, los recursos de computación de las estaciones base están menos limitados, su consumo energético no es una limitación, y el número de implementaciones RAT concurrentes puede ser tan alto como se desee. No obstante, el potencialmente gran número de usuarios y los altos grados de flexibilidad, modularidad y reconfigurabilidad de las plataformas hacen que Ia gestión de recursos en las estaciones base sea igualmente importante pero más compleja que en los terminales móviles.The SDR computing context consists mainly of heterogeneous multiprocessor platforms, be they base stations (BSs) or mobile terminals (MTs), as well as software-defined signal processing chains. Mobile terminals are very limited in terms of energy and computing resources, flexibility, and support for concurrent RAT implementations. On the contrary, the computing resources of the base stations are less limited, their energy consumption is not a limitation, and the number of concurrent RAT implementations can be as high as desired. However, the potentially large number of users and the high degrees of flexibility, modularity and reconfigurability of the platforms make the management of resources in the base stations it is equally important but more complex than in the mobile terminals.
Existe Ia necesidad de definir una estructura de software flexible que haga de interfaz entre recursos de computación SDR, por un lado, y el sistema inalámbrico, representado por los requerimientos de computación SDR, por otro lado. La estructura debe ser capaz, mediante Ia aplicación de un correspondiente método, de mapear dinámicamente y de manera eficiente aplicaciones SDR con restricciones de precedencia, sobre unas plataformas SDR mientras satisface las restricciones de computación SDR. Estas restricciones son, en primer lugar, los requerimientos de computación en tiempo real de las aplicaciones SDR, definidos por las demandas relativas a mínima tasa de bits y máxima latencia, y los recursos de computación limitados de las plataformas SDR.There is a need to define a flexible software structure that acts as an interface between SDR computing resources, on the one hand, and the wireless system, represented by SDR computing requirements, on the other hand. The structure must be able, by means of the application of a corresponding method, to dynamically and efficiently map SDR applications with precedence restrictions, on some SDR platforms while satisfying the SDR computing constraints. These restrictions are, first of all, the real-time computing requirements of SDR applications, defined by the demands regarding minimum bit rate and maximum latency, and the limited computing resources of SDR platforms.
Existen multitud de contribuciones referentes al mapeado y programación de tareas en plataformas de computación multiprocesador heterogéneas. Estas contribuciones están enfocadas a una gran variedad de problemas en contextos de computación de propósito general o especial. Algunas abordan de manera conjunta los problemas de mapeado y programación de tareas y presentan soluciones óptimas o inferiores al óptimo con diferentes objetivos, como por ejemplo, el de minimizar el tiempo de ejecución o el coste de los procesos de comunicación, el objetivo de satisfacer los plazos de respuesta en tiempo real, así como otros objetivos adicionales o alternativos.There are many contributions regarding the mapping and programming of tasks in heterogeneous multiprocessor computing platforms. These contributions are focused on a wide variety of problems in general or special purpose computing contexts. Some jointly address the problems of mapping and scheduling tasks and present optimal or lower than optimal solutions with different objectives, such as minimizing the execution time or the cost of communication processes, the objective of satisfying the response times in real time, as well as other additional or alternative objectives.
Por Ia patente US6768901 se conoce gestionar recursos de computación de un sistema de radio definida por programa, mapeando unas funciones, procesos o partesUS6768901 is known to manage computer resources of a radio system defined by program, mapping functions, processes or parts
de una aplicación sobre unos procesadores con unos recursos de computación determinados, seleccionados utilizando funciones de coste. Se propone en dicho documento realizar una abstracción de los recursos computacionales con el fin de utilizar un lenguaje de capacidades común, tanto por Io que se refiere a los recursos disponibles como a los requeridos. No se especifica un tipo de abstracción concreta, quitándole importancia, de hecho, al tipo de abstracción a utilizar. Por otra parte por el artículo "Modelado para Ia gestión de recursos de computación en sistemas SDR", del XXI Simposium Nacional de Ia Unión científica Internacional de Radio, de, los mismos inventores de Ia presente invención, se conoce un modelo de un sistema SDR basado en una abstracción que tiene en cuenta los recursos computacionales limitados del mismo. Asimismo se conoce Ia aplicación en sistemas SDR del mapeado "greedy- o g- mapping", el cual es una aproximación de mapeado local que no requiere de ningún postprocesado. Este se basa en seleccionar de entre una cuadrícula o matriz de nodos candidatos, cada uno de ellos asociado a una función y un procesador, en base a los resultados de una función de coste aplicada a cada un o de los nodos. El algoritmo g- mapping en primer lugar selecciona un nodo de Ia primera columna de dicha matriz, tras Io cual tiene en cuenta el coste acumulado en cada uno de los nodos de Ia segunda columna tomando como origen el nodo seleccionado de Ia primera columna, en base a cuyo coste selecciona un nodo de Ia segunda columna, y así sucesivamente para el resto de columnas, de manera que en cada paso se selecciona únicamente un nodo, el cual es el único que se mantiene activo al efectuar el paso siguiente de selección de un nodo de Ia siguiente columna. of an application on processors with certain computing resources, selected using cost functions. It is proposed in this document to make an abstraction of computational resources in order to use a common language of capabilities, both for what refers to the available and required resources. A specific type of abstraction is not specified, downplaying, in fact, the type of abstraction to be used. On the other hand, by the article "Modeling for the management of computing resources in SDR systems", of the XXI National Symposium of the International Scientific Union of Radio, of the same inventors of the present invention, a model of an SDR system is known based on an abstraction that takes into account its limited computational resources. Also known is the application in SDR systems of the "greedy- or g-mapping" mapping, which is an approximation of local mapping that does not require any postprocessed This is based on selecting from a grid or matrix of candidate nodes, each associated with a function and a processor, based on the results of a cost function applied to each or nodes. The g-mapping algorithm first selects a node of the first column of said matrix, after which it takes into account the cost accumulated in each of the nodes of the second column taking as origin the selected node of the first column, in base at whose cost a node of the second column is selected, and so on for the rest of the columns, so that in each step only one node is selected, which is the only one that remains active when performing the next step of selecting a node of the next column.
Aparece necesario ofrecer una alternativa al estado de Ia técnica que permita, para una misma matriz de nodos candidatos a mapear, obtener unos mejores resultados que el obtenido con el g-mapping, gracias a considerar para Ia selección de cada nodo, muchas más posibles combinaciones de nodos que las tenidas en cuenta por el g-mapping, así como al hecho de realizar una serie de preselecciones previas a Ia selección final de nodos.It seems necessary to offer an alternative to the state of the art that allows, for the same matrix of candidate nodes to be mapped, to obtain better results than the one obtained with g-mapping, thanks to considering for the selection of each node, many more possible combinations of nodes than those taken into account by the g-mapping, as well as the fact of making a series of presets prior to the final selection of nodes.
Explicación de Ia invenciónExplanation of the invention
Para conseguir tal fin Ia presente invención concierne a un método para gestionar recursos de computación aplicable a un sistema de radio definida por programa, del tipo que comprende mapear unas funciones, procesos o partes de al menos una aplicación sobre unos procesadores con unos recursos de computación determinados, seleccionados utilizando funciones de coste mediante Ia realización de las siguientes etapas: a) pre-mapear cada una de M funciones de dicha aplicación a cada uno de N procesadores, obteniendo así una matriz de NxM nodos candidatos, cada uno de ellos asociado a una función y un procesador, b) pre-conectar cada uno de los nodos candidatos pertenecientes a una columna* de dicha matriz con todos los nodos candidatos de Ia columna siguiente, posibilitando cada una de dichas conexiones una comunicación de datos a través de un camino candidato que incluye al menos un nodo candidato origen, una de dichas conexiones y un nodo candidato destino, c) aplicar al menos una función de coste a cada uno de los N nodos candidatos de Ia primera columna de dicha matriz, o nodos asociados a una primera de dichas funciones, obteniendo el coste de cada uno de dichos nodos candidatos, d) aplicar al menos una función de coste a los caminos candidatos que incluyen a los nodos candidatos de Ia primera columna en conexión con al menos los de Ia segunda, y calcular el coste acumulado asociado a cada uno de dichos caminos candidatos que incluye al menos el coste del nodo destino en función de decisiones precedentes y el coste del nodo origen obtenido en Ia etapa c), en su totalidad o en parte, obteniendo así el coste de cada uno de dichos caminos candidatos, y: e) preseleccionar para cada nodo candidato de Ia segunda columna al menos parte del camino candidato de coste óptimo que lleva a dicho nodo candidato de Ia segunda columna o pasa por él, obteniendo, respectivamente, N primeros caminos o segmentos de caminos preseleccionádos, descartando las conexiones que unen a los nodos candidatos de Ia primera columna con los dé Ia segunda que no forman parte de dichos primeros caminos o segmentos de caminos preseleccionados.To achieve this purpose, the present invention concerns a method for managing computing resources applicable to a program-defined radio system, of the type that comprises mapping functions, processes or parts of at least one application on processors with computing resources determined, selected using cost functions by performing the following steps: a) pre-mapping each of M functions of said application to each of N processors, thus obtaining a matrix of NxM candidate nodes, each associated with a function and a processor, b) pre-connect each of the candidate nodes belonging to a column * of said matrix with all the candidate nodes of the following column, each of said connections allowing data communication through a path candidate that includes at least one originating candidate node, one of said connections and one destination candidate node, c) applying at least one a cost function to each of the N candidate nodes of the first column of said matrix, or nodes associated with a first of said functions, obtaining the cost of each of said candidate nodes, d) apply at least one cost function to the candidate paths that include the candidate nodes of the first column in connection with at least those of the second, and calculate the cumulative cost associated with each of said candidate paths that includes at least the cost of the destination node based on previous decisions and the cost of the origin node obtained in stage c), in whole or in part, thus obtaining the cost of each of said candidate paths, and: e) preselect for each node candidate of the second column at least part of the candidate path of optimal cost that leads to said candidate node of the second column or passes through it, obtaining, respectively, N first roads or segments of preselected roads, discarding the connections that join the nodes candidates of the first column with those of the second column that are not part of said first roads or segments of preselected roads.
Para un primer ejemplo de realización, que será referenciado en un apartado posterior como indicativo de Ia utilización de una ventaηa de cálculo w=1 , para el cual cada uno de dichos caminos candidatos es un camino de dos nodos (o camino de longitud 1) que incluye únicamente una de dichas conexiones, un nodo candidato origen y un nodo candidato destino de dos columnas consecutivas, el método comprende llevar a cabo:For a first embodiment, which will be referenced in a later section as indicative of the use of a calculation window w = 1, for which each of said candidate paths is a two-node path (or path of length 1) which includes only one of said connections, a source candidate node and a destination candidate node of two consecutive columns, the method comprises carrying out:
- dicha etapa d) para aplicar dicha función de coste, que es al menos una, a los caminos candidatos que incluyen a los nodos candidatos de Ia primera columna en conexión con, únicamente, los nodos candidatos de Ia segunda columna, y- said step d) to apply said cost function, which is at least one, to the candidate paths that include the candidate nodes of the first column in connection with, only, the candidate nodes of the second column, and
- dicha etapa e) para preseleccionar por entero, para cada nodo candidato destino de Ia segunda columna, el camino candidato de coste óptimo que lleva hasta él, obteniéndose dichos N primeros caminos preseleccionados que parten de un nodo de Ia primera columna y finalizan en un nodo de Ia segunda columna.- said step e) to pre-select, for each candidate node destination of the second column, the candidate path of optimal cost leading to it, obtaining said first N preselected paths that start from a node of the first column and end in a node of the second column.
Para dicho primer ejemplo de realización si M=2, el método comprende seleccionar los. dos nodos que forman parte del camino de coste óptimo, de entre dichos primeros caminos preseleccionados, y por ende el procesador o procesadores asociados a cada uno de dichos dos nodos seleccionados como procesador o procesadores mápeados para ejecutar Ia primera función, el asociado al nodo de Ia primera columna, y una segunda función el asociado al nodo de Ia segunda columna. En cambio para un caso más real en que M>3, el método comprende, para dicho primer ejemplo de realización, realizar las siguientes etapas, análogas a dichas etapas d) y e), respectivamente: d') aplicar al menos una función de coste a los caminos candidatos que incluyen a los nodos candidatos de Ia segunda columna en conexión con los de Ia tercera, para calcular el coste acumulado asociado a .cada uno de dichos caminos candidatos que incluye al menos el coste del nodo destino de Ia tercera columna en función de decisiones precedentes y el coste de uno de dichos primeros caminos preseleccionados en Ia etapa e), cada uno de los cuales incluye únicamente un nodo de Ia primera columna conectado con uno nodo de Ia segunda columna, obteniendo así el coste de cada uno de dichos caminos candidatos con destino en un respectivo nodo candidato de Ia tercera columna, y e') preseleccionar para cada nodo candidato destino de Ia tercera columna el camino candidato de coste óptimo que lleva hasta él desdé un nodo origen de Ia segunda columna, obteniendo N segundos caminos preseleccionados, descartando las conexiones que unen a los nodos candidatos de Ia segunda columna con los de Ia tercera que no forman parte de dichos segundos caminos preseleccionados.For said first embodiment if M = 2, the method comprises selecting the. two nodes that are part of the optimal cost path, among said first preselected paths, and therefore the processor or processors associated with each of said two nodes selected as a processor or mapped processors to execute the first function, the one associated with the node of The first column, and a second function is associated to the node of the second column. On the other hand, for a more real case where M> 3, the method comprises, for said first embodiment, perform the following steps, analogous to said stages d) and e), respectively: d ') apply at least one cost function to the candidate paths that include the candidate nodes of the second column in connection with those of the Ia third, to calculate the accumulated cost associated with each one of said candidate paths that includes at least the cost of the destination node of the third column based on preceding decisions and the cost of one of said first preselected paths in stage e), each of which includes only one node of the first column connected to one node of the second column, thus obtaining the cost of each of said candidate paths destined for a respective candidate node of the third column, and e ') preselect for each candidate node destination of the third column the candidate path of optimal cost that leads to it from an origin node of the second column, obtaining N preselected second paths, discarding the connections that join the candidate nodes of the second column with those of The third that are not part of said second preselected paths.
Según el primer ejemplo de realización cuando M=3, el método comprende seleccionar, de entre dichos N segundos caminos preseleccionados, el de coste óptimo, y recorrerlo hacia atrás junto por el primer camino preseleccionado al que se , encuentra unido, para seleccionar los tres nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos tres nodos seleccionados como procesadores mapeados para .ejecutar Ia primera función, el asociado al nodo de Ia primera columna, Ia segunda función, el asociado al nodo de Ia segunda columna, y Ia tercera función, el asociado al nodo de Ia tercera columna.According to the first example of embodiment when M = 3, the method comprises selecting, from said N second preselected paths, the optimum cost, and traveling it back along the first preselected path to which it is attached, to select the three nodes that are part of said path, and therefore the processor or processors associated with each of said three nodes selected as mapped processors to execute the first function, the one associated with the node of the first column, the second function, the one associated with the node of the second column, and the third function, the one associated with the node of the third column.
Si en cambio M>3, el método comprende, para el primer ejemplo dé realización, realizar, para cada una de las columnas siguientes a Ia tercera columna, dos a dos y avanzando columna a columna, unas etapas análogas a dichas etapas dJ) y e') para finalmente preseleccionar para cada nodo candidato destino de cada columna adicional a Ia tercera columna, el camino candidato de coste óptimo que lleva hasta él desde un nodo origen de Ia columna inmediatamente anterior, obteniendo N caminos preseleccionados adicionales por columna, descartando las conexiones que no forman parte de dichos caminos preseleccionados adicionales.If instead M> 3, the method comprises, for the first example of embodiment, perform, for each of the columns following the third column, two to two and advancing column by column, steps analogous to said stages d J ) and e ') to finally preselect for each candidate node destination of each additional column to the third column, the optimal cost candidate path leading to it from an origin node of the immediately preceding column, obtaining N additional preselected paths per column, discarding connections that are not part of said additional preselected paths.
Finalmente para dicho caso en que M>3, el método comprende, para el primer ejemplo de realización, seleccionar, de entre los N caminos preseleccionados adicionales que incluyen a los nodos de Ia última columna, el de coste óptimo, y recorrerlo hacia atrás junto con todos los caminos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones. Para un segundo ejemplo de realización, que será referenciado en un apartado posterior como indicativo de Ia utilización de una ventana de cálculo w=2, para el cual cada uno de dichos caminos candidatos incluye un nodo candidato origen, un nodo candidato intermedio y un nodo candidato destino, de tres columnas consecutivas respectivamente, interconectados por dos de dichas conexiones, es decir un camino de tres nodos, el método comprende llevar a cabo:Finally, for said case in which M> 3, the method comprises, for the first embodiment, select, from among the N additional preselected paths that include the nodes of the last column, the optimum cost, and travel backwards together with all the preselected paths to which it is attached, to select the M nodes that are part of said route, and therefore the processor or processors associated with each of said M selected nodes as mapped processors to execute the M functions. For a second embodiment, which will be referenced in a later section as indicative of the use of a calculation window w = 2, for which each of said candidate paths includes an origin candidate node, an intermediate candidate node and a node destination candidate, of three consecutive columns respectively, interconnected by two of said connections, that is, a three-node path, the method comprises carrying out:
- dicha etapa d) para aplicar al menos dicha función de coste a los caminos candidatos, cada uno de los cuales incluye, interconectados por dos conexiones respectivas, un nodo candidato origen de Ia primera columna, un nodo candidato intermedio de Ia segunda columna y un nodo candidato destino de Ia tercera columna, para calcular el coste acumulado de cada uno de dichos caminos candidatos de tres nodos y el de sus segmentos iniciales, o segmentos de camino de dos nodos que incluyen a un nodo de Ia primera columna y a uno de Ia segunda, y- said step d) to apply at least said cost function to the candidate paths, each of which includes, interconnected by two respective connections, a candidate node originating from the first column, an intermediate candidate node from the second column and a destination candidate node of the third column, to calculate the cumulative cost of each of said candidate paths of three nodes and that of their initial segments, or path segments of two nodes that include a node of the first column and one of the Ia second, and
- dicha etapa e) para preseleccionar, para cada nodo candidato intermedio de Ia segunda columna, únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él, siendo dichas partes preseleccionadas dichos N primeros segmentos de camino de dos nodos.- said step e) to preselect, for each intermediate candidate node of the second column, only part of the candidate path of three nodes of optimal cost passing through it, said pre-selected parts being said first N path segments of two nodes.
Para dicho segundo ejemplo de realización, cuando M>3, el método comprende realizar Ia siguiente etapa, análoga a dicha etapa d): d") aplicar al menos una función de coste a los caminos candidatos de tres nodos que incluyen, interconectados por dos conexiones respectivas, un nodo candidato origen de Ia segunda columna, un nodo candidato intermedio de Ia tercera columna y un nodo candidato destino de Ia cuarta columna, para calcular el coste acumulado asociado a cada uno de dichos caminos candidatos de tres nodos, que incluye al menos el coste del nodo destino de Ia cuarta columna en función de decisiones precedentes y el coste acumulado de Uno de dichos primeros segmentos de camino de dos nodos preseleccionados en Ia etapa e).For said second embodiment, when M> 3, the method comprises performing the following stage, analogous to said stage d): d ") applying at least one cost function to the candidate paths of three nodes that include, interconnected by two respective connections, a candidate node origin of the second column, an intermediate candidate node of the third column and a destination candidate node of the fourth column, to calculate the cumulative cost associated with each of said three-node candidate paths, which includes the minus the cost of the destination node of the fourth column based on previous decisions and the accumulated cost of One of said first road segments of two preselected nodes in stage e).
En concreto cuando M=4, el método comprende, para dicho segundo ejemplo de realización, realizar las siguientes etapas, tras dicha etapa d"): - preseleccionar para cada nodo candidato intermedio de Ia tercera columna, el camino candidato completo de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia cuarta columna, obteniendo N caminos de tres nodos preseleccionados, ySpecifically when M = 4, the method comprises, for said second embodiment, perform the following steps, after said step d "): - preselect for each intermediate candidate node of the third column, the complete candidate path of three nodes of optimal cost that passes through it and ends in a node of the fourth column, obtaining N paths of three preselected nodes, and
- seleccionar, de entre dichos N caminos de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su nodo intermedio, de Ia tercera columna, hacia delante y hacia atrás junto con el primer segmento de camino de dos nodos preseleccionado en Ia etapa e) al que se encuentra unido, para seleccionar los cuatro nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos cuatro nodos seleccionados como procesadores mapeados para ejecutar Ia primera función, el asociado al nodo de Ia primera columna, Ia segunda función, el asociado al nodo de Ia segunda columna, Ia tercera función, el asociado al nodo de Ia tercera columna, y una cuarta función, el asociado al nodo de Ia cuarta columna.- select, from said N paths of three preselected nodes, the optimum cost, and travel said selected path from its intermediate node, of the third column, forward and backward along with the first segment of path of two nodes preselected in stage e) to which it is attached, to select the four nodes that are part of said path, and therefore the processor or processors associated with each of said four selected nodes as mapped processors to execute the first function, the one associated with the node of the first column, the second function, the one associated with the node of the second column, the third function, the one associated with the node of the third column, and a fourth function, the one associated with the node of the fourth column .
Alternativamente cuando M>4, el método comprende, para dicho segundo ejemplo de realización, realizar Ia siguiente etapa tras dicha etapa d"): e") preseleccionar, para cada nodo candidato intermedio de Ia tercera columna, únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él y finaliza en un nodo candidato de Ia cuarta columna, obteniendo N segundos segmentos de camino de dos nodos preseleccionados.Alternatively, when M> 4, the method comprises, for said second embodiment, performing the following stage after said stage d "): e") preselecting, for each intermediate candidate node of the third column, only part of the candidate path of three nodes of optimal cost that passes through it and ends in a candidate node of the fourth column, obtaining N second path segments of two preselected nodes.
El método comprende realizar, para dicho caso en que M>4 del segundo ejemplo de realización, para cada una de las columnas siguientes a Ia cuarta columna, tres a tres y avanzando columna a columna, unas etapas análogas a dichas etapas d") y e") para cada camino de tres nodos adicional que finaliza en cada una de las columnas siguientes o adicionales a Ia cuarta columna, a excepción del camino de tres nodos adicional que finaliza en Ia columna M, para preseleccionar para cada nodo candidato intermedio de cada camino de tres nodos adicional, únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él, obteniendo N segmentos de camino de dos nodos preseleccionados adicionales por cada columna adicional a Ia cuarta columna.The method comprises carrying out, for said case where M> 4 of the second embodiment, for each of the columns following the fourth column, three to three and advancing column by column, steps analogous to said stages d ") and ") for each additional three-node path that ends in each of the following or additional columns to the fourth column, with the exception of the additional three-node path that ends in column M, to preselect for each intermediate candidate node of each path of three additional nodes, only part of the candidate path of three nodes of optimal cost that passes through it, obtaining N path segments of two additional preselected nodes for each additional column to the fourth column.
Por Io que respecta a dichos caminos de tres nodos adicionales que finalizan en Ia columna M, el método comprende realizar las siguientes etapas (para M>4 del segundo ejemplo de realización), tras dicha etapa análoga a dicha etapa e"):With respect to said paths of three additional nodes that end in column M, the method comprises performing the following steps (for M> 4 of the second embodiment), after said stage analogous to said stage e "):
- preseleccionar para cada nodo candidato intermedio de Ia columna M-1 , el camino candidato completo de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia columna M, obteniendo N caminos de tres nodos preseleccionados, y - seleccionar, de entre dichos N caminos de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su nodo intermedio, de Ia columna M-1 , hacia delante y hacia atrás junto con todos los segmentos de camino de dos nodos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones. Para unos ejemplos de realización adicionales para los que w>2, o dicho de otro modo cuando cada uno de dichos caminos candidatos es un camino de más de tres nodos, el método comprende llevar a cabo:- preselect for each intermediate candidate node of column M-1, the complete candidate path of three nodes of optimal cost that passes through it and ends in a node of column M, obtaining N paths of three preselected nodes, and - select, from among said N paths of three preselected nodes, the one of optimal cost, and traveling said selected path from its intermediate node, of column M-1, forward and backward along with all the path segments of two preselected nodes to the which is linked, to select the M nodes that are part of said path, and therefore the processor or processors associated with each of said M nodes selected as mapped processors to execute the M functions. For some additional embodiments for which w> 2, or put another way when each of said candidate paths is a path of more than three nodes, the method comprises carrying out:
- dicha etapa d) para calcular el coste acumulado de cada uno de dichos caminos candidatos de más de tres nodos y el de sus segmentos iniciales de camino de dos nodos que incluyen a un nodo de Ia primera columna y a uno de Ia segunda,- said step d) to calculate the accumulated cost of each of said candidate paths of more than three nodes and that of their initial path segments of two nodes that include a node of the first column and one of the second,
- dicha etapa e) para preseleccionar, para cada nodo candidato de Ia segunda columna, únicamente parte del camino candidato de más de tres nodos de coste óptimo que pasa por él, siendo dichas partes preseleccionadas dichos N primeros segmentos de camino de dos nodos, y- said step e) to preselect, for each candidate node of the second column, only part of the candidate path of more than three nodes of optimal cost passing through it, said pre-selected parts being said first N path segments of two nodes, and
- realizar unas etapas análogas a dichas etapas descritas para dichos caminos de tres nodos, preseleccionando para cada nodo candidato que ocupa Ia segunda posición en cada camino de más tres nodos adicional que finaliza en cada una de las columnas siguientes o adicionales a Ia cuarta columna, a excepción del camino de más de tres nodos adicional que finaliza en Ia columna M, el segmento inicial de dos nodos del camino candidato de más de tres nodos de coste óptimo que pasa por él, obteniendo N segmentos de camino de dos nodos preseleccionados adicionales por cada columna adicional a Ia cuarta columna.- Perform stages analogous to said stages described for said three-node paths, preselecting for each candidate node that occupies the second position in each path of three additional nodes ending in each of the following or additional columns to the fourth column, with the exception of the path of more than three additional nodes that ends in column M, the initial segment of two nodes of the candidate path of more than three nodes of optimal cost that passes through it, obtaining N path segments of two additional preselected nodes by each additional column to the fourth column.
El método comprende realizar, para dichos caminos de más de tres nodos adicionales que finalizan en Ia columna M, las siguientes etapas:The method comprises performing, for said paths of more than three additional nodes that end in column M, the following steps:
- preseleccionar para cada nodo candidato que ocupa Ia segunda posición en cada camino de más tres nodos adicional que finaliza en Ia columna M, el camino candidato completo de más de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia columna M, obteniendo N caminos de más tres nodos preseleccionados, y- preselect for each candidate node that occupies the second position in each path of three additional nodes that ends in column M, the complete candidate path of more than three nodes of optimal cost that passes through it and ends in a node of the column M, obtaining N paths of plus three preselected nodes, and
- seleccionar, de entre dichos N caminos de más de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su respectivo nodo que ocupa Ia segunda posición en el camino, hacia delante y hacia atrás junto con todos los segmentos de* camino de dos nodos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones.- select, from said N paths of more than three preselected nodes, the optimum cost, and travel said selected path from its respective node that occupies the second position on the path, forward and backward along with all segments of * path of two preselected nodes to which it is attached, to select the M nodes that are part of said path, and therefore the processor or processors associated with each of said M selected nodes as mapped processors to execute the M functions.
Por Io que se refiere a las mencionadas decisiones precedentes, éstas influyen en dicho coste acumulado al menos por Io que respecta a los recursos restantes en cada nodo tras haber tomado dichas decisiones o preselecciones. La funciones de coste utilizadas por el método propuesto por Ia invención evalúan el coste de computación que relaciona los requerimientos de procesado con los recursos disponibles de procesado en cada momento, y el coste de comunicación que relaciona los requerimientos de ancho de banda para traspasar datos de un proceso a otro con los correspondientes anchos de banda disponibles entre los procesadores.As regards the aforementioned preceding decisions, they influence said cost accrued at least by what concerns the remaining resources in each node after having made such decisions or preselections. The cost functions used by the method proposed by the invention evaluate the computation cost that relates the processing requirements with the available processing resources at each moment, and the communication cost that relates the bandwidth requirements to transfer data from one process to another with the corresponding bandwidths available between the processors.
El método comprende, para un ejemplo de realización, determinar dichos recursos de computación de cada uno de dichos procesadores tomando como base un segmento temporal, o "time slot", de una pluralidad de segmentos temporales iguales, de duración suficiente como para asegurar que cada procesador sea capaz de ejecutar las funciones o procesos asignados y de traspasar datos a otro procesador antes de que finalice dicho segmento temporal, garantizando así el procesado en tiempo real requerido por las aplicaciones SDR.The method comprises, for an exemplary embodiment, determining said computing resources of each of said processors based on a time segment, or "time slot", of a plurality of equal time segments, of sufficient duration to ensure that each The processor is capable of executing the assigned functions or processes and of transferring data to another processor before the end of said temporary segment, thus guaranteeing the real-time processing required by SDR applications.
Por otra parte con el fin de trabajar con dichos segmentos temporales, el método comprende mapear dichas funciones para ejecutar finalmente Ia aplicación mediante un proceso de segmentación de instrucciones, estableciéndose los mismos requerimientos de computación para cada uno de dichos segmentos temporales.On the other hand, in order to work with said temporary segments, the method comprises mapping said functions to finally execute the application through an instruction segmentation process, establishing the same computation requirements for each of said temporary segments.
Breve descripción de los dibujos Las anteriores y otras ventajas y características se comprenderán más plenamente a partir de Ia siguiente descripción detallada de unos ejemplos de realización con referencia a los dibujos adjuntos, que deben tomarse a título ilustrativo y no limitativo, en los que:Brief description of the drawings The foregoing and other advantages and characteristics will be more fully understood from the following detailed description of some examples of embodiment with reference to the attached drawings, which should be taken by way of illustration and not limitation, in which:
Ia Fig. 1 es una representación esquemática de un modelo de plataforma con sus recursos inicialmente disponibles (a) y de un modelo de aplicación con sus requerimientos de recursos (b), utilizables para aplicar el método propuesto por Ia presente invención;Fig. 1 is a schematic representation of a platform model with its initially available resources (a) and an application model with its resource requirements (b), usable to apply the method proposed by the present invention;
Ia Fig. 2 muestra de manera esquemática una matriz de nodos (a, c) configurada según el método propuesto, con unos nodos iniciales dibujados con línea continua objeto de análisis según una primera parte del método propuesto, para un ejemplo de realización, así como una tabla de costes (b) de dichos nodos;Fig. 2 schematically shows a matrix of nodes (a, c) configured according to the proposed method, with initial nodes drawn with a continuous line under analysis according to a first part of the proposed method, for an embodiment example, as well as a table of costs (b) of said nodes;
Ia Fig. 3 muestra Ia misma matriz (a, c) de Ia Fig. 2, para el mismo ejemplo de realización, pero para un paso posterior, o segunda parte del método propuesto por Ia invención, indicando Ia vista (a) los caminos examinados en línea continua y Ia vista (c) el camino preseleccionado en negrita, así como una tabla de costes (b) indicando el coste acumulado en un primer nodo de una segunda columna de dicha matriz; Ia Fig. 4 muestra unas vistas análogas a las de Ia Fig. 3, para el mismo segundo paso, pero aplicado a un segundo nodo de dicha segunda columna de Ia matriz, indicando Ia vista (a) los caminos examinados en línea continua y Ia vista (c) el camino preseleccionado en negrita; Ia Fig. 5 muestra unas vistas análogas a las de Ia Fig. 3, con Ia diferencia de que el análisis referente a dicha segunda parte del método propuesto por Ia invención, se lleva a cabo respecto al primer nodo de Ia tercera columna;Fig. 3 shows the same matrix (a, c) of Fig. 2, for the same example of embodiment, but for a later step, or second part of the method proposed by the invention, indicating the view (a) of the paths examined in a continuous line and the view (c) the path preselected in bold, as well as a cost table (b) indicating the cost accumulated in a first node of a second column of said matrix; Fig. 4 shows views similar to those of Fig. 3, for the same second step, but applied to a second node of said second column of the matrix, indicating the view (a) the paths examined in a continuous line and Ia view (c) the preselected path in bold; Figure 5 shows similar views to those of Figure 3, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the first node of the third column;
Ia Fig. 6 muestra unas vistas análogas a las de Ia FIg. 4, con Ia diferencia de que el análisis referente a dicha segunda parte del método propuesto por Ia invención, se lleva a cabo respecto al segundo nodo de Ia tercera columna;Fig. 6 shows similar views to those of the FIg. 4, with the difference that the analysis referring to said second part of the method proposed by the invention, is carried out with respect to the second node of the third column;
Ia Fig. 7 muestra unas vistas análogas a las de Ia Fig. 3 y 5, con Ia diferencia de que el análisis referente a dicha segunda parte del método propuesto por Ia invención, se lleva a cabo respecto al primer nodo de Ia cuarta columna;Figure 7 shows views similar to those of Figures 3 and 5, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the first node of the fourth column;
Ia Fig. 8 muestra unas vistas análogas a las de Ia Fig. 4 y 6, con Ia diferencia de que el análisis referente a dicha segunda parte del método propuesto por Ia invención, se lleva a cabo respecto al segundo nodo de Ia cuarta columna, y de que en (c) no aparece ninguna línea en negrita por no haberse preseleccionado ningún camino que lleva al segundo nodo de Ia cuarta columna debido al coste infinito de ambos; Ia Fig. 9 muestra en Ia vista (a) Ia matriz de nodos de las Figs. 2 a 7, con unos nodos seleccionados definitivamente que forman parte del recorrido indicado por unas flechas discontinuas, así como una vista (b) que indica el mapeado final representado por dichos nodos seleccionados;Fig. 8 shows views similar to those of Fig. 4 and 6, with the difference that the analysis referring to said second part of the method proposed by the invention is carried out with respect to the second node of the fourth column, and that in (c) no line appears in bold because no path has been preselected that leads to the second node of the fourth column due to the infinite cost of both; Fig. 9 shows in view (a) the node matrix of Figs. 2 to 7, with definitely selected nodes that are part of the path indicated by dashed arrows, as well as a view (b) indicating the final mapping represented by said selected nodes;
Ia Fig. 10 muestra unas vistas análogas a las de Ia Fig. 3 pero para otro ejemplo de realización para el que se examinan caminos de tres nodos que pasan por el nodo gris de Ia vista (a), indicando dicha vista (a) los caminos examinados en línea continua y Ia vista (c) el segmento de uno de dichos caminos preseleccionado, en negrita, así como una tabla de costes (b) indicando los costes acumulados en cada uno de dichos caminos examinados; la FIg. 11 muestra unas vistas análogas a las de Ia Fig. 10, para el mismo segundo paso, pero aplicado a los caminos que pasan por el nodo gris de Ia vista (a);Fig. 10 shows views similar to those of Fig. 3 but for another example of embodiment for which paths of three nodes that pass through the gray node of the view (a) are examined, said view (a) indicating the roads examined in a continuous line and the view (c) the segment of one of said preselected roads, in bold, as well as a cost table (b) indicating the accumulated costs in each of said examined roads; the FIg. 11 shows similar views to those of Fig. 10, for the same second step, but applied to the paths that pass through the gray node of the view (a);
Ia Fig. 12 muestra unas vistas análogas a las de Ia Fig. 10, pero donde los nodos objeto de análisis se han desplazado una posición a Ia derecha, y donde en Ia vista (c) se ha preseleccionado, marcado en negrita, un camino completo de tres nodos que abarca las tres últimas columnas; Ia Fig. 13 expone unas vistas análogas a las de la Fig. 12, pero donde tanto los caminos de tres nodos examinados (vista (a)) como el preseleccionado (vista (c)) pasan por el segundo nodo de Ia tercera columna; yFigure 12 shows views similar to those of Figure 10, but where the nodes under analysis have moved one position to the right, and where in the view (c) a path has been preselected, marked in bold, full of three nodes covering the last three columns; Fig. 13 shows similar views to those of Fig. 12, but where both the paths of three examined nodes (view (a)) and the preselected (view (c)) pass through the second node of the third column; Y
Ia Fig. 14 muestra en Ia vista (a) Ia matriz de nodos con unos nodos seleccionados definitivamente que forman parte del recorrido indicado por unas flechas discontinuas, para el ejemplo de realización de las Figs. 10 a 13, así como una vista (b) que indica el mapeado final representado por dichos nodos seleccionados;Fig. 14 shows in view (a) the matrix of nodes with definitively selected nodes that are part of the path indicated by dashed arrows, for the embodiment of Figs. 10 to 13, as well as a view (b) indicating the final mapping represented by said selected nodes;
Ia Fig. 15 es una representación esquemática de una matriz de NxM nodos generada y utilizada por el método propuesto por Ia presente invención; Ia Fig. 16 ilustra una secuencia de instrucciones o pseudo-código representativos de Ia implementación del método propuesto por Ia presente invención para un ejemplo de realización; yFig. 15 is a schematic representation of a matrix of NxM nodes generated and used by the method proposed by the present invention; Fig. 16 illustrates a sequence of instructions or pseudo-codes representative of the implementation of the method proposed by the present invention for an exemplary embodiment; Y
Ia Fig. 17 es una tabla que contiene las variables y expresiones más importantes utilizados en el siguiente apartado de descripción detallada de unos ejemplos de realización.Fig. 17 is a table containing the most important variables and expressions used in the following detailed description section of some embodiments.
Descripción detallada de unos ejemplos de realizaciónDetailed description of some embodiments
En el presente apartado se referirá, con referencia a las figuras adjuntas, el método propuesto como algoritmo "tw-mapping" o algoritmo de programación de ventana w dinámica, donde w indica el tamaño de dicha ventana, de análisis y cálculo. Aunque se asume un problema particular de mapeado, los conceptos mostrados son validos para cualquier problema.In this section we will refer, with reference to the attached figures, the proposed method as "t w- mapping" algorithm or dynamic window programming algorithm w, where w indicates the size of said window, for analysis and calculation. Although a particular mapping problem is assumed, the concepts shown are valid for any problem.
Para ejemplificar el proceso de mapeado según el algoritmo íiv-mapping, se ha asumido una función de coste sencilla. Esta consiste en Ia suma entre el coste de computación y el coste de comunicación. El coste de computación pone en relación los requerimientos de procesado con los recursos disponibles de procesado, mientras que el coste de comunicación pone en relación los requerimientos de ancho de banda (para traspasar datos de un proceso a otro) con los correspondientes anchos de banda disponibles entre los procesadores. Anchos de banda internos a un procesador se, asumen infinitos, por Io cual el coste de traspasar datos de un proceso a otro ejecutados dentro del mismo procesador no implica ningún coste de comunicación. Para garantizar un mapeado correcto, se actualizan los recursos disponibles después de cada decisión del fw-mapping. Los números (costes) provienen de esta función de coste, que no se especifica con más detalle porque el objetivo es ejemplificar el funcionamiento del í^-mapping; el origen de estos números no es significativo sino cómo se comporta el algoritmo en función de estos números. Nótense que un coste infinito indica el caso de requerir más recursos de los disponibles. Por Io tanto costes finitos representan mapeados validos, mientras que costes infinitos indican mapeados (parciales) inválidos. Para esta como para cualquier función de coste aplicada el objetivo es optimizar (minimizar en este caso) el coste de mapeado; el algoritmo toma las decisiones correspondientes, Io que se verá a continuación.To exemplify the mapping process according to the íi v -mapping algorithm, a simple cost function has been assumed. This consists of the sum between the cost of computing and the cost of communication. The cost of computing relates the processing requirements to the available processing resources, while the communication cost relates the bandwidth requirements (to transfer data from one process to another) with the corresponding available bandwidths between the processors. Internal bandwidths to a processor are assumed infinite, so the cost of transferring data from one process to another executed within the same processor does not imply any communication cost. To ensure proper mapping, the available resources are updated after each decision of the fw-mapping. The numbers (costs) come from this cost function, which is not specified in more detail because the objective is to exemplify the operation of the ^ -mapping; The origin of these numbers is not significant but how the algorithm behaves based on these numbers. Note that a cost infinity indicates the case of requiring more resources than are available. Therefore, finite costs represent valid mappings, while infinite costs indicate invalid (partial) mappings. For this, as for any cost function applied, the objective is to optimize (minimize in this case) the cost of mapping; The algorithm makes the corresponding decisions, which will be seen below.
Por Io que se refiere a Ia plataforma y aplicación (Recursos disponibles y requeridos), en Ia Fig. 1a se muestra el modelo de una plataforma de 2 procesadores, indicando los recursos de procesado (números negrita) y de comunicación (números normales), y en Ia Fig. 1b se muestran los recursos requeridos de procesado (números negrita) y de traspaso de datos (números normales) y el modelo de Ia aplicación que consiste de 4 procesos (módulos o funciones).For what refers to the platform and application (Available and required resources), in Fig. 1a the model of a 2-processor platform is shown, indicating the processing resources (bold numbers) and communication resources (normal numbers), and in Fig. 1b the required processing resources (bold numbers) and data transfer (normal numbers) and the application model consisting of 4 processes (modules or functions) are shown.
Funcionamiento de tw-mapping paso a paso:Operation of tw-mapping step by step:
Ventana w = 1:Window w = 1:
A) Parte I del algoritmo, o dicho de otro modo primera parte del método propuesto:A) Part I of the algorithm, or in other words first part of the proposed method:
En Ia primera parte el algoritmo calcula el coste da mapear el proceso o función fΛ a todos los procesadores (Fig. 2a). Según Ia función de coste elegida, mapear el proceso f-i al procesador P1 cuesta 0.5, mientras que mapear el proceso A al procesador P2 cuesta 1 (Fig. 2b). Estos costes se guardan en los correspondientes nodos (Fig. 2c).In the first part, the algorithm calculates the cost of mapping the process or function f Λ to all processors (Fig. 2a). According to the chosen cost function, mapping the fi process to the processor P 1 costs 0.5, while mapping the process A to the processor P 2 costs 1 (Fig. 2b). These costs are saved in the corresponding nodes (Fig. 2c).
B) Parte Il del algoritmo: En Ia segunda parte, el frmapping examina los nodos entre el paso 2 y el pasoB) Part II of the algorithm: In the second part, the frmapping examines the nodes between step 2 and step
(M-w+1). Los nodos de cada paso se pueden procesar en paralelo, mientras que paso (/+1) se ha de procesar después del procesado de los nodos de paso /. Para el nodo (P1, Z2) se examinan los caminos [P1 P1J2 y [P2 Pi]2 (Fig. 3a). Sus costes acumulados, o sea el coste del nodo de origen más el coste de mapear f2 a P1 y a P2, respectivamente, se calculan en función de los recursos restantes (Fig. 3b) para elegir el de menor coste que marca el camino a seguir (Fig. 3c).(M-w + 1). The nodes of each step can be processed in parallel, while step (/ + 1) has to be processed after the processing of the nodes of step /. For the node (P 1 , Z 2 ), the paths [P 1 P 1 J 2 and [P 2 Pi] 2 are examined (Fig. 3a). Its accumulated costs, that is the cost of the origin node plus the cost of mapping f 2 to P 1 and P 2 , respectively, are calculated based on the remaining resources (Fig. 3b) to choose the one with the lowest cost that marks the way forward (Fig. 3c).
Para el nodo (P2, Z2) se examinan los caminos [P1 P2J2 y [P2 P2]2 (Fig. 4a). Sus costes acumulados, o sea el coste del nodo de origen más el coste de mapear f2 a P1 y a P2, respectivamente, se calculan en función de los recursos restantes (Fig. 3b) para elegir el de menor coste que marca el camino a seguir (Fig. 4c). Una vez acabado de procesar los nodos del paso 2, se continúa con los nodos del paso 3. Estos nodos se procesan de Ia manera equivalente a Ia que se aplicó a los nodos del paso 2, partiendo de los costes guardados y los recursos disponibles en los nodos (P-i, fe) y (P2, fe) (Fig. 5 y Fig. 6). Finalmente, se procesan los nodos del paso 4 (Fig. 7 y Fig. 8).For the node (P 2 , Z 2 ) the paths [P 1 P 2 J 2 and [P 2 P 2 ] 2 are examined (Fig. 4a). Its accumulated costs, that is the cost of the origin node plus the cost of mapping f 2 to P 1 and P 2 , respectively, are calculated based on the remaining resources (Fig. 3b) to choose the one with the lowest cost that marks the way forward (Fig. 4c). Once the nodes of step 2 are finished processing, the nodes of step 3 are continued. These nodes are processed in the manner equivalent to that applied to the nodes of step 2, based on the costs saved and the resources available in the nodes (Pi, faith) and (P 2 , faith) (Fig. 5 and Fig. 6). Finally, the nodes of step 4 are processed (Fig. 7 and Fig. 8).
Cj Parte III del algoritmo:Cj Part III of the algorithm:
Una vez acabada Ia parte Il del algoritmo, se continúa con Ia parte IiI. En esta parte el íw-mapping primero busca el nodo de mínimo coste bajo los del paso M-w+1. En el caso del írmapping y el ejemplo considerado, esto es el nodo (P1, U), con el coste de 2.83, opuesto al coste infinito del nodo (P2, U) (Fig. 9a). Partiendo de este nodo se traspasa el diagrama del íwrmapping por las conexiones marcadas en negrita hasta llegar a un nodo del paso 1 , marcando los nodos atravesados (Fig. 9a). Esto devuelve el mapeado final según Ia función de costé aplicada y Ia ventana elegida. En este caso Ia solución propone mapear U, fe y f4 a procesador P-i y f3 a P2 (Fig. 9b). El coste total de este mapeado es 2.83, tal y como indica el nodo (P1, U) (Fig. 9a).Once part II of the algorithm is finished, part IiI is continued. In this part, the w- mapping first searches for the lowest cost node under those of step M-w + 1. In the case of mapping and r í the example, this is the node (P 1 U), with the cost of 2.83, opposed to the infinite cost node (P 2 U) (Fig. 9a). Starting from this node, the rmarmapping diagram is transferred through the connections marked in bold until it reaches a node in step 1, marking the crossed nodes (Fig. 9a). This returns the final mapping according to the cost function applied and the window chosen. In this case, the solution proposes mapping U, fe and f 4 to the Pi processor and f 3 to P 2 (Fig. 9b). The total cost of this mapping is 2.83, as indicated by the node (P 1 , U) (Fig. 9a).
Ventana w = 2:Window w = 2:
A) Parte I del algoritmo:A) Part I of the algorithm:
Es Ia misma que en el caso de w = 1 (Fig. 2).It is the same as in the case of w = 1 (Fig. 2).
B) Parte Il del algoritmo:B) Part Il of the algorithm:
Los caminos tienen un longitud de w = 2. Hay Nw = 22 = 4 caminos que se comparan en cada nodo de Ia parte Il del algoritmo. La Fig. 10 ¡lustra el procedimiento para el nodo (P1, fe) y Ia Fig. 11 para el nodo (P2, fe). Nótense que, aunque se usa el coste del camino de longitud 2 para tomar Ia decisión, se marca solo Ia primera parte del camino y se guarda el coste correspondiente al paso de longitud 1 (Fig. 10c y Fig. 11c). Se procede con los 2 nodos bajo el paso 3 (ver Figs. 12 y 13) de manera equivalente, con Ia diferencia de que el coste acumulado hasta los nodos de Ia cuarta columna se guardan o asignan a los nodos de Ia tercera columna y de que se marca el camino entero de longitud 2 después de haber tomado Ia decisión. Esto es debido a que se trata del último paso de Ia parte Il del í2-mapping: M-w+1 = 4-2+1 = 3.The paths have a length of w = 2. There are N w = 2 2 = 4 paths that are compared in each node of the part Il of the algorithm. Fig. 10 illustrates the procedure for the node (P 1 , faith) and Fig. 11 for the node (P 2 , faith). Note that, although the cost of the path of length 2 is used to make the decision, only the first part of the path is marked and the cost corresponding to the passage of length 1 is saved (Fig. 10c and Fig. 11c). Proceed with the 2 nodes under step 3 (see Figs. 12 and 13) in an equivalent manner, with the difference that the cost accumulated up to the nodes of the fourth column is saved or assigned to the nodes of the third column and that the entire path of length 2 is marked after having made the decision. This is due to the fact that it is the last step of part II of the 2- mapping: M-w + 1 = 4-2 + 1 = 3.
C) Parte III del algoritmo: Se elige el nodo de mínimo coste bajo el paso (M-w+1) = (4-2+1) = 3, en este caso el nodo (P2, f3). Partiendo de este nodo se recorre el diagrama fiy-mapping en ambas direcciones por las conexiones marcadas hasta llegar al paso 1 por un lado y al paso 4 por el otro (Fig. 14a). El mapeado final se obtiene a partir de los nodos travesados (Fig. 14b) durante este procedimiento.C) Part III of the algorithm: The minimum cost node is chosen under the step (M-w + 1) = (4-2 + 1) = 3, in this case the node (P 2 , f 3 ). Starting from this node, the fiy-mapping diagram in both directions is traversed through the marked connections until reaching step 1 on one side and step 4 on the other (Fig. 14a). The final mapping is obtained from the traversed nodes (Fig. 14b) during this procedure.
Debido a que en los sistemas SDR se conciben criterios de optimización diferentes, tales como el relativo a satisfacer requerimientos de computación en tiempo real en condiciones difíciles de satisfacer, o el relativo a optimizar el consumo energético, el método o algoritmo propuesto por Ia presente invención es de propósito general, y puede ejecutar diferentes funciones de coste y ser dinámicamente ajustado a cambios en el entorno de señales de radio.Because in SDR systems different optimization criteria are conceived, such as the one related to satisfying real-time computing requirements in difficult conditions to satisfy, or the one related to optimizing energy consumption, the method or algorithm proposed by the present invention It is general purpose, and can execute different cost functions and be dynamically adjusted to changes in the environment of radio signals.
A continuación se detallará, con referencia a las Figs. 15 y 16, el algoritmo de tw-mapping descrito para un ejemplo de realización más genérico que el descrito anteriormente, y generalizado para M funciones, N procesadores y NxM nodos. Con referencia a Ia Fig. 15, en ella puede verse el diagrama de tw-mapping que contiene una matriz de NxM t-nodos. Un t-nodo se identifica como (PΛW, f¡) y representa el mapeado de una función SDR f¡ al procesador PΛW. Cualquier t-nodo en el paso / (columna / en el diagrama de furmapping) se encuentra conectado con todos los t- nodos del paso /+1. La secuencia de t procesadores [Pft(0) P^1) -•• Pk(w)]ι identifica el camino-w, un camino de longitud w, que está asociado con el t-nodo (P/^), /)). Pkφ) es el procesador de origen del camino-w en el paso (/-1) y PΛ(VV) el procesador de destino en el paso /+w-1. Por tanto, [P1 P1 PN P1J2 representa el camino de tres conexiones o segmentos marcados en negrita en Ia Fig. 15, y se encuentra asociado con el t-nodo (P1, f2). La Tabla 1 de Ia Fig. 17 contiene las variables y expresiones más importantes que aparecen en Ia presente memoria descriptiva.It will be detailed below, with reference to Figs. 15 and 16, the t w- mapping algorithm described for a more generic embodiment example than the one described above, and generalized for M functions, N processors and NxM nodes. With reference to Fig. 15, it can be seen in the diagram of t w- mapping that contains a matrix of NxM t-nodes. A t-node is identified as (P ΛW , ) and represents the mapping of an SDR function f¡ to the P ΛW processor. Any t-node in step / (column / f in the diagram or rmapping) is connected to all nodes of step t- / + 1. The sequence of t processors [P ft (0) P ^ 1) - •• P k (w) ] ι identifies the path-w, a path of length w, which is associated with the t-node (P / ^ ) , /)). P k φ ) is the source processor of the path-w in step (/ -1) and P Λ (VV) the destination processor in step / + w-1. Therefore, [P 1 P 1 P N P 1 J 2 represents the path of three connections or segments marked in bold in Fig. 15, and is associated with the t-node (P 1 , f 2 ). Table 1 of Fig. 17 contains the most important variables and expressions that appear in the present specification.
El algoritmo de fw-mapping que se ilustra en Ia Fig. 16 pede ser dividido en tres partes: procesado en el paso 1 (líneas 1-2 en Ia Fig. 16), procesado en los pasos i = 2, 3, ..., M-w+1 (líneas 3-18 en Ia Fig. 16), y postprocesado (líneas 19-20 en Ia Fig. 16). El íw-mapp¡ng y por tanto su descripción no asume una función de coste en particular. A) Parte I: procesado en el paso 1. Algorithm f w -mapping illustrated in Figure 16 pede be divided into three parts: processing in step 1 (lines 1-2 in FIG . 16), processing in steps i = 2, 3,. .., M-w + 1 (lines 3-18 in Fig. 16), and postprocessed (lines 19-20 in Fig. 16). The w -mapp¡ng and therefore its description does not assume a particular cost function. A) Part I: processed in step 1
La primera parte del algoritmo se refiere a Ia función SDR fi. Para cualquier procesador P^0), el íw-mapping {w ≥ 1) premapea f-\ a P^0) y almacena el coste de premapeado CT(Pft(0), f-,) en el t-nodo (P^0), f-0 (líneas 1-2 en Ia Fig. 16). El término premapeado indica que el mapeado final de Ia aplicación SDR no es conocido hasta haber procesado, o premapeado, todas sus funciones SDR. B) Parte II: procesado en los pasos 1 - 2, 3, ..., M-w+1The first part of the algorithm refers to the SDR fi function. For any processor P ^ 0 ), the íw-mapping {w ≥ 1) pre-maps f- \ a P ^ 0) and stores the pre-mapping cost CT (P ft (0) , f-,) in the t-node ( P ^ 0 ), f-0 (lines 1-2 in Fig. 16). The term pre-mapping indicates that the final mapping of the SDR application is not known until all of its SDR functions have been processed, or pre-mapped. B) Part II: processed in steps 1 - 2, 3, ..., M-w + 1
El fi-mapping analiza los N segmentos de camino, o caminos de longitud 1, que terminan en el t-nodo {Pkm, f¡). Estos son [P1 Pkm]¡, [P2 P^)I, .... y [Pw PmI (línea 5 enThe fi-mapping analyzes the N road segments, or paths of length 1, that end at the t-node {P km , f¡). These are [P 1 P km ] ¡, [P 2 P ^) I, .... and [Pw PmI (line 5 in
Ia Fig. 16). Al camino de 1 [P^0) Pft(i>]; Ie es asignado el peso WT[Pm Pkm]¡ (línea 6 en Ia Fig. 16). Este peso representa el coste de premapear Ia función SDR f¡ al procesador P^1) teniendo en consideración las decisiones precedentes, las cuales son proporcionadas por el t-nodo origen del camino de 1 (Pk(p), /M). El fi-mapping calcula el coste acumulado CJ[Pm Pkml = CT(Pm, fw) + WT[Pfc(0) P^1)],- (elementos en negrita de Ia línea 12 en Ia Fig. 16) para cada camino de 1. El camino de 1 [Pk{Q)* Pkm\¡ es obtenido a partir de:Ia Fig. 16). To the path of 1 [P ^ 0 ) P f t (i>]; Ie is assigned the weight WT [P m P km ] ¡(line 6 in Fig. 16) This weight represents the cost of pre-mapping the SDR function f¡ to the processor P ^ 1) taking into account the preceding decisions, which are provided by the t-node origin of the path of 1 (P k (p), / M). The fi-mapping calculates the cumulative cost CJ [P m P k ml = CT (P m , f w ) + WT [P fc (0) P ^ 1) ], - (bold elements of line 12 in Fig. 16) for each path of 1. The path of 1 [P k {Q) * P km \ ¡is obtained from:
/((O)* = Pfc(1)]f} (1)
Figure imgf000017_0001
y representa Ia decisión de premapeado en el t-nodo (P ^), f¡). (La función argmin{x} da como resultado el/los argumehto(s) que conducen al valor mínimo de x.) El algoritmo finalmente resalta el camino de 1 [Pk(py P/c(i)]/ (línea 14, en negrita, de Ia Fig. 16) y almacena su coste acumulado en el t-nodo (P^, f¡) (línea 15).
/ ((O) * = P fc (1) ] f } (1)
Figure imgf000017_0001
and represents the pre-mapping decision in the t-node (P ^ ) , f¡). (The argmin {x} function results in the argumehto (s) leading to the minimum value of x.) The algorithm finally highlights the path of 1 [P k (p and P / c (i)] / (line 14 , in bold, of Fig. 16) and stores its accumulated cost in the t-node (P ^, f¡) (line 15).
El íw-mapping (w > 1) analiza los ΛT caminos-w que están asociados con el t- nodo (P/c(i), //). Cualquiera de estos caminos-w se origina en el í-nodo en el paso (/-1), discurre a través de (Pkm, f¡), y finaliza en el t-nodo en el paso /+w-1. El algoritmo calcula los costes acumulados debido a las líneas 5-12 de Ia Fig. 16. Entonces resuelveThe w -mapping (w> 1) analyzes the ΛT w-paths that are associated with the t-node (P / c ( i ) , / / ). Any of these w-paths originates from the í node in step (/ -1), runs through (P km , f¡), and ends at the t-node in step / + w-1. The algorithm calculates the accumulated costs due to lines 5-12 of Fig. 16. Then it solves
{/c(0)*, (2)
Figure imgf000017_0002
que ofrece como resultado los índices del camino-w que tienen el mínimo coste acumulado. En el caso de que / < (M-w+1), el íw-mapping (w > 1) resalta el camino de
{/ c (0) *, (2)
Figure imgf000017_0002
which offers as a result the indices of the w-path that have the minimum accumulated cost. In the case that / <(M-w + 1), the w -mapping (w> 1) highlights the path of
1 [Pk(O)* P/c(i)l/ y almacena el coste acumulado correspondiente en el í-nodo (Pk(1), f¡) (líneas 13-15 en Ia Fig. 16). De Io contrario, resalta el camino-w [Pm* Pm) pK2f —
Figure imgf000017_0003
1 [P k ( O ) * P / c ( i ) l / and stores the corresponding accumulated cost in the node (P k (1) , f¡) (lines 13-15 in Fig. 16). Otherwise, highlight the path-w [P m * Pm) p K2f -
Figure imgf000017_0003
(líneas 16-18 de Ia Fig. 16).(lines 16-18 of Fig. 16).
Todos los N í-nodos en el paso / (línea 4 de Ia Fig. 16) pueden ser procesados en paralelo. Una vez se ha finalizado su procesamiento, el íwrmapping (w ≥ 1), es decir el método propuesto por Ia presente invención, procede con el paso /+1 en el caso de que / < (M-w+1) y si no es así procede con Ia parte III (línea 3) en el caso de que i =All nodes in step / (line 4 of Fig. 16) can be processed in parallel. Once its processing has been completed, the w w mapping (w ≥ 1), that is to say the method proposed by the present invention, proceeds with the step / + 1 in the case that / <(M-w + 1) and if not, proceed with part III (line 3) in the case that i =
(M-ιo+1).(M-ιo + 1).
C) Parte III: postprocesado La parte III del algoritmo postprocesa las decisiones de premapeado de las partes I y II. El íw-mapping (w ≥ 1) resalta en primer lugar el í-nodo en el paso M-w+1 que retiene el mínimo coste (línea 19 de Ia Fig. 16). Comenzando por este í-nodo, el diagrama fw-mapping, es decir la matriz NxM, es recorrida hacia atrás (o hacia delante y hacia atrás en el caso de que w > 1) a Io largo de los caminos de 1 resaltados, a Ia vez que se resaltan todos los t-nodos que son atravesados durante ese recorrido (línea 20 de Ia Fig. 16). Esto ofrece como resultado M í-nodos resaltados, que son los finalmente seleccionados para especificar Ia propuesta de mapeado prevista para el problema particular, Ia función de coste y el tamaño de ventana escogidos. Las partes Il y III descritas indican que Ia ventana w controla el nivel de localidad (alcance local vs. global) de las decisiones de premapeado: El algoritmo ír mapping está basado en decisiones locales. Sin embargo mantiene N diferentes premapeados en cada paso, uno por t-nodo, Io cual resulta en N (parcialmente) diferentes opciones de mapeado (expresiones en negrita en Ia Fig. 16). Por otra parte, el algoritmo de í/w_i-mapping examina todos los NM mapeados posibles de las M funciones a los N procesadores. En concreto, calcula los costes acumulados de los caminos-(M-i), es decir caminos de longitud (M-1), de todos los Λ/M~1 caminos-(M-i) diferentes que atraviesan el í-nodo (P^), /2) (líneas 5-12 en Ia Fig. 16) y selecciona el de mínimo coste (líneas 17 y 18 de Ia Fig. 16). Esto Io lleva a cabo para todos los N í-nodos en el paso 2 (línea 4 de Ia Fig. 16). El algoritmo entonces resalta el í-nodo (P%ψ, Z2) (línea 19 de Ia Fig. 16) y recorre hacia delante y hacia atrás el diagrama de íurmapping, es decir Ia matriz NxM de nodos interconectados, para obtener el mapeado final (línea 20 de la Fig. 16). Se encuentra así mediante Ia aplicación del método propuesto por Ia presente invención, una solución óptima para el problema dado y Ia función de coste utilizada.C) Part III: postprocessed Part III of the postprocessing algorithm the pre-mapping decisions of parts I and II. The íw-mapping (w ≥ 1) first highlights the í-node in step M-w + 1 that retains the minimum cost (line 19 of Fig. 16). Starting with this node, the f- w- mapping diagram, that is the NxM matrix, is traversed backwards (or forward and backward in the case that w> 1) along the paths of 1 highlighted, at the same time that all the t-nodes that are crossed during that route are highlighted (line 20 of Fig. 16). This offers as a result M highlighted nodes, which are finally selected to specify the proposed mapping proposed for the particular problem, the cost function and the window size chosen. The parts Il and III described indicate that Ia window w controls the level of local (vs. local global scope) decisions premapeado: r í algorithm mapping is based on local decisions. However, it maintains N different premapped in each step, one per t-node, which results in N (partially) different mapping options (bold expressions in Fig. 16). On the other hand, the í / w_i-mapping algorithm examines all the possible N M mapped from the M functions to the N processors. Specifically, it calculates the accumulated costs of the roads- (Mi), that is to say roads of length (M-1), of all the different Λ / M ~ 1 roads- (Mi) that cross the í-node (P ^ ) , / 2 ) (lines 5-12 in Fig. 16) and select the lowest cost (lines 17 and 18 of Fig. 16). This is done for all the nodes in step 2 (line 4 of Fig. 16). The algorithm then highlights the node (P% ψ, Z 2 ) (line 19 of Fig. 16) and goes back and forth through the urmapping diagram, that is, the NxM matrix of interconnected nodes, to obtain the mapping final (line 20 of Fig. 16). It is thus found through the application of the method proposed by the present invention, an optimal solution for the given problem and the cost function used.
El parámetro w también controla el compromiso entre eficiencia de computación y rendimiento del mapeado: cuanto más grande sea el tamaño de Ia ventana w, mayor será Ia complejidad del algoritmo pero mejores serán los resultados del mapeado. Si bien, tal y como se ha comentado anteriormente, el método propuesto por Ia presente invención no está limitado a un tipo de función de coste en concreto, para un ejemplo de realización se propone una función de coste que gestiona de manera adecuada los recursos de computación limitados de las plataformas SDR bajo condiciones de tiempo real exigentes, donde los recursos de computación constriñen el mapeado de Ia aplicación SDR.The parameter w also controls the compromise between computing efficiency and mapping performance: the larger the size of the window w, the greater the complexity of the algorithm but the better the results of the mapping. Although, as mentioned above, the method proposed by the present invention is not limited to a particular type of cost function, for a specific embodiment, a cost function is proposed that adequately manages the resources of limited computing of SDR platforms under demanding real-time conditions, where computing resources constrain the mapping of the SDR application.
La función de coste propuesta se define a partir del peso o coste del camino de longitud 1 (o conexión simple) WT[P^M; P^]/,. Esta función de coste representa una superposición entre el coste de computación y el coste de comunicación, de Ia siguiente manera:The proposed cost function is defined based on the weight or cost of the road length 1 (or simple connection) WT [P ^ M; P ^] / ,. This cost function represents an overlap between the cost of computing and the cost of communication, as follows:
WT[PA(M) Pm]h = WTcomp[P ^1, P m]h + WTcom[Pft(M) P wh ; (3a) r / C(*(/X Λ) / CW/), Λ) < 1 . wτcomp[Pfc(M) P^]n = (0 ' " k{!) ; (3b)WT [PA (M) P m ] h = WT comp [P ^ 1 , P m ] h + WT com [P ft (M) P wh; (3a) r / C (* (/ X Λ) / C W /), Λ) <1 . wτ comp [P fc (M) P ^] n = (0 '" k {!) ; (3b)
WTcom[Pft(W) Pfc(0]ή = Jh *«'*«> J . (3c)
Figure imgf000019_0001
donde \NTcomp indica el coste de computación, y WTcom el coste de comunicación.
WT com [P ft (W) P fc (0 ] ή = Jh * «'* « > J. (3c)
Figure imgf000019_0001
where \ NT comp indicates the cost of computing, and WT with the cost of communication.
Cualquier t-nodo (P^, f¡) almacena las capacidades de procesamiento C(/((/)i ° y los anchos de banda βw/)' ° restantes en función de las decisiones precedentes de premapeado. La función de coste calcula en primer lugar los costes de premapeado en los t-nodos (P1, U), (P2, U), ... , y (PN, U) utilizando Ia parte derecha de (3b). Para cada t-nodo (P^o), U), el requerimiento de procesamiento C1 de Ia función SDR U es entonces substraído de Ia capacidad de procesamiento inicial correspondiente C^0).Any t-node (P ^, f¡) stores the processing capacities C (/ ((/) i ° and the remaining bandwidths β w /) '° depending on the previous pre-mapping decisions. The cost function first calculate the pre-mapping costs in the t-nodes (P 1 , U), (P 2 , U), ..., and (P N , U) using the right part of (3b). -node (P ^ o ) , U), the processing requirement C 1 of the SDR U function is then subtracted from the corresponding initial processing capacity C ^ 0) .
Esto actualiza las capacidades de procesado restantes para todos los t-nodos en el paso 1.This updates the remaining processing capabilities for all t-nodes in step 1.
Antes de procesar el camino de longitud 1 [PΛ(M) P mh, Cm' h) y Bm' h) son inicializados con C(/C(M)' ft-1) y S(/C(M); h~Λ\ El algoritmo entonces calcula WT[PΛ(M) Pm]h antes de actualizar C^- h) y Bm h). En particular, ch se substrae de Cm m h) tras calcular \NTcomp[Pk^) P k^]h con (3b). B{k{l)' h\ por otra parte, se actualiza de manera dinámica, substrayendo cualquier ancho de banda requerido b¡h de Ia entrada correspondiente en β(/íW' h) inmediatamente después de añadir bjhl{-} a WT∞m[P/<(/-i) PBefore processing the path of length 1 [P Λ (M) P mh, C m ' h) and B m ' h) are initialized with C (/ C (M) ' ft - 1) and S (/ C (M ) ; h ~ Λ \ The algorithm then calculates WT [P Λ (M) P m ] h before updating C ^ - h) and B mh) . In particular, c h is subtracted from C m mh) after calculating \ NT comp [P k ^ ) P k ^] h with (3b). B {k {l) ' h \ on the other hand, is updated dynamically, subtracting any required bandwidth b ¡h from the corresponding input in β (/ íW ' h) immediately after adding bj h l {-} to WT ∞m [P / < (/ -i) P
/Kolή según (3c). / Kolή according to (3c).
Tal y como se ha mencionado anteriormente, el método propuesto por Ia presente invención, también referido como algoritmo "turmapping", es aplicable para diferentes tipos de modelado o abstración de un sistema SDR, tal como el que describe cada plataforma en función de sus recusros de computación o procesado y de comunicación (ver Fig. 1a) y el de Ia aplicación SDR en función de los recursos requeridos de procesado y de traspaso de datos (ver Fig. 1b).As mentioned above, the method proposed by the present invention, also referred to as a "turmapping" algorithm, is applicable for different types of modeling or abstraction of an SDR system, such as the one described by each platform based on its recusers computing or processing and communication (see Fig. 1a) and that of the SDR application depending on the resources required for processing and data transfer (see Fig. 1b).
Para otros ejemplos de realización los parámetros a tener en cuenta para modelar tanto el sistema SDR como Ia aplicación SDR pueden ser distintos o complementarios a los indicados referentes a los recursos de procesado y de comunicación. Un ejemplo de realización del método propuesto contempla utilizar el modelado propuesto en el artículo "Modelado para Ia gestión de recursos de computación en sistemas SDR", del XXI Simposium Nacional de Ia Unión científica Internacional de Radio, de los mismos inventores de Ia presente invención. Los datos que son transmitidos o recibidos a través de un enlace inalámbrico necesitan ser procesados mientras existen datos a transmitir o recibir. Una aplicación SDR se ejecutará en general durante Ia sesión de usuario completa, aunque pueda haber periodos de tiempo en los que no se transmita ningún dato de usuario. El hecho de que una aplicación SDR pueda ser reemplazada por otra durante una sesión de usuario no afecta a este procesamiento de datos continuo.For other exemplary embodiments, the parameters to be taken into account to model both the SDR system and the SDR application may be different or complementary to those indicated regarding the processing and communication resources. An example of carrying out the proposed method contemplates using the modeling proposed in the article "Modeling for the management of computing resources in SDR systems", of the XXI National Symposium of the International Scientific Radio Union, of the same inventors of the present invention. Data that is transmitted or received through a wireless link needs to be processed while there is data to be transmitted or received. An SDR application will be executed in general during the entire user session, although there may be periods of time in which no user data is transmitted. The fact that an SDR application can be replaced by another during a user session does not affect this continuous data processing.
Debido a ello, el método propuesto por Ia presente invención contempla, para un ejemplo de realización, dividir Ia ejecución continua en ejecuciones periódicas dividiendo el tiempo de cada recurso de computación en segmentos temporales de computación equidistantes, o "time slots", y Ia aplicación SDR en etapas de "pipelining".Due to this, the method proposed by the present invention contemplates, for an exemplary embodiment, dividing the continuous execution into periodic executions by dividing the time of each computing resource into equidistant temporary computer segments, or "time slots", and the application SDR in stages of "pipelining".
La introducción de segmentos temporales de computación permite identificar Ia capacidad de computación de un procesador tomando como base dichos segmentos temporales, generando así, un modelado análogo al del artículo mencionado, pero incorporando Ia mencionada segmentación en "time slots". Ello proporciona un mecanismo básico para una gestión de recursos de computación eficiente, al tiempo que permite satisfacer las demandas de latencia máxima de las aplicaciones SDR.The introduction of temporary computing segments allows identifying the computing capacity of a processor based on said temporary segments, thus generating a modeling analogous to that of the mentioned article, but incorporating the aforementioned segmentation into "time slots". This provides a basic mechanism for efficient computing resource management, while meeting the maximum latency demands of SDR applications.
La ejecución por proceso de segmentación de instrucciones, o "pipelined", de una aplicación SDR establece que, en cualquier "time slot", todas las funciones SDR procesan y propagan alguna parte de los datos. Es decir, el mismo procesado y la misma transferencia de datos se repite para cada segmento temporal en una porción de datos diferente. Ello introduce unos requerimientos de sincronización que PHALThe execution by process of segmentation of instructions, or "pipelined", of an SDR application establishes that, in any "time slot", all SDR functions process and propagate some part of the data. That is, the same processing and the same data transfer is repeated for each time segment in a different piece of data. This introduces some synchronization requirements that PHAL
(The "Platform and Hardware Abstraction Layer") satisface (ver articulo "Software radios: unifying the reconfiguration process over heterogeneous platforms," EURASIP Journal on Applied Signa! Processing, vol. 2005, no. 16, pp. 2626-2640, Sept. 2005, de(The "Platform and Hardware Abstraction Layer") satisfies (see article "Software radios: unifying the reconfiguration process over heterogeneous platforms," EURASIP Journal on Applied Signa! Processing, vol. 2005, no. 16, pp. 2626-2640, Sept . 2005, of
X. Revés, A. Gelonch, V. Marojevic, R. Ferrus).X. Revés, A. Gelonch, V. Marojevic, R. Ferrus).
El "Pipelining" también introduce Ia latencia, Ia cual debe ser mantenida dentro del servicio de radio y de los límites de dependencia de QoS (Calidad del servicio).The "Pipelining" also introduces the latency, which must be maintained within the radio service and the limits of dependence on QoS (Quality of service).
A partir de Ia discusión realizada en los párrafos anteriores, para el modelado del sistema y las aplicaciones SDR tomando como base los mencionados segmentos temporales, o "time slots", se derivan las nuevas unidades MOPTS (milones de operaciones por "time slot") y MBPTS (mega-bits por "time slot") como tts-MOPS y tts-Mbps, donde tts es Ia duración del "time slot". MOPTS y MBPTS sincronizan los recursos de computación disponibles con Ia gestión en base a "time slots" y son las unidades básicas para el modelado referido. Se propone definir tts según Ia siguiente ecuación:
Figure imgf000021_0001
donde nts son el número de "time slots" y Lmax es Ia latencia máxima permisible para Ia ejecución del conjunto de tareas de Ia aplicación radio en el conjunto de procesadores disponible, Ia cual está en función del retardo tolerable extremo a extremo de un enlace de comunicaciones vía radio debido al servicio y el acuerdo de QoS entre el proveedor de servicios de radio y el usuario final. En el modelado propuesto se asume que tts es suficientemente grande para permitir Ia ejecución (eficiente) de cualquier función SDR en Ia cadena de procesado.
From the discussion made in the previous paragraphs, for the modeling of the system and SDR applications based on the aforementioned temporary segments, or "time slots", the new MOPTS units (millions of operations by "time slot") and MBPTS (mega-bits by "time slot") such as t ts -MOPS and t ts -Mbps, where t ts is the duration of the "time slot". MOPTS and MBPTS synchronize the available computing resources with the management based on "time slots" and are the basic units for the referred modeling. It is proposed to define tt s according to the following equation:
Figure imgf000021_0001
where n ts are the number of "time slots" and L max is the maximum permissible latency for the execution of the set of tasks of the radio application in the set of available processors, which is a function of the tolerable end-to-end delay of a radio communications link due to the service and the QoS agreement between the radio service provider and the end user. In the proposed modeling, it is assumed that t ts is large enough to allow the (efficient) execution of any SDR function in the processing chain.
Si bien Ia descripción del método propuesto con referencia a las Figs. 15, 16 y 17, se ha hecho en el presente apartado denominándolo algoritmo de "tw-mapping", y utilizando ecuaciones e instrucciones (las cuales se indican en Ia Fig. 16), Ia Fig. 15 también es referenciada desde Ia descripción del método propuesto hecha en el apartado de explicación de Ia invención, es decir que Ia matriz allí referida como matriz de NxM nodos es, para un ejemplo de realización, Ia matriz ilustrada en Ia Fig. 15, incluyendo todos los elementos citados en dicha descripción hecha en el mencionado apartado anterior, tales como los nodos de las diferentes columnas (P-,, ÍI)... (PN, fi) a (P1, fM)---(PN, fιw)> así como las diferentes conexiones entre nodos de dos columnas consecutivas ([P1 P1J2-[Pi PN]2- - - PN PI]2- PN PN]2)- - - (PI PIIM- [PI PNIM- [PN P1IM- [PN PNIM)1 que conforman Io que en el presente apartado se han denominado como caminos de longitud 1 , o segmentos de camino cuando forman parte de un camino que discurre a Io largo de más de dos columnas.Although the description of the proposed method with reference to Figs. 15, 16 and 17, it has been done in this section by calling it a "t w -mapping" algorithm, and using equations and instructions (which are indicated in Fig. 16), Fig. 15 is also referenced from the description of the proposed method made in the explanation section of the invention, that is to say that the matrix referred to there as a matrix of NxM nodes is, for an exemplary embodiment, the matrix illustrated in Fig. 15, including all the elements mentioned in said description made in the above mentioned section, such as the nodes of the different columns (P- ,, Í I ) ... (PN , fi) a (P 1 , f M ) --- (PN, fιw) > as well as the different connections between nodes of two consecutive columns ([P 1 P 1 J 2 - [Pi PN] 2 - - - PN PI] 2 - PN PN] 2 ) - - - (PI PIIM- [PI PNIM- [PN P 1 IM- [PN PNI M ) 1 that make up what in this section has been referred to as roads of length 1, or road segments when they are part of a path that runs along of more than two columns.
Sirvan las referencias entre paréntesis incluidas en todas las reivindicaciones adjuntas como guía aclaratoria para- una mejor comprensión de dichas reivindicaciones apoyándose en Ia Fig. 15. Un experto en Ia materia podría introducir cambios y modificaciones en los ejemplos de realización descritos sin salirse del alcance de Ia invención según está definido en las reivindicaciones adjuntas. The references in parentheses included in all the appended claims serve as an explanatory guide for a better understanding of said claims based on Fig. 15. A person skilled in the art could introduce changes and modifications in the described embodiments without going beyond the scope of The invention as defined in the appended claims.

Claims

Reivindicaciones Claims
1.- Método para gestionar recursos de computación aplicable a un sistema de radio definida por programa, del tipo que comprende mapear unas funciones, procesos o partes de al menos una aplicación sobre unos procesadores con unos recursos de computación determinados, seleccionados utilizando funciones de coste mediante Ia realización de las siguientes etapas: a) pre-mapear cada una de M funciones (frfM) de dicha aplicación a cada uno de N procesadores (PI-PN), obteniendo así una matriz de NxM nodos candidatos (P^0, //), cada uno de ellos asociado a una función y un procesador, b) pre-conectar cada uno de los nodos candidatos pertenecientes a una columna de dicha matriz con todos los nodos candidatos de Ia columna siguiente, posibilitando cada una de dichas conexiones una comunicación de datos a través de un camino candidato que incluye al menos un nodo candidato origen, una de dichas conexiones y un nodo candidato destino, c) aplicar al menos una función de coste a cada uno de los N nodos candidatos ((P1, ÍI)... (PN, fi)) de Ia primera columna de dicha matriz, o nodos asociados a una primera (f-0 de dichas funciones, obteniendo el coste de cada uno de dichos nodos candidatos ((P1, fi)...(PN, fi)), d) aplicar al menos una función de coste a los caminos candidatos que incluyen a los nodos candidatos de Ia primera columna ((P1, ^)... (PN, fi)) en conexión con al menos los de Ia segunda ((P1, f2)... (PN, f2)), y calcular el coste acumulado asociado a cada uno de dichos caminos candidatos que incluye al menos el coste del nodo destino en función de decisiones precedentes y el coste del nodo origen obtenido en Ia etapa c), en su totalidad o en parte, obteniendo así el coste de cada uno de dichos caminos candidatos, y: e) preseleccionar para cada nodo candidato de Ia segunda columna ((P1, f2)... (PN, f2)) al menos parte del camino candidato de coste óptimo que lleva a dicho nodo candidato de Ia segunda columna ((P1, Í2)... (PN, f2)) o pasa por él, obteniendo, respectivamente, N primeros caminos o segmentos de caminos preseleccionados, descartando las conexiones ([P1 Pi]2...[P-i PN]2- - -[PN PI]2- - - [PN PN]2) que unen a los nodos candidatos de Ia primera columna ((P1, ÍI)... (PN, f-i)) con los de Ia segunda ((P1, h) - - - (PN, h)) que no forman parte de dichos primeros caminos o segmentos de caminos preseleccionados. 1.- Method for managing computing resources applicable to a program-defined radio system, of the type that includes mapping functions, processes or parts of at least one application on processors with certain computing resources, selected using cost functions by performing the following steps: a) pre-mapping each of M functions (frf M ) of said application to each of N processors (P I -PN), thus obtaining a matrix of NxM candidate nodes (P ^ 0 , / / ), each of them associated with a function and a processor, b) pre-connect each of the candidate nodes belonging to a column of said matrix with all the candidate nodes of the following column, enabling each of said connections a data communication through a candidate path that includes at least one originating candidate node, one of said connections and a destination candidate node, c) applying at least one cost function to ca gives one of the N candidate nodes ((P 1 , ÍI) ... (PN, fi)) of the first column of said matrix, or nodes associated with a first (f-0 of said functions, obtaining the cost of each one of said candidate nodes ((P 1 , fi) ... (PN, fi)), d) apply at least one cost function to the candidate paths that include the candidate nodes of the first column ((P 1 , ^) ... (PN, fi)) in connection with at least those of the second ((P 1 , f 2 ) ... (PN, f 2 )), and calculate the cumulative cost associated with each of said candidate paths that include at least the cost of the destination node based on previous decisions and the cost of the origin node obtained in stage c), in whole or in part, thus obtaining the cost of each of said candidate paths, and: e) preselect for each candidate node of the second column ((P 1 , f 2 ) ... (PN, f 2 )) at least part of the candidate path of optimal cost leading to said candidate node of the second column (( P 1 , Í 2 ) ... (PN , f 2 )) or pass through it, obtaining, respectively, N first roads or segments of preselected roads, discarding the connections ([P 1 Pi] 2 ... [Pi PN] 2- - - [PN P I ] 2 - - - [PN PN] 2 ) that join the candidate nodes of the first column ((P 1 , ÍI) ... (PN, fi)) with those of the second ((P 1 , h) - - - (P N , h)) that are not part of said first roads or segments of preselected roads.
2.- Método según Ia reivindicación 1 , caracterizado porque cuando cada uno de dichos caminos candidatos es un camino de dos nodos que incluye únicamente una de dichas conexiones, un nodo candidato origen y un nodo candidato destino de dos columnas consecutivas, comprende llevar a cabo:2. Method according to claim 1, characterized in that when each of said candidate paths is a two-node path that includes only one of said connections, a source candidate node and a destination candidate node of two consecutive columns, comprise carrying out:
- dicha etapa d) para aplicar dicha función de coste, que es al menos una, a los caminos candidatos que incluyen a los nodos candidatos de Ia primera columna ((P1, f-ι)...(PN, f,)) en conexión con, únicamente, los nodos candidatos de Ia segunda columna ((P1, f2)...(PNl f2)), y- said step d) to apply said cost function, which is at least one, to the candidate paths that include the candidate nodes of the first column ((P 1 , f-ι) ... (P N , f, )) in connection with only the candidate nodes of the second column ((P 1 , f 2 ) ... (P Nl f 2 )), and
- dicha etapa e) para preseleccionar por entero, para cada nodo candidato destino ((P1, f2)-..(PN, h)) de Ia segunda columna, el camino candidato de coste óptimo que lleva hasta él, obteniéndose dichos N primeros caminos preseleccionados que parten de un nodo de Ia primera columna ((P1, f-ι)...(PN, fi)) y finalizan en un nodo de Ia segunda columna ((P1, f2)... (PN, Í2))-- said step e) to pre-select, for each candidate candidate node ((P 1 , f 2 ) - .. (PN, h)) of the second column, the candidate path of optimal cost that leads to it, obtaining said N first preselected paths that start from a node of the first column ((P 1, f-ι) ... (P N, fi)) and end at a node of the second column ((P 1 , f 2 ). .. (PN, Í2)) -
3.- Método según Ia reivindicación 2, caracterizado porque cuando M=2 comprende seleccionar los dos nodos que forman parte del camino de coste óptimo, de entre dichos primeros caminos preseleccionados, y por ende el procesador o procesadores asociados a cada uno de dichos dos nodos seleccionados como procesador o procesadores mapeados para ejecutar Ia primera función (fi), el asociado al nodo de Ia primera columna ((P1, ^... (PN, f-i)), y una segunda función (f2) el asociado al nodo de Ia segunda columna ((P1, Í2)... (PN, Í2))-3. Method according to claim 2, characterized in that when M = 2 comprises selecting the two nodes that are part of the optimal cost path, from said first preselected paths, and therefore the processor or processors associated with each of said two nodes selected as a processor or mapped processors to execute the first function (fi), the one associated with the node of the first column ((P 1 , ^ ... (PN, fi)), and a second function (f 2 ) the associated to the node of the second column ((P 1 , Í 2 ) ... (PN, Í 2 )) -
4.- Método según Ia reivindicación 2, caracterizado porque cuando M>3, comprende realizar las siguientes etapas, análogas a dichas etapas d) y e), respectivamente: d') aplicar al menos una función de coste a los caminos candidatos que incluyen a los nodos candidatos de Ia segunda columna ((P1, Í2)... (PN, h)) en conexión con los de Ia tercera ((P1, Í3)... (PN, f3)), para calcular el coste acumulado asociado a cada uno de dichos caminos candidatos que incluye al menos el coste del nodo destino de Ia tercera columna ((P1, Í3)... (PN, f3)) en función de decisiones precedentes y el coste de uno de dichos primeros caminos preseleccionados en Ia etapa e), cada uno de los cuales incluye únicamente un nodo de Ia primera columna ((P1, fi)....(PN, fi)) conectado con uno nodo de Ia segunda columna ((Pi1 Í2)... (PN, h)), obteniendo así el coste de cada uno de dichos caminos candidatos con destino en un respectivo nodo candidato de Ia tercera columna ((P1, f3)...(PN, f3)), y e') preseleccionar para cada nodo candidato destino de Ia tercera columna ((P1, Í3)... (PN, f3)) el camino candidato de coste óptimo que lleva hasta él desde un nodo origen de Ia segunda columna ((P1, f2). - (PN, k)), obteniendo N segundos caminos preseleccionados, descartando las conexiones que unen a los nodos candidatos de Ia segunda columna ((P1, f2).--(PN, f2)) con los de Ia tercera ((P1, f3)...(PN, f3)) que no forman parte de dichos segundos caminos preseleccionados.4. Method according to claim 2, characterized in that when M> 3, comprises performing the following steps, analogous to said stages d) and e), respectively: d ') applying at least one cost function to the candidate paths that include the candidate nodes of the second column ((P 1 , Í 2 ) ... (PN, h)) in connection with those of the third column ((P 1 , Í3) ... (PN, f 3 )), for calculate the cumulative cost associated with each of said candidate paths that includes at least the cost of the destination node of the third column ((P 1, Í 3 ) ... (PN , f 3 )) based on previous decisions and the cost of one of said first preselected paths in stage e), each of which includes only one node of the first column ((P 1 , fi) .... (P N , fi)) connected to one node of The second column ((Pi 1 Í 2 ) ... (PN, h)), thus obtaining the cost of each of said candidate paths destined for a respective candidate node of the third column ((P 1 , f 3 ) .. . (P N , f 3 )), and e ') preselect for each candidate node destination of the third column ((P 1 , Í 3 ) ... (PN , f 3 )) the candidate path of optimal cost that leads to him from a node origin of the second column ((P 1 , f 2 ). - (PN, k)), obtaining N seconds preselected paths, discarding the connections that join the candidate nodes of Ia second column ((P 1 , f 2 ) .-- (PN, f 2 )) with those of the third ((P 1 , f 3 ) ... (P N, f 3 )) that are not part of said Second shortlisted roads.
5.- Método según Ia reivindicación 4, caracterizado porque cuando M=3, comprende seleccionar, de entre dichos N segundos caminos preseleccionados, el de coste óptimo, y recorrerlo hacia atrás junto con el primer camino preseleccionádo al que se encuentra unido, para seleccionar los tres nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos tres nodos seleccionados como procesadores mapeados para ejecutar Ia primera función (f-i), el asociado al nodo de Ia primera columna ((P1, f|)...(PNi ^)), Ia segunda función (f2), el asociado al nodo de Ia segunda columna ((Pi1 f2)... (PN, h)), y una tercera función (f3), el asociado al nodo de Ia tercera columna ((P1, f3)... (PN, f3)).5. Method according to claim 4, characterized in that when M = 3, it comprises selecting, from said N second preselected paths, the optimum cost, and traveling backwards together with the first preselected path to which it is attached, to select the three nodes that are part of said path, and therefore the processor or processors associated with each of said three nodes selected as mapped processors to execute the first function (fi), the one associated with the node of the first column ((P 1 , f |) ... (P Ni ^)), the second function (f 2 ), the one associated with the node of the second column ((Pi 1 f 2 ) ... (P N, h)), and a third function (f 3 ), the one associated with the node of the third column ((P 1 , f 3 ) ... (P N , f 3 )).
6.- Método según Ia reivindicación 4, caracterizado porque cuando M>3, comprende realizar, para cada una de las columnas siguientes a Ia tercera columna, dos a dos y avanzando columna a columna, unas etapas análogas a dichas etapas d') y e') para finalmente preseleccionar para cada nodo candidato destino de cada columna adicional a Ia tercera columna, el camino candidato de coste óptimo que lleva hasta él desde un nodo origen de Ia columna inmediatamente anterior, obteniendo N caminos preseleccionados adicionales por columna, descartando las conexiones que no forman parte de dichos caminos preseleccionados adicionales. 6. Method according to claim 4, characterized in that when M> 3, comprises performing, for each of the columns following the third column, two to two and advancing column by column, steps analogous to said stages d ') and e ') to finally preselect for each candidate node destination of each additional column to the third column, the candidate path of optimal cost that leads to it from an origin node of the immediately preceding column, obtaining N additional preselected paths per column, discarding the connections that are not part of said additional preselected paths.
7.- Método según Ia reivindicación 6, caracterizado porque para dicho caso en que M>3, comprende seleccionar, de entre los N caminos preseleccionados adicionales que incluyen a los nodos de Ia última columna ((P1, fM)...(PN, ÍM))> el de coste óptimo, y recorrerlo hacia atrás junto con todos los caminos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones (fr fM).7. Method according to claim 6, characterized in that for said case in which M> 3, comprises selecting, from among the N additional preselected paths that include the nodes of the last column ((P 1 , f M ) ... (P N , Í M )) > the one of optimal cost, and to travel it back along with all the preselected paths to which it is attached, to select the M nodes that are part of said route, and therefore the processor or processors associated to each of said M nodes selected as mapped processors to execute the M functions (f r f M ).
8.- Método según Ia reivindicación 1 , caracterizado porque cuando cada uno de dichos caminos candidatos incluye un nodo candidato origen, un nodo candidato intermedio y un nodo candidato destino, de tres columnas consecutivas respectivamente, interconectados por dos de dichas conexiones, comprende llevar a cabo:8. Method according to claim 1, characterized in that when each of said candidate paths includes an origin candidate node, an intermediate candidate node and a destination candidate node, of three consecutive columns respectively, interconnected by two of said connections, comprises carrying cape:
- dicha etapa d) para aplicar al menos dicha función de coste a los caminos candidatos, cada uno de los cuales incluye, interconectados por dos conexiones respectivas, un nodo candidato origen de Ia primera columna ((P1, f-ι)...(PN, fi)), un nodo candidato intermedio de Ia segunda columna ((P1, Í2)... (PN, h)) y un nodo candidato destino de Ia tercera columna ((P1, Í3)... (PN, U)), para calcular el coste acumulado de cada uno de dichos caminos candidatos de tres nodos y el de sus segmentos iniciales, o segmentos de camino de dos nodos que incluyen a un nodo de Ia primera columna ((P1, fi)...(PN, f-ι)) y a uno de Ia segunda ((Pi1 f2)...(PN, h)), y - dicha etapa e) para preseleccionar, para cada nodo candidato intermedio de- said step d) to apply at least said cost function to the candidate paths, each of which includes, interconnected by two respective connections, a candidate node originating from the first column ((P 1 , f-ι) .. . (P N , fi)), an intermediate candidate node of the second column ((P 1 , Í 2 ) ... (PN, h)) and a node destination candidate of the third column ((P 1 , Í 3 ) ... (PN, U)), to calculate the cumulative cost of each of said three-node candidate paths and that of their initial segments, or path segments of two nodes that include a node of the first column ((P 1 , fi) ... (PN, f-ι)) and one of the second ((Pi 1 f 2 ) ... (PN, h) ), and - said step e) to preselect, for each intermediate candidate node of
Ia segunda columna ((P1, f2)...(PN, h)), únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él, siendo dichas partes preseleccionadas dichos N primeros segmentos de camino de dos nodos.The second column ((P 1 , f 2 ) ... (P N , h)), only part of the candidate path of three nodes of optimal cost that passes through it, said pre-selected parts being said first N two road segments of two nodes
9.- Método según Ia reivindicación 8, caracterizado porque cuando M>3, comprende realizar Ia siguiente etapa, análoga a dicha etapa d): d") aplicar al menos una función de coste a los caminos candidatos de tres nodos que incluyen, interconectados por dos conexiones respectivas, un nodo candidato origen de Ia segunda columna ((P1, f2)...(PN, f2)), un nodo candidato intermedio de Ia tercera columna ((Pi1 Í3)... (PN, h)) y un nodo candidato destino de Ia cuarta columna ((P1, f4)...(PN, f4)), para calcular el coste acumulado asociado a cada 1 uno de dichos caminos candidatos de tres nodos, que incluye al menos el coste del nodo destino de Ia cuarta columna ((P1, f4)...(PN, f4)) en función de decisiones precedentes y el coste acumulado de uno de dichos primeros segmentos de camino de dos nodos preseleccionados en Ia etapa e). 9. Method according to claim 8, characterized in that when M> 3, comprises performing the following stage, analogous to said stage d): d ") apply at least one cost function to the candidate paths of three nodes that include, interconnected by two respective connections, a candidate node origin of the second column ((P 1 , f 2 ) ... (PN, f 2 )), an intermediate candidate node of the third column ((Pi 1 Í 3 ) ... (PN, h)) and a candidate candidate node of the fourth column ((P 1 , f 4 ) ... (P N, f 4 )), to calculate the cumulative cost associated with each 1 of said candidate paths of three nodes, which includes at least the cost of the destination node of the fourth column ((P 1 , f 4 ) ... (P N, f 4 )) based on previous decisions and the accumulated cost of one of said first segments of the path of two preselected nodes in stage e).
10.- Método según Ia reivindicación 9, caracterizado porque cuando M=4, comprende realizar las siguientes etapas, tras dicha etapa d"):10. Method according to claim 9, characterized in that when M = 4, it comprises performing the following steps, after said step d "):
- preseleccionar para cada nodo candidato intermedio de Ia tercera columna ((P1, f3)... (PN, h)), el camino candidato completo de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia cuarta columna ((P1, f4)...(PN, f4)), obteniendo N caminos de tres nodos preseleccionados, y- preselect for each intermediate candidate node of the third column ((P 1 , f 3 ) ... (PN, h)), the complete candidate path of three nodes of optimal cost that passes through it and ends in a node of Ia fourth column ((P 1, f 4 ) ... (P N , f 4 )), obtaining N paths of three preselected nodes, and
- seleccionar, de entre dichos N caminos de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su nodo intermedio, de Ia tercera columna ((P1, Í3)... (PN, fs)), hacia delante y hacia atrás junto con el primer segmento de camino de dos nodos preseleccionado en Ia etapa e) al que se encuentra unido, para seleccionar los cuatro nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos cuatro nodos seleccionados como procesadores mapeados para ejecutar Ia primera función (f-i), el asociado al nodo de Ia primera columna ((Pi1 fi)...(PNi f,)), Ia segunda función (f2), el asociado al nodo de Ia segunda columna ((P1, f2)... (PN, f2)), Ia tercera función (f3), el asociado al nodo de Ia tercera columna ((P1, f3)...(PiM, fs)), y una cuarta función (f4), el asociado al nodo de Ia cuarta columna ((P1, f4)...(PN, f4)). - select, from said N paths of three preselected nodes, the optimum cost, and travel said selected path from its intermediate node, from the third column ((P 1 , Í 3 ) ... (PN, fs)), forward and backward along with the first two-node path segment preselected in stage e) to which it is attached, to select the four nodes that are part of said path, and therefore the processor or processors associated with each of said four nodes selected as mapped processors to execute the first function (fi), the one associated with the node of the first column ((Pi 1 fi) ... (P Ni f,)), the second function (f 2 ), the one associated with the node of the second column ((P 1 , f 2 ) ... (P N, f 2 )), the third function (f 3 ), the one associated with the node of the third column ((P 1 , f 3 ) ... (Pi M, fs)), and a fourth function (f 4 ), the one associated with the node of the fourth column ((P 1 , f 4 ) ... (P N, f 4 )).
11.- Método según Ia reivindicación 9, caracterizado porque cuando M>4, comprende realizar Ia siguiente etapa tras dicha etapa d"): e") preseleccionar, para cada nodo candidato intermedio de Ia tercera columna11. Method according to claim 9, characterized in that when M> 4, comprises performing the following stage after said stage d "): e") preselect, for each intermediate candidate node of the third column
((Pi1 Í3)- " (PN, h)), únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él y finaliza en un nodo candidato de Ia cuarta columna ((P1, ((Pi 1 Í 3 ) - " (PN, h)), only part of the candidate path of three nodes of optimal cost that passes through it and ends in a candidate node of the fourth column ((P 1,
Í4)... (PN, f4)), obteniendo N segundos segmentos de camino de dos nodos preseleccionados.Í 4 ) ... (PN , f 4 )), obtaining N second path segments of two preselected nodes.
12.- Método según Ia reivindicación 11 , caracterizado porque comprende realizar, para cada una de las columnas siguientes a Ia cuarta columna ((P1, f4)... (PNi f4)), tres a tres y avanzando columna a columna, unas etapas análogas a dichas etapas d") y e") para cada camino de tres nodos adicional que finaliza en cada una de las columnas siguientes o adicionales a la cuarta columna ((P1, f4)...(PN, f4)), a excepción del camino de tres nodos adicional que finaliza en Ia columna M, para preseleccionar para cada nodo candidato intermedio de cada camino de tres nodos adicional, únicamente parte del camino candidato de tres nodos de coste óptimo que pasa por él, obteniendo N segmentos de camino de dos nodos preseleccionados adicionales por cada columna adicional a Ia cuarta columna ((P1, f4)...(PN, f4)).12. Method according to claim 11, characterized in that it comprises, for each of the columns following the fourth column ((P 1 , f 4 ) ... (P Ni f 4 )), three to three and advancing column a column, some stages analogous to said stages d ") and e") for each additional three-node path that ends in each of the following or additional columns to the fourth column ((P 1 , f 4 ) ... (P N , f 4 )), with the exception of the additional three-node path that ends in column M, to preselect for each intermediate candidate node of each additional three-node path, only part of the candidate path of three nodes of optimal cost that passes through it, obtaining N path segments of two additional preselected nodes for each additional column to the fourth column ((P 1 , f 4 ) ... (P N , f 4 )).
13.- Método según Ia reivindicación 12, caracterizado porque comprende realizar, para dichos caminos de tres nodos adicionales que finalizan en Ia columna M, las siguientes etapas, tras dicha etapa análoga a dicha etapa e"):13. Method according to claim 12, characterized in that it comprises performing, for said paths of three additional nodes ending in column M, the following stages, after said stage analogous to said stage e "):
- preseleccionar para cada nodo candidato intermedio de Ia columna M-1 ((Pi1 fM-i)... (PN, fιvι-i)), el camino candidato completo de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia columna M ((Pi1 ÍIVI)... (PN, fwO), obteniendo N caminos ' de tres nodos preseleccionados, y - seleccionar, de entre dichos N caminos de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su nodo intermedio ((Pi1 fM_ •i)... (PN, f M-I )) , de Ia columna M-1 , hacia delante y hacia atrás junto con todos los segmentos de camino de dos nodos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones (frfwi)-- preselect for each intermediate candidate node of column M-1 ((Pi 1 f M- i) ... (P N , fιvι-i)), the complete candidate path of three nodes of optimal cost that passes through it and it ends in a node of column M ((Pi 1 Í I V I ) ... (PN, fwO), obtaining N paths ' of three preselected nodes, and - selecting, from said N paths of three preselected nodes, the of optimal cost, and travel said selected path from its intermediate node ((Pi 1 f M _ • i) ... (P N, f M - I )), from column M-1, forward and backward together with all the path segments of two preselected nodes to which it is attached, to select the M nodes that are part of said path, and therefore the processor or processors associated with each of said M nodes selected as mapped processors to execute the M functions (frfwi) -
14.- Método según cualquiera de las reivindicaciones 8 a 13, caracterizado porque cuando cada uno de dichos caminos candidatos es un camino de más de tres nodos, comprende llevar a cabo: - dicha etapa d) para calcular el coste acumulado de cada uno de dichos caminos candidatos de más de tres nodos y el de sus segmentos iniciales de camino de dos nodos que incluyen a un nodo de Ia primera columna ((Pi1 fi)...(PN, U)) V a uno de Ia segunda ((P1, f2)...(PN, f2)),14. Method according to any of claims 8 to 13, characterized in that when each of said candidate paths is a path of more than three nodes, it comprises carrying out: - said step d) to calculate the accumulated cost of each of said candidate paths of more than three nodes and that of their initial path segments of two nodes that include a node of the first column ((Pi 1 fi) ... (P N , U)) V to one of the second ((P 1 , f 2 ) ... (P N , f 2 )),
- dicha etapa e) para preseleccionar, para cada nodo candidato de Ia segunda columna ((P1, Í2)... (PN, h)), únicamente parte del camino candidato de más de tres nodos de coste óptimo que pasa por él, siendo dichas partes preseleccionadas dichos N primeros segmentos de camino de dos nodos, y- said step e) to preselect, for each candidate node of the second column ((P 1 , Í 2 ) ... (PN , h)), only part of the candidate path of more than three nodes of optimal cost that passes through it, said pre-selected parts being said first N path segments of two nodes, and
- realizar unas etapas análogas a dichas etapas descritas para dichos caminos de tres nodos, preseleccionando para cada nodo candidato que ocupa Ia segunda posición en cada camino de más tres nodos adicional que finaliza en cada una de las columnas siguientes o adicionales a Ia cuarta columna, a excepción del camino de más de tres nodos adicional que finaliza en Ia columna M, el segmento inicial de dos nodos del camino candidato de más de tres nodos de coste óptimo que pasa por él, obteniendo N segmentos de camino de dos nodos preseleccionados adicionales por cada columna adicional a Ia cuarta columna. - Perform stages analogous to said stages described for said three-node paths, preselecting for each candidate node that occupies the second position in each path of three additional nodes ending in each of the following or additional columns to the fourth column, with the exception of the path of more than three additional nodes that ends in column M, the initial segment of two nodes of the candidate path of more than three nodes of optimal cost that passes through it, obtaining N path segments of two additional preselected nodes by each additional column to the fourth column.
15.- Método según Ia reivindicación 14, caracterizado porqué comprende realizar, para dichos caminos de más de tres nodos adicionales que finalizan en Ia columna M, las siguientes etapas:15. Method according to claim 14, characterized in that it comprises performing, for said paths of more than three additional nodes that end in column M, the following steps:
- preseleccionar para cada nodo candidato que ocupa Ia segunda posición en cada camino de más tres nodos adicional que finaliza en Ia columna M, el camino candidato completo de más de tres nodos de coste óptimo que pasa por él y finaliza en un nodo de Ia columna M ((P1, ÍWO- . - ÍPN, fwi)), obteniendo N caminos de más tres nodos preseleccionados, y- preselect for each candidate node that occupies the second position in each path of three additional nodes that ends in column M, the complete candidate path of more than three nodes of optimal cost that passes through it and ends in a node of the column M ((P 1 , Í W O-. - ÍPN, fwi)), obtaining N paths of more than three preselected nodes, and
- seleccionar, de entre dichos N caminos de más de tres nodos preseleccionados, el de coste óptimo, y recorrer dicho camino seleccionado desde su respectivo nodo que ocupa Ia segunda posición en el camino, hacia delante y hacia atrás junto con todos los segmentos de camino de dos nodos preseleccionados a los que se encuentra unido, para seleccionar los M nodos que forman parte de dicho recorrido, y por ende el procesador o procesadores asociados a cada uno de dichos M nodos seleccionados como procesadores mapeados para ejecutar las M funciones (fr fM).- select, from said N paths of more than three preselected nodes, the optimum cost, and travel said selected path from its respective node that occupies the second position on the path, forward and backward along with all the path segments of two preselected nodes to which it is attached, to select the M nodes that are part of said path, and therefore the processor or processors associated with each of said M selected nodes as mapped processors to execute the M functions (f r f M ).
16.- Método según Ia reivindicación 1 , caracterizado porque dichas decisiones precedentes influyen en dicho coste acumulado al menos por Io que respecta a los recursos restantes en cada nodo tras haber tomado dichas decisiones.16. Method according to claim 1, characterized in that said preceding decisions influence said accumulated cost at least for what concerns the remaining resources in each node after having made said decisions.
17.- Método según cualquiera de las reivindicaciones anteriores, caracterizado porque dichas funciones de coste evalúan el coste de computación que relaciona los requerimientos de procesado con los recursos disponibles de procesado, y el coste de comunicación pone que relaciona los requerimientos de ancho de banda para traspasar datos de un proceso a otro con los correspondientes anchos de banda disponibles entre los procesadores.17. Method according to any of the preceding claims, characterized in that said cost functions evaluate the computation cost that relates the processing requirements to the available processing resources, and the cost of Communication puts that it relates the bandwidth requirements to transfer data from one process to another with the corresponding bandwidths available between the processors.
18.- Método según Ia reivindicación 1 , caracterizado porque comprende determinar dichos recursos de computación de cada uno de dichos procesadores (P1-18. Method according to claim 1, characterized in that it comprises determining said computing resources of each of said processors (P 1 -
PN) tomando como base un segmento temporal de una pluralidad de segmentos temporales iguales, de duración (tts) suficiente como para asegurar que cada procesador (PI-PN) sea capaz de ejecutar las funciones (f 1 -f M) O procesos asignados y de traspasar datos a otro procesador antes de que finalice dicho segmento temporal. PN) based on a time segment of a plurality of equal time segments, of sufficient duration (t ts ) to ensure that each processor (P I -PN) is capable of executing the functions (f 1 -f M) OR processes assigned and transferring data to another processor before the end of said time segment.
19.- Método según Ia reivindicación 18, caracterizado porque comprende mapear dichas funciones (frfwi) con el fin de ejecutar finalmente Ia aplicación mediante un proceso de segmentación de instrucciones, estableciéndose los mismos requerimientos de computación para cada uno de dichos segmentos temporales. 19. Method according to claim 18, characterized in that it comprises mapping said functions (frfwi) in order to finally execute the application through an instruction segmentation process, establishing the same computation requirements for each of said time segments.
PCT/ES2009/000300 2008-05-30 2009-05-28 Method for managing computation resources which is applicable to a software-defined radio system WO2009147261A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ESP200801671 2008-05-30
ES200801671A ES2330604B1 (en) 2008-05-30 2008-05-30 METHOD FOR MANAGING COMPUTATION RESOURCES APPLICABLE TO A RADIO SYSTEM DEFINED BY PROGRAM.

Publications (1)

Publication Number Publication Date
WO2009147261A1 true WO2009147261A1 (en) 2009-12-10

Family

ID=41352359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2009/000300 WO2009147261A1 (en) 2008-05-30 2009-05-28 Method for managing computation resources which is applicable to a software-defined radio system

Country Status (2)

Country Link
ES (1) ES2330604B1 (en)
WO (1) WO2009147261A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6768901B1 (en) * 2000-06-02 2004-07-27 General Dynamics Decision Systems, Inc. Dynamic hardware resource manager for software-defined communications system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6768901B1 (en) * 2000-06-02 2004-07-27 General Dynamics Decision Systems, Inc. Dynamic hardware resource manager for software-defined communications system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Personal, Indoor and Mobile Radio Communications, 2005. PIMRC 2005. IEEE 16th International Symposium", vol. 1, 11 September 2005, article MAROJEVIC, V. ET AL.: "Computing Resource Management for SDR Platforms", pages: 685 - 689, XP031099831 *
"Wireless and Mobile Computing, Networking and Communications, 2007. WiMOB 2007. Third IEEE International Conference", 8 October 2007, article MAROJEVIC, V. ET AL.: "On Integrating Radio, Computing, and Application Resource Management in Cognitive Radio Systems", pages: 32, XP031338315 *

Also Published As

Publication number Publication date
ES2330604A1 (en) 2009-12-11
ES2330604B1 (en) 2010-09-27

Similar Documents

Publication Publication Date Title
Gavalas et al. An approach for near-optimal distributed data fusion in wireless sensor networks
ES2313433T3 (en) PROCEDURE AND DEVICE FOR THE CREATION OF A TUNNEL IN A TELECOMMUNICATIONS NETWORK WITH PERMUTATION OF LABELS.
CN108307435A (en) A kind of multitask route selection method based on SDSIN
Ebrahimi et al. MAFA: Adaptive fault-tolerant routing algorithm for networks-on-chip
CN105282038B (en) For the distributed group of stars group optimization method based on stability analysis in mobile satellite network
CN101335704B (en) Adaptive routing method without dead lock in three-dimensional torus network
CN103746852B (en) Service routing configuration method and network management equipment
CN106961343A (en) A kind of virtual map method and device
CN112104491B (en) Service-oriented network virtualization resource management method
CN109687998A (en) A kind of the satellite network resources administrative model and construction method of oriented mission service
CN109412954A (en) Route determining methods, device and storage medium based on unordered joint constraint
Li et al. An elastic resource allocation algorithm based on dispersion degree for hybrid requests in satellite optical networks
CN102868624B (en) The control device of electro-optical composite network node, control system and control method
CN106452555A (en) Multi-path optimization algorithm planning method based on medium and low earth orbit satellite network
WO2009147261A1 (en) Method for managing computation resources which is applicable to a software-defined radio system
CN107454165A (en) Access method and device of a kind of hadoop cluster to ceph clusters
CN114844812A (en) Low-delay low-overhead path deployment method for active network remote sensing
CN103346964B (en) Based on the method and system that the satellite-ground link of multilayer satellite network switches
Sharma et al. A framework for risk-energy aware service-level agreement provisioning (RESP) for computing the quickest path
CN107094116A (en) A kind of straight-forward network method for routing and system included across dimension link
CN103884343B (en) Microwave integrated circuit (MIC) coprocessor-based whole-network shortest path planning parallelization method
ES2385011B1 (en) PROCEDURE FOR ESTABLISHING ROUTES ON THE TRANSMISSION NETWORK EFFECTIVELY.
Lusala et al. A hybrid router combining sdm-based circuit swictching with packet switching for on-chip networks
CN107317649B (en) The calculation method and its system of shortest path based on WSON damage model
Kumar et al. Towards power efficient wireless NoC router for SOC

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09757640

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09757640

Country of ref document: EP

Kind code of ref document: A1