home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1229 / scbdoc
Encoding:
Text File  |  1990-12-28  |  25.8 KB  |  686 lines

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