EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: CA throughputs
From: Lifang Zheng <[email protected]>
To: tech-talk <[email protected]>
Date: Thu, 07 Dec 2000 09:05:53 +0800
Dear all,


I want to test Dr.Dalesio mentioned throughputs:

> >     Performance:
> >     68040 over 10 Mbit Ethernet
> >     Gets
> >      Propagation Delay  2  mS
> >      Throughput  7.8K /sec
> >     Puts
> >      Propagation Delay  1 mS
> >      Throughput  17K /sec
> >     Monitors
> >      Propagation Delay   Dependent
> >      Throughput  10K / sec

I got GET throughput is 7.3K/s. But for PUT, I only got 7.8K/s, much
more less than Bob's. I am not sure if I did the right way. The
followings are my source codes.

I have two questions:
1. What is propagation delay?
2. Because monitor only works when the channel value is changed, does
10K/s of monitor throughput mean the record should be processed in less
than 0.1ms?

I will appreciate if somebody could give me some advice & suggestions.

Best regards,

Lifang

/***********************************************************/
 #include <stdlib.h>
 #include <stdio.h>
 #include <time.h>

 #include <cadef.h>

 #define USAGE "usage: ezee <PV name>  MAXLOOP"

 int main(int argc, char **argv)
 {
         register int i;
         chid chan;
         dbr_string_t strval;
         int  status, MAXLOOP=1000000;
         dbr_float_t value[1000000];
         struct timespec times1, times2;
         double tm1, tm2, rate;

         if(argc != 3){
                 printf("%s\n", USAGE);
                 exit(-1);
         }

         status = ca_task_initialize();
         SEVCHK(status, "Unable to initialize");
         if (status != ECA_NORMAL)
                 exit(-1);

         status = ca_search(argv[1], &chan);

         if (status != ECA_NORMAL){
                 printf("problem establishing connection to
%s.",argv[1]);
                 exit(-1);
         }

         status = ca_pend_io(1.0);

         if (status != ECA_NORMAL){
                 printf("%s: Not Found\n", argv[1]);
                 exit(-1);
         }

        MAXLOOP = atoi(argv[2]);

         for(i=0; i<MAXLOOP; i++)value[i] = i;

        clock_gettime(CLOCK_REALTIME, &times1);

        for(i = 0; i < MAXLOOP; i++)
         {
                 status = ca_rput(chan, &value[i]);
                 SEVCHK(status, "Error in call to ca_bput()");
         }

         status = ca_pend_io(1000.0);
         clock_gettime(CLOCK_REALTIME, &times2);

         if (status != ECA_NORMAL)
         {
                 printf("%s: Get Timed Out\n", argv[1]);
                exit(-1);
         }

         tm2 = 1.0*times2.tv_sec + times2.tv_nsec*1.0e-9;
         tm1 = 1.0*times1.tv_sec + times1.tv_nsec*1.0e-9;
         rate = 1.0*MAXLOOP/(tm2-tm1);

         printf("tm2: %f\n", tm2);
         printf("tm1: %f\n", tm1);
         printf("tm2-tm1: %f  rate: %f \n", tm2-tm1, rate);

         ca_task_exit();
         return(0);
 }



Navigate by Date:
Prev: Device Support for HP1428A & TVS654A Coleman, Thomas A.
Next: Re: Matlab Timo Korhonen
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Device Support for HP1428A & TVS654A Kate Feng
Next: CA throughputs Lifang Zheng
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·