home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1230 / scbprdoc
Encoding:
Text File  |  1990-12-28  |  30.3 KB  |  661 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                  AAAA MMMMUUUULLLLTTTTIIIIUUUUSSSSEEEERRRR BBBBEEEENNNNCCCCHHHHMMMMAAAARRRRKKKK
  11.                    TTTTOOOO CCCCOOOOMMMMPPPPAAAARRRREEEE
  12.                   UUUUNNNNIIIIXXXX SSSSYYYYSSSSTTTTEEEEMMMMSSSS
  13.  
  14.  
  15.                 Philip M. Mills
  16.  
  17.                 NCR Corporation
  18.                 3325 Platt Springs Road
  19.                 West Columbia, SC 29169
  20.                    phone 803 791 6377
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. September 13, 1985
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.                  AAAA MMMMUUUULLLLTTTTIIIIUUUUSSSSEEEERRRR BBBBEEEENNNNCCCCHHHHMMMMAAAARRRRKKKK
  77.                    TTTTOOOO CCCCOOOOMMMMPPPPAAAARRRREEEE
  78.                   UUUUNNNNIIIIXXXX SSSSYYYYSSSSTTTTEEEEMMMMSSSS
  79.  
  80.  
  81.                 Philip M. Mills
  82.  
  83.                 NCR Corporation
  84.                 3325 Platt Springs Road
  85.                 West Columbia, SC 29169
  86.                    phone 803 791 6377
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. _U_n_i_x _B_e_n_c_h_m_a_r_k_s    _I_n_a_d_e_q_u_a_t_e            operations.
  94.  
  95.      Despite all  the  evaluation  of       (3)    One is unable to  correlate  the
  96. Unix  systems  using  benchmarks,  no        time  to  perform  simple opera-
  97. readily     available  benchmark    today        tions with the system's     overall
  98. provides  an  accurate    estimate of a        ability    to process work.
  99. multiuser Unix system's    overall     pro-
  100. cessing      effectiveness.    Published       (4)    The  benchmark    cannot    evaluate
  101. articles showing benchmark results as        Unix  systems with one or multi-
  102. well  as  the  results from executing        ple main processors.
  103. benchmarks, typically provide  tables
  104. of  data  containing  measurements of        To  overcome  the   difficulties
  105. different parts    of the system,    leav-       just      described,   a  self-measuring
  106. ing  one with the job of interpreting       portable   multiuser      multiprocessor
  107. the results as best they  can.     What       unix     benchmark  has     been developed.
  108. one  really  wants  to know is will a       This    benchmark provides:
  109. set of application  programs  execute
  110. faster on one Unix system compared to       (1)    A reasonable approximation to  a
  111. another    Unix system.                multiuser   multiprocessor  unix
  112.                         application environment.
  113.      The  problem  with     the  results
  114. provided  by  most benchmarks is that       (2)    A single measure of the     overall
  115. one  cannot  accurately     infer    which        system's  processing  effective-
  116. system    can execute a set of applica-        ness.
  117. tion programs the best for  the     fol-
  118. lowing reasons:                   (3)    An easy    way to compare the rela-
  119.                         tive overall system's processing
  120. (1)  The benchmark did not contain  a        effectiveness between systems.
  121.      workload  that  provided an ade-
  122.      quate simulation of a Unix     mul-       (4)    A method of relating application
  123.      tiuser application    environment.        requirements  to  the  benchmark
  124.                         results.
  125. (2)  The   benchmark   ignored      the
  126.      system's    ability      to  overlap        This  benchmark     is  being  made
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                      - 2 -
  137.  
  138.  
  139. available free to the Unix community.       as    video  displays,  terminals  and
  140.                        printers.
  141. _D_e_f_i_n_i_n_g _P_e_r_f_o_r_m_a_n_c_e
  142.                        _O_v_e_r_l_a_p_p_e_d _O_p_e_r_a_t_i_o_n_s
  143.      Whether  buying   computers   or
  144. using  them,  one of the qualities of        In a multiuser Unix system there
  145. major  importance   is     performance.       are    many  user processes or    programs
  146. Since  performance  may     be  inadver-       executing at     the  same  time.   This
  147. tently confused    with other attributes       type     of  processing     allows     the I/O
  148. of  a computer system it is useful to       processing of some user  programs  to
  149. describe performance as    it applies to       be overlapped with the CPU processing
  150. computers and other mechanisms.           of other user programs.   The  result
  151.                        of  overlapping  the     I/O  operations
  152.      Performance may be    described  as       with    CPU operations    depends     on  the
  153. the  result  of    carrying out a set of       amount of intelligence built    into the
  154. actions    in a specific environment  to       I/O processors.
  155. satisfy     an  objective    or  goal.  In
  156. track and field    each event has a dif-        An intelligent serial  I/O  sub-
  157. ferent    environment  and goal and the       system  may    handle    interrupts  from
  158. results    may be running a distance  in       multiple  on-line  users,  provide  a
  159. some  amount  of  time    or jumping so       slave  serial  I/O  processor, handle
  160. many  feet.    In   performance      the       buffering for both input  and  output
  161. results       of     carrying   out      the       and    may  even  execute  parts of the
  162. prescribed set of actions is  usually       Unix    kernel's tty code.  Besides pro-
  163. described   in    terms  of  measurable       viding  overlapped  serial I/O opera-
  164. quantities.                   tions for the terminals and    printers
  165.                        with     the  main  CPU     processing, the
  166.      There are two main    results     that       intelligent serial I/O subsystem  may
  167. are  important    to  measure in a Unix       also     greatly  reduce  the  amount of
  168. based computer system: responsiveness       processing required by the main  CPU.
  169. and throughput.     Responsiveness    meas-       The reason for this reduction is that
  170. ures the system's ability to  respond       functions or    processing that     use  to
  171. to  a  work request in a given amount       be  done by the main    CPU are    now done
  172. of  time.   Throughput    measures  the       by the serial I/O subsystem.
  173. total amount of    work performed over a
  174. given period of    time.  The work    on  a        An  intelligent     disk  subsystem
  175. computer   system   consists  of  the       will     have one or more disk controll-
  176. actions    of  electronic    and  electro-       ers and disk    drives and may also have
  177. mechanical  processing.      Performance       a  slave processor.    The disk subsys-
  178. results    are often measured by execut-       tem handles the control of  the  disk
  179. ing  a    given  workload    and measuring       drive operations, handles interrupts,
  180. the time spent processing the work.       handles buffering and provides a high
  181.                        speed DMA data transfer in and out of
  182. _F_u_n_c_t_i_o_n_a_l_i_t_y                   main    memory.     If a slave processor is
  183.                        available  it  may be used to execute
  184.      A computer    has three major    areas       some    of the Unix  kernel  file  code.
  185. of   functionality  that  a  workload       Intelligent    disk  subsystems provide
  186. should contain.      The  first  is  the       overlapped operations with  the  main
  187. processing  by the central processing       CPU    and also reduces the load on the
  188. unit (CPU) where all the calculations       main    processor.  In some disk subsys-
  189. are performed; the second is the disk       tems,  operations  on  separate  disk
  190. subsystem where    the  computer  stores       drives can also  be    overlapped  with
  191. data  files;  the third    is serial I/O       each     other    producing  a much higher
  192. subsystem which    controls  such    items       effective transfer rate for the  disk
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                      - 3 -
  203.  
  204.  
  205. subsystem.                   overall   user   environment.    This
  206.                        approach  is      often      not    feasible
  207. _O_v_e_r_l_a_p_p_e_d _P_e_r_f_o_r_m_a_n_c_e               because  the     set  of applications do
  208.                        not exist or    it would take  too  much
  209.      The effects of overlapped opera-       manpower to port the    application pro-
  210. tions are extremely important to com-       grams to run    on each    computer  system
  211. puter system performance.  This    point       being  evaluated.   Also  it    may take
  212. is illustrated by the following    exam-       too much time to execute a large  set
  213. ple.  Assume a workload    is  developed       of  applications  on    a number of com-
  214. that contains 100 seconds of CPU pro-       puter systems.
  215. cessing, 100  seconds  of  disk     file
  216. processing  and    100 seconds of termi-       _P_o_r_t_a_b_l_e _B_e_n_c_h_m_a_r_k_s
  217. nal I/O    processing on computer system
  218. A  and    also  on  computer  system B.        For the    reasons    just given port-
  219. System A has intelligent disk and tty       able     benchmarks  that  are    easy  to
  220. subsystems  which  can overlap opera-       obtain and execute  in  a  relatively
  221. tions with  the     main  CPU  and     each       short  period  of time are often used
  222. other  and system A also supports the       to simulate the  application     program
  223. common Unix multiuser  mode.   There-       environment.     These benchmarks should
  224. fore  system  A    can execute the    work-       measure the results needed in perfor-
  225. load in    100 seconds.  Although system       mance evaluation.  The most important
  226. B  has    the  same CPU power it cannot       results that    should be  provided  are
  227. overlap     I/O  operations.   System  B       measurements       of    throughput   and
  228. will take 300 seconds of real time to       responsiveness.
  229. execute    the workload.  For the    work-
  230. load  described     system     A  is    three        A well designed    general     purpose
  231. times more powerful than system    B  in       benchmark  used to simulate the work-
  232. that  it  will have a throughput rate       load    of the Unix application    environ-
  233. three  times  that   of      system   B.       ment      should   have      the  following
  234. Another    way of putting it is that for       features:
  235. a fixed    amount of time system A     will
  236. accomplish  three  times as much work       (1)    A broad    weighted  mix  of  basic
  237. as system B.                    CPU  operations     used  with dif-
  238.                         ferent data referencing    modes.
  239.      Although    the    example      was
  240. developed  to  illustrate  a point, a       (2)    A number of user processes  exe-
  241. typical    unix workload contains a sig-        cuting in a multiprocess mode.
  242. nificant  amount  of  disk and serial
  243. I/O  and  the  overlapping  of    these       (3)    Terminal I/O taking place with a
  244. operations  by    the hardware/software        number    of terminals at    the same
  245. can make a substantial improvement in        time.
  246. performance.
  247.                        (4)    Disk I/O  taking  place     with  a
  248. _A_p_p_l_i_c_a_t_i_o_n _B_e_n_c_h_m_a_r_k_s                number    of  files scattered over
  249.                         the disk drive surface to  cause
  250.      A sound approach  to  evaluating        head  movement.      The  benchmark
  251. the  performance  of various computer        should have the    ability     to  use
  252. systems    is to take the application or        multiple disk drives.
  253. sets  of  application  programs     that
  254. make up    the user environment and exe-       (5)    Results     that  can  provide   an
  255. cute  them on each computer system to        accurate measure of the    computer
  256. be evaluated.  It is  most  important        system's ability to execute work
  257. that  the set of application programs        over time.  The    workload produc-
  258. be  truly   representative   of      the        ing the    results     should     contain
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                      - 4 -
  269.  
  270.  
  271.      all the processing    operations on       (3)    The tty    test only  involves  one
  272.      the system    so the system's    abil-        or  two     terminals.   The use of
  273.      ity  to  overlap operations will        multiple tty lines all active at
  274.      be    taken into account.            the  same  time     represents  the
  275.                         actual user environment    and  its
  276. (6)  Benchmark    should    be   portable        need  can best be illustrated by
  277.      across various Unix systems.        an  example.   Assume  the   tty
  278.                         peripheral controller can handle
  279. _E_v_a_l_u_a_t_i_n_g _E_x_i_s_t_i_n_g _B_e_n_c_h_m_a_r_k_s            3200 characters    per second total
  280.                         on output and it is connected to
  281.      Before developing a  new  bench-        8 tty lines at 9600 baud.  For a
  282. mark an    evaluation of existing avail-        single    user  the tty controller
  283. able benchmarks    was  performed.      The        can maintain 960 characters  per
  284. benchmarks  are     of  two  types.  The        second    to  that  user terminal.
  285. first type evaluates the time to per-        However, for  8     heavily  active
  286. form  a     set  of  some    simple    basic        users  the  tty     controller  can
  287. operations such     as  add  integer  by        only maintain an average of only
  288. placing     each operation    in a loop and        400  characters     per  second per
  289. measuring the time  to    complete  the        tty line.  For certain workloads
  290. loop.    The  second type of benchmark        this  limitation will affect the
  291. consists of one    or more    programs that        overall    throughput of  the  com-
  292. are  designed to be appropriate    for a        puter system.
  293. benchmark.  These  programs  are  run
  294. and  the time to execute the programs       (4)    The disk test consists of  read-
  295. is measured.                    ing,  writing and copying a sin-
  296.                         gle file.  In a     multiuser  Unix
  297.      The AIM Benchmark Suite II    is  a        environment a number of    separate
  298. well  known  benchmark    of  the    first        file disk I/O requests are  made
  299. type used to evaluate  Unix  computer        which    are  scattered    randomly
  300. system's  performance (see Vol 11 No.        over  the  disk     drive    surface.
  301. 3 Page 89 for an example).  Given the        This sequence of random    disk I/O
  302. objectives  of    providing an accurate        requests  requires   significant
  303. estimate of throughput or responsive-        disk head movement.
  304. ness through the simulation of a Unix
  305. multiuser   application      environment       (5)    Unix computer systems are  often
  306. this benchmark did not meet our    goals        purchased   with  multiple  disk
  307. for the    following reasons:            drives.     It is therefore  neces-
  308.                         sary  to  be  able to include in
  309. (1)  The benchmark failed to  include        the  benchmark     multiple   disk
  310.      the  basic     operations  for com-        requests  at  the  same    time for
  311.      parisons,     logical,   bit      and        all the    disk drives in the  sys-
  312.      branch   operations  which     find        tem.   It is important to evalu-
  313.      significant  use  in  the     Unix        ate  the  system  in  this  mode
  314.      environment.                because    it more    accurately simu-
  315.                         lates  the   user   environment.
  316. (2)  The benchmark uses    mostly regis-        Many systems are able to overlap
  317.      ter   variables.     Where     data        some disk I/O operations between
  318.      references     across     the  various        drives    as well    as with    the main
  319.      basic   operations,   such      as,        CPU.  The AIM benchmark    did  not
  320.      automatic,    static,     pointer  and        provide    this capability.
  321.      array  references    are  commonly
  322.      used in  the  Unix     environment.       (6)    There is no way    to correlate the
  323.      Array referencing is included as        point  system  used  by     the AIM
  324.      a separate    test.                benchmark   in      a    multiuser
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                      - 5 -
  335.  
  336.  
  337.      environment  with    throughput or        Because       responsiveness    and
  338.      responsiveness.  The  AIM    point       throughput are both very much related
  339.      system  cannot take into account       to a     computer  system's  ability  to
  340.      the overlapped operations of tty       process work    the relationship between
  341.      and  disk    I/O and    the reduction       the    two   was   investigated.    The
  342.      in    the main CPU processing     time       results  of this investigation showed
  343.      due  to the intelligent I/O pro-       that    a  20%    increase  in  throughput
  344.      cessors.  Even a  simple  floppy       would   provide   a    20%  or     greater
  345.      disk   controller     can  overlap       improvement in  response  time.   How
  346.      operations    with the main CPU.       much    greater    than 20% the improvement
  347.                        in response time would be depends  on
  348.      Although the AIM Benchmark    Suite       the    ratio  of the time to process an
  349. II was developed to execute in a sin-       interactive user request to the aver-
  350. gle user mode it has been used exten-       age    user  think  time.  If the think
  351. sively    to  evaluate  multiuser     Unix       time    goes  to  zero,     throughput  and
  352. systems.    For      our    purposes   of       responsiveness  vary     the  same  from
  353. evaluating Unix    multiuser systems the       system to system for     a  given  work-
  354. AIM benchmark  does  not  provide  an       load.
  355. adequate  simulation of    the Unix user
  356. environment,  and  second,  does  not        In an  interactive  system  like
  357. provide     an  accurate  measure of the       Unix     the  user  think  time    tends to
  358. Unix  computer    system's  ability  to       create idle time on the various  sys-
  359. process    work.                   tem    components.  Given that    the user
  360.                        is not a part of the    computer  system
  361.      The AIM benchmark    does  provide       that     is  to    be purchased, throughput
  362. information  that  is quite useful in       is really the  best    measure     of  the
  363. tuning unix systems. This information       computer  system's ability to process
  364. can  best be used (and is) by organi-       work.  For the  reasons  just  stated
  365. zations    marketing Unix computer     sys-       the    benchmark measures throughput as
  366. tems  who  are    able  to  modify  the       a result of    executing  a  particular
  367. hardware and unix software to improve       workload.
  368. performance.
  369.                        _T_h_e _S_y_s_t_e_m _C_h_a_r_a_c_t_e_r_i_z_a_t_i_o_n _B_e_n_c_h_m_a_r_k
  370.      The Dhrystone is another  bench-
  371. mark  which  provides  a  good mix of        The purpose of the benchmark  is
  372. statement types, operators  and     data       to  compare    Unix  systems  on  their
  373. reference  types but it    does not pro-       ability to do work (throughput) using
  374. vide any  I/O  operations  which  are       a  simulated     Unix multiuser    environ-
  375. needed for the multiple    tty lines and       ment    with multiple tty lines,  multi-
  376. multiple disk drives used by the Unix       ple    disk drives and    one or more main
  377. multiuser environment.               processors.    For  a    fair  comparison
  378.                        each     computer  system should execute
  379. _T_h_r_o_u_g_h_p_u_t _V_s. _R_e_s_p_o_n_s_i_v_e_n_e_s_s           the    same  workload    with  the   same
  380.                        number  of  tty  lines  and    the same
  381.      In    the development    of the bench-       number of disk drives.
  382. mark  a     decision  had    to be made to
  383. measure    throughput or responsiveness.        The application    requirements for
  384. Although  response  time  is  a     very       a  computer    system will vary in each
  385. important performance measure  in  an       environment such as word  processing,
  386. interactive  Unix multiuser system it       accounting,     graphics,   data   base
  387. requires the use of a remote terminal       management, spread  sheet,  compilers
  388. emulator   computer  to     provide  tty       and     scientific  computations.   For
  389. inputs to obtain repeatable results.       this    reason the benchmark (SCB)  exe-
  390.                        cutes a number of different workloads
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                      - 6 -
  401.  
  402.  
  403. each with  a  different     mix  of  I/O        The first part of the  SCB  con-
  404. operations.  Because of    the many dif-       sists  of  executing     three    programs
  405. ferent workloads used by  the  bench-       crun, drun and trun    to  produce  the
  406. mark,  it is more of a system charac-       report  shown  in Figure 1 that shows
  407. terization than    a  single  benchmark.       the effective capabilities of the one
  408. For  this  reason  the    benchmark  is       or more main    CPU , the disk subsystem
  409. called    the  System  Characterization       and the tty subsystems respectively.
  410. Benchmark (SCB).
  411.                         The purpose of crun is to obtain
  412.      The  SCB    has   the   following       the    relative processing power of the
  413. characteristics:               one or more main CPUs.  The crun pro-
  414.                        gram    also provides for multiprocessor
  415. (1)  The  SCB    measures   the     rate       systems an estimate of the  ratio  of
  416.      (throughput)   at     which    fixed       the    multiprocessor's throughput to a
  417.      units of work can be executed in       single  processor's    throughput.   If
  418.      a unit of time (minutes).           there  is  only one CPU this    ratio is
  419.                        one.
  420. (2)  The SCB takes into     account  the
  421.      effects of    all overlapped opera-        The  crun  code     consists  of  a
  422.      tions  executed   in   parallel,       weighted  mix  of basic operations on
  423.      including    multiple main proces-       various  types  of  data  references.
  424.      sor units,    if they    exist.           The    frequency  of  execution  of the
  425.                        basic operations involving  the  dif-
  426. (3)  The SCB  simulates     a  multiuser       ferent  types  of data references are
  427.      Unix   application      environment       weighted  according    to  an    internal
  428.      with                   unpublished    compiler  study     of Unix
  429.                        based C code.  Detail information  on
  430.      (a)  A broad mix of main proces-       the mix of operations and data refer-
  431.       sor    operations  and     data       ences is contained in the  SCB  docu-
  432.       references               mentation.    The  time to execute the
  433.                        crun    code is     measured  and    used  to
  434.      (b)  Multiple  tty     lines     with       determine  the user CPU time    per work
  435.       terminals               unit    process.
  436.  
  437.      (c)  Multiple disk     drives     each        In setting up the SCB each  disk
  438.       with    its  own  set of data       drive  specified  by    the user has 200
  439.       files                   files of 20K    bytes each placed on it.
  440.                        In the execution of drun the    user may
  441. (4)  The SCB consists of 50 different       specify the percent of  files  to  be
  442.      runs to provide a system charac-       read     and written on    each disk drive.
  443.      terization    that will  cover  the       The disk program  drun  produces  the
  444.      many    different      application       information    on the disk subsystem in
  445.      environments.               the subsystem report    by  reading  and
  446.                        writing file    blocks randomly    over the
  447. (5)  The SCB provides graphical     out-       different disk drive    surfaces  speci-
  448.      put  for  a  quick     analysis and       fied.
  449.      comparisons  on  the  basis   of
  450.      throughput.                The serial I/O subsystem is usu-
  451.                        ally     made up of one    or more    tty con-
  452. (6)  The SCB provides information  on       trollers where  each     tty  controller
  453.      the  effective rates of the main       handles   a     fixed     number     of  tty
  454.      central processing     unit  (CPU),       lines/terminals.  The tty  controller
  455.      the  disk    subsystem and the tty       typically  can  handle  some     maximum
  456.      subsystem.                   level of characters    per  second  for
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                      - 8 -
  467.  
  468.  
  469. tty   output  and  input  across  all       cuted  per  minute are calculated for
  470. lines.    The information    in  the     sub-       each    of the 50 runs and  the     results
  471. system    report is obtained by writing       are presented in a graphical    form.
  472. 32 character lines to all  tty    ports
  473. as  fast  as  the tty controllers can       _T_h_e _R_e_s_u_l_t_s _O_f _T_h_e _S_C_B _B_e_n_c_h_m_a_r_k
  474. handle them.
  475.                         The results of executing the SCB
  476.      The second    part of    the SCB     con-       are    presented  in the graphical form
  477. sists  of 50 separate runs controlled       shown in Figure  2.     The  left  axis
  478. by a shell script.  Each run is     made       represents  the  number of work units
  479. up  of    200  work  units.   The     user       that     can  be  executed  per      minute
  480. processes execute 8 or    some  setable       (throughput).  The bottom axis is the
  481. multiuser level    at a time.  Each work       number of disk requests in a    unit  of
  482. unit consists of the  following     com-       work    process.
  483. ponents.
  484.                         The letters on the graph (A B  C
  485. (1)  The execution of a    copy of     xrun       E  F)  represent the    different levels
  486.      code  with     a CPU user time pro-       of tty line writes contained    in  each
  487.      portional to the  system's     crun       work    unit process.
  488.      time.
  489.                        Letter     Number    of tty
  490. (2)  A given number of 1K disk    block             line writes
  491.      reads and writes.
  492.                           A             0
  493. (3)  A given number of    32  character          B            30
  494.      line    writes    to    a      tty          C            60
  495.      line/terminal.                  D            90
  496.                           E               120
  497.      Each work unit  process  in  the
  498. run  is     identical.  The disk and tty
  499. requests are equally  spaced  in  the
  500. CPU  user  time     to provide more con-        The graphical results  are  pro-
  501. sistent    and repeatable results.     Each       duced on a 130 column printer and the
  502. work  unit  has     its  own unique disk       border on the graphical report  is  8
  503. read file and write file.   The     disk       1/2"     x  11"    so that    it may be placed
  504. files  are  preassigned     to each work       into    reports    when desired.
  505. unit at    random.     A work    unit  process
  506. has a unique tty line during its exe-        There are 50 points on    a  graph
  507. cution.     On completion the  tty     line       each     specified  by    a  letter.  Each
  508. is  given  to the next work unit pro-       point represents the    throughput  rate
  509. cess started.                   in work units per minute.  Each point
  510.                        is determined by executing  200  work
  511.      The 50  runs  made     by  a    shell       unit     processes  each  with a unit of
  512. script    uses  all the combinations of       CPU user processing and the number of
  513. the following disk and tty levels:       disk     and  tty  requests specified on
  514.                        the graph.
  515.      disk blocks 0, 4, 8, 12, 16, 20,
  516.      24, 28, 32, 36                The SCB    results    show how a  com-
  517.                        puter system    performs under a variety
  518.      tty lines    0, 30, 60, 90, 120       of loads.  On moving    to the right  on
  519.                        the    graph,    the  effect of executing
  520.      The disk operations are  divided       more    disk requests  is  indicated  by
  521. evenly    between     reads    and writes of       the    steepness  of  the curve towards
  522. existing files.     The work units     exe-       the bottom axis.   The  more     limited
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                      - 10 -
  533.  
  534.  
  535. the  disk subsystem in capability the       track  tape you need    to send    one with
  536. steeper    the  downward  slope  to  the       your    request.  The set up and  opera-
  537. right.     The  different     letters show       tion    is described in    the help file on
  538. the effect of increasing the tty load       the media.  Once a simple config file
  539. per work unit process.    The more lim-       is set up, two shell    scripts    that are
  540. ited the tty subsystem in  capability       provided handle the rest.
  541. the  greater  the  downward  distance
  542. between     the  curves  of   the     same       _R_e_l_a_t_i_n_g _U_s_e_r _A_p_p_l_i_c_a_t_i_o_n _T_o    _T_h_e _S_C_B
  543. letter.      Point     A  next  to the left
  544. axis shows the    system's  ability  to        Using the ratio    graph  system  A
  545. execute     CPU  user processing with no       can    now  be     compared  with    system B
  546. I/O.                       across a broad mix of different work-
  547.                        loads.    However  system  A     may  be
  548.      Facilities    are also provided for       better than system B     (ratio     greater
  549. comparing two different    computer sys-       than    one) over certain regions of the
  550. tems  by  taking  the  ratio  of  the       graph and worse than    system B  (ratio
  551. throughputs  of     all  50  points  and       less     than  one)  on    other regions of
  552. graphing the results shown in  Figure       the graph.  For this    reason users may
  553. 3.  The    left axis shows    the ratio and       wish     to  identify  the region of the
  554. the bottom axis    and the    letters    (A  B       SCB graph for their typical    applica-
  555. C  E  F)  are  the  same as Figure 2.       tions.
  556. This graph shows  in  which  area  or
  557. areas  (main CPU, tty, disk) one sys-        To  obtain  information     on  the
  558. tem is superior    to the other.  Ratios       application,     execute the application
  559. greater     than one show an increase in       with    the  unix  timex  command.   The
  560. capability in percent above  one  and       timex command with the o option gives
  561. ratios    less than one show less    capa-       the CPU user    time, the  total  number
  562. bility in percent under    one.           of blocks read or written to    disk and
  563.                        the total characters     transferred  to
  564.      The  ratio     graph    of  Figure  3       the     terminals.   Divide  the  total
  565. shows  machine    A is superior in han-       number of CPU user seconds into total
  566. dling disk requests.  Machine B    has a       disk    blocks read and    written    and into
  567. cpu/compiler speed that    is about five       the total characters     transferred  to
  568. percent    faster.     The two machines are       the terminal.  This gives two quanti-
  569. equivalent   in     handling  tty    write       ties: the number  of     disk  transfers
  570. requests.                   per    second    of user    CPU time and the
  571.                        number of tty characters  transferred
  572. _O_b_t_a_i_n_i_n_g _A_n_d _R_u_n_n_i_n_g _T_h_e _S_C_B           per second of user CPU time.
  573.  
  574.      The  software  for     the   system        These  two  quantities    can   be
  575. characterization  benchmark (SCB) may       related  to    a  location  on     the SCB
  576. be obtained free on  IBM  PC  or  NCR       graphs.  First obtain  the  user  CPU
  577. Tower  compatible  floppy from NCR by       time     per work unit process by taking
  578. writing    on company letterhead to:       it from the subsystem report    and cal-
  579.                        ling     this quantity C.  Multiply C by
  580.                        the    number    of  disk  requests   per
  581.     SCB Distribution           second  of  user  CPU  time    from the
  582.     NCR Corporation               application.     This gives  the  number
  583.     3325 Platt Springs Road           of  disk  requests on the bottom axis
  584.     West Columbia, SC  29169       of the SCB graphs.  Next  multiply  C
  585.     Attention: Ms. Darlene Amick       times   the     number      of  characters
  586.                        transferred per second  of  user  CPU
  587.                        time     from the application divided by
  588.      If    you wish the software on nine       32 giving the number    of tty lines  on
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                      - 12 -
  599.  
  600.  
  601. the  SCB  graphs.  Having related the       processing  effectiveness.     Because
  602. application to a location on the  SCB       the    processing  effectiveness varies
  603. graphs    the  relative performance for       with    the nature of the  workload  the
  604. the application    can now    be  estimated       SCB     estimates   performance  for  a
  605. for every system on which the SCB was       number of different workloads.   Pro-
  606. run.  The run time for    the  applica-       viding  workloads  with  various  I/O
  607. tion on    a new system can be estimated       levels is an    important  part     of  the
  608. by multiplying the run    time  on  the       SCB    design because many Unix systems
  609. old  system  by     the ratio on the SCB       are I/O intensive.  For a  number  of
  610. ratio graph at the application point.       applications     I/O turns out to be the
  611.                        limiting   factor   that   determines
  612.      The Unix timex command may     also       throughput.
  613. be  used  to  execute  shell commands
  614. which means whole  sets     of  applica-        The SCB     provides  a  reasonable
  615. tions  may be related to locations on       approximation  to  a     multiuser  Unix
  616. the SCB    graphs.     Using the SCB    ratio       application environment, provides  an
  617. graphs    the  percent  improvement  in       easy    way to compare the relative pro-
  618. throughput can    be  estimated  for  a       cessing effectiveness between systems
  619. number    of  new    systems    for different       and    provides  a  method of narrowing
  620. types of applications.     These    esti-       performance estimates to  specific or
  621. mates  can  be    obtained  without the       sets    of application programs.
  622. need to    port any of  the  application
  623. programs.                    The SCB    is easy    to  set     up  and
  624.                        run    and  it    provides a comprehensive
  625. _C_o_n_c_l_u_s_i_o_n_s                   and accurate    benchmark.
  626.  
  627.      By    the very nature    of benchmarks       _A_c_k_n_o_w_l_e_d_g_m_e_n_t
  628. they are an approximation of the user
  629. application environment.  While    there        I wish to  thank  Myron     Merritt
  630. are many different benchmarks measur-       for    his many hours of discussion and
  631. ing various elements of    Unix computer       his ideas used in the development  of
  632. systems,  a decision to    buy a certain       the    system    characterization  bench-
  633. computer  should  be  based  on      the       mark.
  634. system's  ability to handle the    work-
  635. load in    the form  of  electronic  and
  636. electro-mechanical  processing.      The
  637. time to    perform    an  integer  add   or
  638. read  a     single     disk  file is useful
  639. information but    is certainly not suf-
  640. ficient     information  to  base a com-
  641. puter purchase on.
  642.  
  643.      The problem with gathering    a lot
  644. of  details  on    Unix computer systems
  645. in the form of specifications and the
  646. results    of running various benchmarks
  647. is that    it is extremely    difficult, if
  648. not   impossible,   because   of  the
  649. system's internal complexity to    accu-
  650. rately    relate    this information to a
  651. single measure of  processing  effec-
  652. tiveness.   The     SCB  uses the system
  653. itself    to  relate  all     the  various
  654. operations and provide one measure of
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.