Re: Question regarding the IEEE floating point format used in RFC 363 0

Don Fedyk <dwfedyk@NORTELNETWORKS.COM> Thu, 29 July 2004 15:50 UTC

Received: from cherry.ease.lsoft.com (cherry.ease.lsoft.com [209.119.0.109]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA19834 for <ospf-archive@LISTS.IETF.ORG>; Thu, 29 Jul 2004 11:50:57 -0400 (EDT)
Received: from vms.dc.lsoft.com (209.119.0.2) by cherry.ease.lsoft.com (LSMTP for Digital Unix v1.1b) with SMTP id <5.00E2DAA5@cherry.ease.lsoft.com>; Thu, 29 Jul 2004 11:50:56 -0400
Received: from PEACH.EASE.LSOFT.COM by PEACH.EASE.LSOFT.COM (LISTSERV-TCP/IP release 1.8e) with spool id 28145019 for OSPF@PEACH.EASE.LSOFT.COM; Thu, 29 Jul 2004 11:50:54 -0400
Received: from 47.140.192.55 by WALNUT.EASE.LSOFT.COM (SMTPL release 1.0i) with TCP; Thu, 29 Jul 2004 11:50:54 -0400
Received: from zrtpd0jn.us.nortel.com (zrtpd0jn.us.nortel.com [47.140.202.35]) by zrtps0kn.nortelnetworks.com (Switch-2.2.6/Switch-2.2.0) with ESMTP id i6TForm06784 for <OSPF@PEACH.EASE.LSOFT.COM>; Thu, 29 Jul 2004 11:50:53 -0400 (EDT)
Received: by zrtpd0jn.us.nortel.com with Internet Mail Service (5.5.2653.19) id <MXHTH59S>; Thu, 29 Jul 2004 11:50:54 -0400
X-Mailer: Internet Mail Service (5.5.2653.19)
Message-ID: <085091CB2CA14E4B8B163FFC37C84E9DC3F168@zcarhxm0.corp.nortel.com>
Date: Thu, 29 Jul 2004 11:50:46 -0400
Reply-To: Mailing List <OSPF@PEACH.EASE.LSOFT.COM>
Sender: Mailing List <OSPF@PEACH.EASE.LSOFT.COM>
From: Don Fedyk <dwfedyk@NORTELNETWORKS.COM>
Subject: Re: Question regarding the IEEE floating point format used in RFC 363 0
To: OSPF@PEACH.EASE.LSOFT.COM
Precedence: list

Hi Jens

I'm sure this was discussed some time in the past. I recall a solution was
to round up when you do the initial conversion from a integer value to
Floating point for Bandwidth objects (not the requests but the available
bandwidth).  Like other have said real accuracy is not required and floating
point is more future proof. The only test that must work in TE is that X
must fit into Y and you don't want Y to have lost resolution such that the
test fails.

I fail to see the need to increase accuracy for this purpose.

Don


> -----Original Message-----
> From: Nelke, Jens [mailto:jens.nelke@KEYMILE.COM]
> Sent: Thursday, July 29, 2004 7:42 AM
> To: OSPF@PEACH.EASE.LSOFT.COM
> Subject: Question regarding the IEEE floating point format
> used in RFC 363 0
>
>
> Hi everybody,
>
> I have some questions on the IEEE floating point format. The
> format contains a mantissa of 23 Bits. As I understood the
> floating point format is calculated by using the 23 Bits
> beginning with the most significant Bit of a value together
> with an appropriate exponent. All values which can be stored
> within the 23 Bits (0x7FFFFF->) will be precise, larger
> values may lead to rounding errors. Let me show you an
> example for unreserved bandwidth of what I mean:
>
> Gigabit Ethernet Interface -> 1000000000 Bits/s -> 125000000
> Bytes/s -> 0x7735940 Bytes/s this value fits into the 23 Bit
> long mantissa.
>
> On this interface a 1 MBit/s LSP is established:
>
> 1 MBit/s -> 1000000 Bits/s -> 125000 Bytes/s -> 0x1E848 Bytes/s
>
> After establishing the LSP the unreserved bandwidth would be:
>
> Unreserved Bandwidth -> 124875000 Bytes/s -> 0x77170F8
> Bytes/s we would need a mantissa of 24 Bits to represent this
> value correct. Because we only have 23 Bits available the
> value stored in the floating point format would be:
>
> 0x77170F0 Bytes/s -> 124874992 Bytes/s
>
> This value would be passed to all other OSPF-TE routers in
> the network and would lead to a wrong picture of the
> bandwidth available.
>
> Does anybody know if during the standardization process this
> fact was taken into concern? And how large the bandwidth
> changes were estimated to be, am I thinking to small ;-)?
>
> The second problem with the IEEE floating point format is the
> maximum size of the interface. Future networks will contain
> not just 100 MBit and Gigabit interfaces but also be 10 or
> 100 Gigabit interfaces. Even 10 Gigabit interfaces cannot be
> used correctly with the current format. Example:
>
> 10 Gigabit interface -> 10000000000 Bits/s -> 1250000000
> Bytes/s -> 0x4A817C80 Bytes/s this leads to 24 Bits being
> needed to represent this value. A neighbor would see the
> following unreserved bandwidth:
>
> 0x4A817C00 Bytes/s -> 1249999872 Bytes/s -> 9999998976 Bits/s
>
> This problem is the same as shown above and leads to errors
> during bandwidth calculation.
>
> Why weren't the values stored in unsigned long with the units
> Kilobits/s if I remember correct this kind of encoding is
> used in some of the MPLS TE MIBs.
>
> Is there currently any work done on this issue?
>
> I know that some of the problems can be reduced by using
> rounding calculations, but the nicer solution in my opinion
> would be to use kilobits per second as a unit for the
> bandwith stored in a 32 Bit value.
>
> Regards
>
> Jens
>
> --------------------------------------------------------------
> --------------
> ----------------
> Dipl.-Ing. Jens Nelke             KEYMILE GmbH
> Entwicklung                         Wohlenbergstr. 3, 30179 Hannover
> --------------------------------------------------------------
> --------------
> ----------------
> Phone:   +49 511 978197-657
> Fax:  +49 511 978197-671       < mailto:jens.nelke@keymile.com
> <mailto:jens.nelke@keymile.com> >
> < http://keymile.com/ <http://keymile.com/> >
> --------------------------------------------------------------
> --------------
> ----------------
>