Show
Ignore:
Timestamp:
05/17/10 03:14:03 (14 years ago)
Author:
nikhil
Message:
 
Location:
vtcross/branches/nikhil/crossmodel1
Files:
1 modified
1 copied

Legend:

Unmodified
Added
Removed
  • vtcross/branches/nikhil/crossmodel1/src/libvtcross/libvtcross_demo.cpp

    r535 r554  
    2424#include "vtcross/libvtcross.h" 
    2525#include "vtcross/socketcomm.h" 
     26#include <iostream> 
    2627 
    2728int32_t  
     
    3132    SetCrossShellLocation("localhost", "40000"); 
    3233 
    33     for(size_t i = 0; i < 10; i++) { 
    34         Observable *o = new Observable[2]; 
    35         Parameter *currentParameters = new Parameter[2]; 
     34 
     35// need to include utilties also in system,..  
     36 
     37        Observable *o = new Observable[10]; 
     38        Parameter *currentParameters = new Parameter[10]; 
     39        Utility *u = new Utility[10]; 
    3640        Parameter *p; 
    3741 
     
    4044        uint32_t numUtilities; 
    4145 
    42         o[0].name = "throughput"; 
    43         o[0].value = 150.00; 
    44         o[1].name = "PER"; 
    45         o[1].value = 12.00; 
     46        u[0].name = "throughput"; 
     47//        u[0].value = 15 
     48        u[1].name = "PER"; 
     49//        u[1].value = 12.00; 
     50 
     51        numParameters = GetNum("parameters"); 
     52        numObservables = GetNum("observables"); 
     53        numUtilities = GetNum("utilities"); 
     54 
     55 
     56// This is for loop for performing 10 cycles of updates.. with CBR 
     57    for(size_t i = 0; i < 10; i++) { 
    4658 
    4759        if(i == 0) { 
    4860            currentParameters[0].name = "bandwidth"; 
    49             currentParameters[0].value = 300.0; 
     61            currentParameters[0].value = 200.0; 
    5062            currentParameters[1].name = "tx_power"; 
    5163            currentParameters[1].value = 10.0; 
     
    5769        LOG("Application:: Requesting parameter optimization.\n"); 
    5870 
    59         p = GetOptimalParameters(o,2,currentParameters,2); 
    60         numParameters = GetNumParameters(); 
    61         numObservables = GetNumObservables(); 
    62         numUtilities = GetNumUtilities(); 
     71        p = GetOptimalParameters(o,0,currentParameters,2,u,2); 
    6372 
    6473        LOG("Application:: Received the following parameters.\n"); 
     
    6877        } 
    6978 
    70         /* Try them out! Do they work? */ 
    71         o[0].value = 0.5*p[0].value + .1*p[1].value; 
    72         o[1].value = 15-p[1].value; 
     79///        Try them out! Do they work?  
     80        u[0].value = 2*p[0].value + 1*p[1].value + ((rand()*2.0/RAND_MAX - 1)*10.0); 
     81        u[1].value = 12-p[0].value/50 - p[1].value/3 + ((rand()*2.0/RAND_MAX - 1.0)*0.1); 
    7382 
    74         UpdateParameterPerformance(p, numParameters, o, numObservables);     
    75          
    76         delete [] p;  
    77         delete [] o;  
     83        if (u[1].value < 0)  
     84                u[1].value = 0;  
     85 
     86        LOG("utilities\n %s : %f \n %s : %f \n",u[0].name.c_str(),u[0].value,u[1].name.c_str(),u[1].value);      
     87 
     88        UpdateParameterPerformance(p, numParameters, o, numObservables, u, numUtilities);     
     89 
     90        usleep(1000);         
     91  
    7892    } 
    7993