home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / windows / x / pex / 509 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  5.6 KB

  1. Xref: sparky comp.windows.x.pex:509 comp.graphics:9279 comp.sys.sgi:13058
  2. Newsgroups: comp.windows.x.pex,comp.graphics,comp.sys.sgi
  3. Path: sparky!uunet!nntp1.radiomail.net!fernwood!shograf!jimb
  4. From: jimb@shograf.com (Jim battle)
  5. Subject: PEX data reformatting issue (was: Future development of PEX/PHIGS)
  6. Reply-To: jimb@shograf.UUCP (Jim battle)
  7. Organization: SHOgraphics
  8. Date: Sun, 30 Aug 1992 11:30:52 GMT
  9. Message-ID: <1992Aug30.113052.9729@shograf.com>
  10. Keywords: PEX, OpenGL
  11. References: <5818@m1.cs.man.ac.uk> <or5vc3k@fido.asd.sgi.com> <1992Aug24.190727.19006@shograf.com> <p1f880s@fido.asd.sgi.com>
  12. Sender: Jim Battle
  13. Lines: 99
  14.  
  15. Concerning the OpenGL vs PEX data reformatting issue, I'd like to reply
  16. to some of Allen Akin's responses to an earlier posting I'd done, which
  17. was in response to a posting of his ...
  18.  
  19. I (jimb@shograf.com) said:
  20. |                                                       If you spend
  21. | 2us per vertex (to make up a juicy number) calculating forces, spending
  22. | another 25ns to perform an extra write to memory to build the data
  23. | structure that PEX wants and another 25ns to read the data item,
  24. | is insignificant (4%).
  25. ...
  26. | Looking at the wide variety of prices, performances, and
  27. | price/performances on the market, I don't think that this issue
  28. | will affect things enough to make or break anyone.
  29.  
  30. Allen Akin (akin@sgi.com) said:
  31. | Your question implies that you want to move to a more realistic level
  32. | of detail for the tetrahedral mesh example.  To do so, I'd want to know
  33. | a few more pieces of information.  25ns for a write all the way through
  34. | to main memory seems low to me; are you assuming RAMBUS or synchronous
  35. | DRAM technology?  What are their access cycles like for random and
  36. | sequential addresses?  How about overhead cycles to acquire and release
  37. | the main memory bus, and to fill the other words in a cache line?
  38. ...
  39. (sample program to test real system bus copy bandwidth)
  40. ...
  41. | When I run this on my R3000 Indigo, it reports "14.0M B/s".
  42.  
  43. I took your program and modified it to get rid of the timer stuff, since
  44. as a terminal we don't have UNIX-style timer commands.  I also had to
  45. increase the NITERATIONS constant to 500 get a better timing.  Anyway,
  46. our machine (i860 based) measured a copy bandwidth of 52.6 MB/s (gross
  47. bandwidth of > 100MB/s).  Theoretically, the i860XR's bus bandwidth is
  48. 160MB/s at 40MHz.  We have no external cache, only the internal 8K data
  49. and 4K instruction caches.
  50.  
  51. I realize that what you are talking about is a client problem, and as
  52. a terminal maker we can't do anything to address that, but I'm sure
  53. that if we lost our minds and put out a major software effort we could
  54. just as well be a UNIX box (or you could strip the disk drive and all the
  55. UNIX out of an Indigo), so I'll put forth my comment anyway.
  56.  
  57. I feel that the 3.75x system bus bandwidth difference between a
  58. ShoGraphics PEXStation and an SGI Indigo would make a bigger difference
  59. in system performance than having a funky user-accessible DMA capability.
  60. I agree with you that for some cases the OpenGL approach is a significant
  61. win for a specific machine, but I remain unconvinced that it matters that
  62. much in general.
  63.  
  64.  
  65. As to your specific comments and questions:
  66.  
  67. | 25ns for a write all the way through to main memory seems low to me
  68.  
  69. In our case, the 105MB/s rate would imply that we it takes about 40ns
  70. to write a long (32-bit) value.  This is true if all you are doing is
  71. writing longs out to memory.  If you are actually doing some calculation
  72. to produce your vertex information, the processor can post the write in
  73. 25ns and get on with life.  (If conditions are right, a single instruction
  74. can push 16 bytes out to the memory interface in 25ns concurrent with
  75. another internal instruction.) With luck, the write has been processed
  76. by the time the next vertex is ready to be written out.  Likewise, reads
  77. on an i860 bus are pipelined and more than one request can be outstanding.
  78.  
  79. | are you assuming RAMBUS or synchronous DRAM technology?
  80.  
  81. No, we just use the 64-bit i860 interface to ordinary DRAM.
  82.  
  83. Note that Intel makes a 50MHz i860XP processor; not only is the basic
  84. bus cycle time faster by 25%, but it supports a burst-mode interface,
  85. allowing 8-byte transfers to occur on every clock cycle (instead of
  86. every other cycle on the i860XR).  The theoretical bus bandwidth of a
  87. 50MHz i860XP is 400MB/s.
  88.  
  89.  
  90. Allen Akin (akin@sgi.com) said in the same article:
  91. | Even after we settle on these details, it may still turn out that, for
  92. | the given example on a given machine, data reformatting is a small
  93. | percentage of total cycles.  That's true for some cases, and past
  94. | experience indicates that it has been false in others.  (See comments
  95. | above.)  Since this uncertainty exists, why not choose a 3D graphics
  96. | interface that allows you to reduce bus bandwidth requirements in the
  97. | cases where that results in performance or price improvement?
  98.  
  99. I guess political reasons.  As you know, when DEC started the process of
  100. creating PEX, there was no such thing as OpenGL.  If OpenGL had actually
  101. existed a year ago I'd bet that we'd be shipping OpenGL terminals today.
  102. But that didn't happen until DEC/E&S/IBM/Sun/HP/Convex and a handful
  103. of other companies decided to make PEX the open graphics standard.  I
  104. don't think it was a coincidence that SGI announced OpenGL when it did.
  105.  
  106. Another reason is sample implementation PEX server source code requires
  107. only ftp accesses.  To get (admittedly much more complete, yet still
  108. probably not commercially viable) OpenGL server source code you need
  109. to license it from SGI for $100K.
  110.  
  111.  
  112. Thanks for your response; sorry if I've mangled the content of your
  113. arguments by excerpting it this way.
  114.