From owner-freebsd-hackers Mon Mar 5 1:31:55 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from evil.blunt.yi.org (ip-216-23-55-190.adsl.one.net [216.23.55.190]) by hub.freebsd.org (Postfix) with ESMTP id 725FD37B718; Mon, 5 Mar 2001 01:31:49 -0800 (PST) (envelope-from cokane@evil.blunt.yi.org) Received: (from cokane@localhost) by evil.blunt.yi.org (8.11.3/8.11.2) id f259hhU25740; Mon, 5 Mar 2001 04:43:43 -0500 (EST) (envelope-from cokane) Date: Mon, 5 Mar 2001 04:43:42 -0500 From: Coleman Kane To: Matt Dillon Cc: Coleman Kane , freebsd-hackers@FreeBSD.ORG Subject: Re: Machines are getting too damn fast Message-ID: <20010305044342.A23879@cokane.yi.org> References: <200103040934.f249YHi27877@earth.backplane.com> <20010304230342.A3870@cokane.yi.org> <200103050512.f255CoB32923@earth.backplane.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="X1bOJ3K7DJ5YkBrT" X-Mailer: Mutt 1.0.1i In-Reply-To: <200103050512.f255CoB32923@earth.backplane.com>; from dillon@earth.backplane.com on Sun, Mar 04, 2001 at 09:12:50PM -0800 X-Vim: vim:tw=70:ts=4:sw=4 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --X1bOJ3K7DJ5YkBrT Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable I believe DDR still has it bead (PC2100 that is), Rambus serailizes all wri= tes to 32 bit or 16 bit (an even 8 bit) depending on the modules. I haven't see= n any 64bit RIMMs. Also, DDR scales higher (up to 333Mhz I think). Just wait for that. I've pretty much given up on RamBus, I saw back in '96 when they talk= ed about how great it would be. I thought it was crap back then. The idea is t= hat it can queue 28 mem ops, where SDRAM can only do like 4. Typical environmen= ts typically don't do the writes that it looks good on, jsut certain special c= ases. That's where you get into the fact that RamBus sucks for use in PCs. Too specialized. Too proprietary. Matt Dillon had the audacity to say: >=20 >=20 > :You should see what speed RamBus they were using, 600 or 800 Mhz. It is > :pretty fast for large memory writes and reads. It'd be cool to see how > :the different speeds stack up against one another. DDR comparisons would > :be cool too. Yeah, for the frequency, you have to take into account that > :these are different chips than your PIII or Athlons and the performance > :difference is not simply a linear relation to the frequency rating > :(i.e.: 1.3Ghz is not really over one-billion instructions per second, > :just clocks per second). We installed Linux at a UC Free OS User Group > :installfest here in cincinnati, it was pretty sweet. The machine was a > :Dell and the case was freakin' huge. It also came with a 21" monitor and > :stuff. The performace was really good, but not really any better than I > :hads gleaned from the newer 1Ghz Athlons or PIII's. >=20 > It says 800 MHz (PC-800 RIMMs) on the side of the box. >=20 > The technical reviews basically say that bulk transfer rates for > RamBus blow DDR away, but DDR wins for random reads and writes > due to RamBus's higher startup latency. I don't have any DDR > systems to test but I can devise a test program. >=20 > Celeron 650 MHz (HP desktop) (DIMM) > 16.16 MBytes/sec (copy) >=20 > Pentium III 550 MHz (Dell 2400) (DIMM) > 25.90 MBytes/sec (copy) >=20 > Pentium 4 1.3 GHz / PC-800 RIMMs (Sony VAIO) > 32.38 MBytes/sec (copy) >=20 >=20 > -Matt >=20 > Compile -O2, changing the two occurances of '512' to '4' will reproduce > the original bulk-transfer rates. By default this program tests=20 > single-transfer (always cache miss). >=20 > #include > #include > #include > #include > #include > #include >=20 > #define NLOOP 100 >=20 > char Buf1[2 * 1024 * 1024]; > char Buf2[2 * 1024 * 1024]; >=20 > int deltausecs(struct timeval *tv1, struct timeval *tv2); >=20 > int > main(int ac, char **av) > { > int i; > double dtime; > struct timeval tv1; > struct timeval tv2; >=20 > memset(Buf1, 1, sizeof(Buf1)); > for (i =3D 0; i < 10; ++i) > bcopy(Buf1, Buf2, sizeof(Buf1)); >=20 > gettimeofday(&tv1, NULL); > for (i =3D 0; i < NLOOP; ++i) { > int j; > int k; > for (k =3D sizeof(int); k <=3D 512; k +=3D sizeof(int)) { > for (j =3D sizeof(Buf1) - k; j >=3D 0; j -=3D 512) > *(int *)(Buf2 + j) =3D *(int *)(Buf1 + j); > } > } > gettimeofday(&tv2, NULL); >=20 > dtime =3D (double)deltausecs(&tv1, &tv2); > printf("%6.2f MBytes/sec (copy)\n", (double)sizeof(Buf1) * NLOOP / dt= ime); > return(0); > } >=20 > int > deltausecs(struct timeval *tv1, struct timeval *tv2) > { > int usec; >=20 > usec =3D (tv2->tv_usec + 1000000 - tv1->tv_usec); > usec +=3D (tv2->tv_sec - tv1->tv_sec - 1) * 1000000; > return(usec); > } >=20 --X1bOJ3K7DJ5YkBrT Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE6o1/OERViMObJ880RAb3oAKDAV97F1VIw5Ts0bohDoUqgFFxrRwCg51Vt kbhtSIxE/Hlm7t1USZTpWjs= =EAS4 -----END PGP SIGNATURE----- --X1bOJ3K7DJ5YkBrT-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message